Java程序辅导

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

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
1COMP5028
Object Oriented Analysis & Design
Week 1: Overview of UML and the 
Modelling Process
Course Outline
• Analysis and Design activities in software 
development
– Some requirements
– Some implementation and test
• Unified Modelling Language (UML)
– Some Unified Process (UP)
– Some Java
• Not about depth in programming
Core Outcomes
• Identify how a system interacts with its 
environment
• Identify appropriate objects, attributes, methods
• Identify relationships between objects
• Write object interfaces, exception handling
• Implement and test objects
• Read and write UML diagrams
Assumptions
• 1 semester OO programming course or 
equivalent experience
• Java experience equivalent to a 1 semester 
course
• Some elementary design experience (e.g. 
student group project)
• You have read and understood the Academic 
Dishonesty rules
Schedule
• Lectures Fridays 6-8pm
• Tutorial/Lab Friday 8-9pm (not week 1)
• 1st half of semester deals with analysis
– Some requirements
• 2nd half of semester deals with design
– Some implementation and test
• See Unit of Study Outline for details
Assessments
• Assignment 1 – analysis
– 20%, due beginning of week 7 lab
• Assignment 2 – design and implementation
– 20%, due beginning of week 12 lab
– Demo implementation in lab
• Written exam, 60%
• Late work not accepted unless special 
consideration
2Resources
• Textbook: Arlow & Neustadt
• Secondary book: Wirfs-Brock & McKean
• Web: www.it.usyd.edu.au/~comp5028
• Software: Rational Rose
• Lots of other UML resources on web, in 
bookstores
Administration
• Lecturer/Coordinator:
Raj Nagappan, nagappan@it.usyd.edu.au
Madsen G82A
Hours: Fri 5-6pm or by appt, please make an appt
• Tutors (you will meet in lab next week)
• Postgrad coursework coordinator: 
Jon Gray, Madsen G74B
• Problems: tutor Æ Raj Æ Jon
COMP5028
Object Oriented Analysis & Design
Overview of UML
About Objects
• Classes
• Objects
• Members
• Superclass and subclass
• Interface and implementation
• Method invocation
• States
UML
• Unified Modelling Language
• Designed primarily for OO software
– Can be used for other purposes
• Language, not a Process or Methodology
– Set of building blocks
– Unified Process (UP) is a corresponding process
– Any other process ok too
History of UML
• Pre 1994: Booch, Rumbaugh, Jacobson, others
• 1994: Fusion (Coleman) of earlier work
• 1995: UML work begins
• 1997: UML becomes a standard
• Post 1997: UML becomes dominant standard
3Purpose of UML
• Unify previous modelling work
• Become an open industry standard
• Model object oriented systems
– Static structure, e.g. class diagram
– Dynamic behaviour, e.g. use case diagram
• Works with variety of languages
– Java, C++, C#, Smalltalk, etc
Benefits of UML
• Standard notation
• Systems level design
• Abstractions, e.g. design patterns
• Design across different systems, languages
• Systems level documentation
UML Structure
• Building blocks – elements, relationships, 
diagrams
• Common mechanisms – ways of doing things
• Architecture – the system architecture
• A system is one model, many views
Building Blocks (1)
• Things
– Structural e.g. class, interface, component, node
– Behavioural e.g. interactions, state machines
– Grouping e.g. packages
– Annotational e.g. notes
• Relationships e.g. association, generalisation
Building Blocks (2)
• Diagrams (9)
– Static – class diagram, component diagram, 
deployment diagram
– Dynamic – object diagram, use case diagram, 
sequence diagram, collaboration diagram, statechart 
diagram, activity diagram
Common Mechanisms
• Specifications: “meat of the model” = text 
model behind the diagrams
• Adornments: rendering of properties
• Common divisions
– Classifier e.g. classes vs. Instance e.g. objects
– Interface vs. Implementation
• Extensibility
– Constraints, stereotypes, tagged values
4Example: Swing
JList
MyHTMLList
DefaultListModel
Views – diagrams
Model – common
mechanisms
Each diagram shows different aspects, for different purposes
Architecture
• Use case view
– Use case diagram, interaction diagram
• Logical view
– Class diagram, statechart diagram, object diagram
• Process view
– Class diagram, object diagram
• Implementation view
– Component diagram
• Deployment view
– Deployment diagram
COMP5028
Object Oriented Analysis & Design
Unified Process
UP
• Unified Process
• A Process model to accompany the UML language
• Iterative and incremental
• Not at all like the waterfall approach
• Other processes available, e.g. extreme programming, 
agile software development
• Not as standard as UML
• We won’t dwell on it much
History of UP
• 1967: Jacobson begins work on process
• 1987: Jacobson founds Objectory AB
• 1995: Rational acquires Objectory, fuses 
together their own process work with it
• (1997: UML becomes standard)
• 1998: Rational creates RUP
• 1999: Unified Software Development Process 
(UP) launched
UP Structure
• Project has several phases
– Inception
– Elaboration
– Construction
– Transition
• Each phase has one or more iterations
• Each iteration has five workflows
• We only cover the iteration (workflows) in this course
5UP Iteration
• Requirements
• Analysis
• Design
• Implementation
• Test
Hence we arrive at Object Oriented Analysis and Design!
Final Comments
• Next week we start on the first workflow –
requirements
• No labs this week
• Refresh your knowledge of OO programming concepts
• Refresh your knowledge of Java syntax (for later in the 
semester)
• Take care going home, Redfern is not safe at night