Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
INFO2110 Sem2 2009
1
Copyright warning
 
COMMONWEALTH OF AUSTRALIA 
 
Copyright Regulations 1969 
 
WARNING 
 
 This material has been reproduced and communicated to 
 you by or on behalf of the University of Sydney 
 pursuant to Part VB of the Copyright Act 1968 (the 
 Act ). 
 
 The material in this communication may be subject 
 to copyright under the Act. Any further copying or 
 communication of this material by you may be the 
 subject of copyright  protection under 
 the Act. 
 
Do not remove this notice.  
 
 
INFO2110
Systems Analysis and Modelling
Lecture 01
Semester 2 2009
Based on slides by Alan Fekete, Uwe Roehm, and Simon Poon; also includes
material provided for Dennis, Wixom, & Tegarden Systems Analysis and Design with
UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc.  All rights reserved.
Overview
• What is “Systems Analysis and Modelling”
• Goals for INFO2110
• Systems Development Lifecycle
• Administrivia
“Systems Analysis”
• Systems analysis is an activity that occurs
with software development lifecycle
• Systems analyst is a job title for an IT
professional who is skilled in this activity
– Especially in large development teams,
different activities may be done mostly by
different people
Systems
• Computer-based systems
– Collections of programs that support essential
activities
• Used by various stakeholders
– We focus here on information systems
– Systems that use and maintain the store of valuable
data that describes the situation in an organization
• Integrated into the organization’s business practice
– Organization might be a business (various sizes), or a
government department, or a voluntary group, etc
• Not always driven by money!
Other sorts of systems
• Real-time systems
– Developed with notations etc we teach, plus
extras for scheduling and deadlines
• Embedded systems
– Developed with notations etc we teach, plus
extras for physical components
INFO2110 Sem2 2009
2
Analysis
• In general usage “an investigation of the
component parts of a whole and their relations in
making up the whole”
– www.cogcsi.princeton.edu/cgi-bin/webwn
• Investigate system requirements, and their
structure, and capture understanding in models
– Especially identify the processes that should happen
– And identify the data that the software needs to store
• Present these in analysis documents
– Using particular notations
Notations
• Analyst often uses notations to express
ideas about the system
– For communication with others (both clients
and developers)
– To draw attention to ambiguities
– To manage the large amount of information
• Diagrams are especially helpful
– In Systems Analysis, there are several
complementary notations
Example
• Notation forces one to
think about issues like
–  can we have an employee
who works in more than
one department?
– can we have an employee
who doesn’t work in any
department?
– Can we have a department
with no employees working
in it?
Employee
Department
WorksIn
It’s very bad to design a system 
that incorrectly builds in particular restrictions;
If you realise there is an issue, you can check
with stakeholders
1
0..*
Tools
• Microsoft Visio has predefined shapes for
many notations including many diagrams
from UML
– Installed in the PC labs
• Some tools (eg IBM Rational Rose) can do
“round trip engineering”: extract diagrams
to represent existing software, and/or
produce software skeleton from diagrams
INFO2110 Objectives
• To introduce the students to concepts and techniques in
the development of some complex information systems
• To provide students with a practical understanding of the
critical importance of analysis and modelling of
requirements
• To provide students with a practical understanding of the
importance of IS development within the IT industry
• To provide students with conceptual and practical
elements so they can develop a view and an opinion on
IS development methodologies
• To inform students of contemporary challenges in the
practice of IS modelling and development
INFO2110 Outcomes
• Detailed list is in unit handout
• Professionalism
• Ability to work with analysis documents
– Know the notations
– Answer questions about a model, identify
inconsistencies, convert between representations
– Evaluate given models
– Produce models
• Experience of the whole analysis process
• Project management and planning documents
and issues
INFO2110 Sem2 2009
3
INFO2110 in IT Curriculum
• Compulsory unit for BCST, BIT, BAI,
BE(Software) degrees
• This leads to many 3000-level units, especially
the projects
• Assumed knowledge: tertiary study of IT (so you
know general concepts, including programming
process), and in particular awareness of some
model for data (relational tables, classes with
fields, etc)
– But programming mastery is not required
Systems Development Lifecycle
• SDLC
– The way to produce (or modify) an information system
for an organization
– There are always several sorts of activities done in
the lifecycle
• Planning
• Analysis
• Design
• Implementation
– Different methodologies arrange these differently in
time
Planning
• Deciding why a system needs to be built
• Managing the process of building it
– Resources
– Scheduling
– Control
Analysis
• Understanding what the system should be
doing
– Detailed requirements
– Descriptions of the functions, the behavior,
the data
Design
• How the system will be constituted
– Structure of the software
– Detailed description of the main components
– Relationship to hardware
Implementation
• Produce the system
– Write code
– Test it
– Deploy it
INFO2110 Sem2 2009
4
Different SD Methodologies
• A system development methodology describes
the pattern (in time) of doing the different
activities
– How/when to move from one activity to another
– How much is included in each stage
– What deliverables are created in each stage
• It also chooses particular notations for the
deliverables, and ways of working in each
activity
Structured Design
Waterfall
Development
PowerPoint
Presenta3on
for
Dennis,
Wixom,
&
Tegarden
Systems
Analysis
and
Design
with
UML,
3rd
Edi9on
Copyright
©
2009
John
Wiley
&
Sons,
Inc.

All
rights
reserved.
Rapid Application Development
Phased
Development
PowerPoint
Presenta3on
for
Dennis,
Wixom,
&
Tegarden
Systems
Analysis
and
Design
with
UML,
3rd
Edi9on
Copyright
©
2009
John
Wiley
&
Sons,
Inc.

All
rights
reserved.
Agile Development
Extreme
Programming
PowerPoint
Presenta3on
for
Dennis,
Wixom,
&
Tegarden
Systems
Analysis
and
Design
with
UML,
3rd
Edi9on
Copyright
©
2009
John
Wiley
&
Sons,
Inc.

All
rights
reserved.
The Unified Process
PowerPoint
Presenta3on
for
Dennis,
Wixom,
&
Tegarden
Systems
Analysis
and
Design
with
UML,
3rd
Edi9on
Copyright
©
2009
John
Wiley
&
Sons,
Inc.

All
rights
reserved.
OO Approach
• Traditional systems analysis used “structured”
approach
– Particular notations for behavior (process) and data
model in the analysis and design activities
– Not related easily to implementation
• In last decade or so, the state-of-practice has
shifted to “object oriented analysis and design”
– Very smooth transition to implementation
INFO2110 Sem2 2009
5
Object-oriented programming
• A new approach to programming was started in
1967
– First provided in language Simula, by Ole-JohanDahl
and Kristen Nygaard (Turing award 2001)
– Power shown by language/system Smalltalk, by Alan
Kay (Turing award 2003)
• This approach became very popular in the
1980s, through use of C++
– Allowed easy transition for C programmers
– But many of them never learned good OO thinking!
• Spread even further in 1990s, with rise of Java
especially for internet-based systems
This is not in the textbook!
Key ideas
• Program text is made up of separate
modules, each describing some data and
the associated operations which modify
that data
• Modules are related by “inheritance” to
allow code reuse
This is not in the textbook!
OO Analysis
• From mid 1980s, researchers and practitioners proposed
to introduce analysis and design methods specially
suited to eventual development in OO languages
– Key insight: the ideas in the software structure can also be used
to represent the domain which the software was dealing with
– Thus, one can work more uniformly through the lifecycle, with a
common notation and worldview
• This may improve productivity of OO SDLC
• In mid 1990s, several competing OOA methodologies
were converged in the UML
• In the 2000s, this became the common practice in IT
industry for analysis
UML
• Unified Modeling Language
– A set of diagram notations for several different
models
• Many complicated rules governing the diagrams
• Reference manual is 100s of pages long!
– Notations embody the key best ideas of OOA
– Notations have become a standard for CASE
tools
• Some revisions to give UML 2; main aspects final
from 2004
UML in INFO2110
• We use UML 2 notations in class, and you
must use them in your work
• Knowing the notations is vital for
communication
– Between members of the IT team
– These notations are graphical, and seem to
work reasonably well with stakeholders too
Administrivia
• See handout: unit of study outline
– Also at www.ug.it.usyd.edu.au/~info2110
• All School of IT policies apply
www.it.usyd.edu.au/current_students/undergrad/index.shtml
– Especially the links under “policies” tab
• Eg Special Consideration
• Eg Academic Honesty
INFO2110 Sem2 2009
6
People
• Unit coordinator (contact for all issues of marks,
deadlines, questions about organisation or
content)
– Dr Berhard Scholz (scholz@it.usyd.edu.au)
– Office hr: 2pm, Tuesdays, in SIT rm 411
• Lecturers:
– Dr Fekete, Dr Scholz, guests
• SIT Ugrad Director (appeals etc)
– Dr Josiah Poon (josiah@it.usyd.edu.au)
• Faculty of Eng & IT office, for special
consideration applications
– Link building
Resources
• Textbook
– Systems Analysis & Design with UML 2 (3rd ed)
– By Dennis, Wixom and Tegarden
– Available in SciTech library, special reserve
– Read designated pages each week
• Handouts
– www.ug.it.usyd.edu.au/~info2110
– instructions for each weeks tute and lab
– Read them before the class!
Weekly Activities
• One lecture, lasts two hours
• One hour of Tutorial (starts in week 2!)
• One hours of Laboratory (starts in week 2!)
• Plus about 8 hrs of private work
– Textbook reading
– Practice on exercises
– Preparation for labs and tutes
– More work on analysis assignments
• Total: 12 hrs/wk of work
Lectures
• Fridays 9am to 11am
• Presentation of content
– To help you focus your textbook reading on the key
issues
– Another viewpoint
– Presentation overheads usually posted on UoS web
site
• Class will also include active-learning activities
and “role-model” demonstrations by staff
– These will not be on web site, so come to class!
Tutorial
• One hour per week, as timetabled
– On Thursdays or Fridays
– Start in week 2
• Discuss exercises
– Sometimes from the textbook
– Good practice for the exam!
• Guidance and feedback from a tutor
Laboratory
• One hour each week, as timetabled
•  Held in a PC lab
– On Tuesdays
– Start in week 2
• Mostly devoted to the main group assignments
• Tutor will sometimes be present
– Eg provide formative assessment following progress
report for analysis assignments (wk 4, 10)
• In weeks 6 and 7, groups give oral presentation
(assessed as part of assignment 1)
• In week 8, a quiz will take place (assessed)
INFO2110 Sem2 2009
7
Assessment
• Analysis Assignment 1: 15 marks
• Analysis Assignment 2: 15 marks
• Quiz: 10 marks
• Written Exam: 60 marks
Analysis Assignment 1
• Do requirements for a small problem
– Based on information from written description,
listening to an interview of the “client”, asking
questions on a message board
– Done in a team (all from the same lab session)
• Team is formed in week 2 lab
• Progress report for formative feedback (0 marks)
in week 4 lab, oral presentation in week 6 or 7
lab, final requirements document due in week 7
• Worth 15 marks (shared equally among group)
Analysis Assignment 2
• Do analysis models (functional, structural,
behavioral) for the same problem
– Same group as in Asst1
• Progress report for formative feedback (0
marks) in week 10 lab, final analysis
models document due in week 11
• Worth 15 marks (shared equally among
group)
Quiz
• Exam-style questions under exam conditions
• Several short answer or multi-choice questions, on
factual knowledge or understanding of notation
– Eg “what is the meaning of this”
– Eg “create a diagram to say this”
– Eg “how would you indicate this on the diagram”
– Eg “what inconsistencies are there between these”
– Eg “convert this to another notation”
– Eg “what assumptions did the modeller make, that are not in the
textual description”
• Also, one question to create models of some aspects of
a system from written description
• In scheduled lab, week 8
• Worth 10 marks
Applying for Special Consideration
• In case of Illness or Misadventure
– you can apply for special consideration
– the application has to be lodged with the faculty as soon as possible
• The first thing you do should be
– Let the coordinator know (best by email and while still sick)
– Submit your assignment if/when possible
– Go to a Professional Practitioner and get them to fill in the particular
university certificate (not just a usual medical certificate)
– Then lodge the application for special consideration
• No special consideration for missing out a few days or being on holiday etc.
– time management is your responsibility!
• If you attend the exam, you won’t be allowed any marks adjustment or resit
because of illness
– So, if you are unwell at the time of the exam, apply for special
consideration for missing the exam
– If you become ill during the exam, speak to the invigilators who can
arrange for you to go to the Uni Health Service
Exam
• 2 hours duration
• At least 40% will be: straightforward tasks with
notations and documents, similar to short-
answer quiz questions
• At least 25% will be: produce analysis from
system description, similar to assignments and
longer question on quiz
• To pass the unit,
– You must get at least 40% on the exam!
– And, you must get at least 40% on the prac
– And, you must get at least 50% overall
INFO2110 Sem2 2009
8
Communications
• Usyd eLearning used to show you progressive
marks from practical assessments
– You must check these regularly, as any errors must
be reported within ten days from being posted
• Usyd eLearning used for message board to
discuss system project with “client”
• www.ug.it.usyd.edu.au/~info2110 used to post
handouts (eg tute and lab tasks),
announcements
– You must check this regularly
Enrichment
• For students who are high achievers and want to
be extended
• Extra material on models that allow tools that
support reasoning
– Based on logic and mathematics
– Presented in a session; time to be decided to suit as
many interested people as possible
• If you are interested, please email Dr Scholz
(scholz@it.usyd.edu.au) and indicate available
times
Studying Systems Analysis
• The key is to “have your mind in gear”
• Imagine people using the system
– imagine their activities in detail
• Learn from experience
– Think about mistakes (yours and others)
– Watch for common patterns
• Be flexible, not dogmatic
– There are many possible models, some better
than others
Warning
• Most common causes of poor results in
info2110 is
– Focus on software, and ignore the
stakeholders
– Think too technically, rather than holistically
– Expect black or white, clear-cut answers
Summary
• What is systems analysis
• Where systems analysis fits into SDLC
• Administrivia (details in handout)
• Read Dennis et al, Chapter 1