What we learnt so far -
Introduction to Object Oriented
Analysis, Design and Introduction to Software engineering
Unified Modeling Language (UML) Software life-cycle
Software design principles
Object Oriented concepts
Shanika Karunasekera Object Oriented software
implementation with JAVA
What ‘s next?
1 2
What’s next - Problem Statement
MelbX, a famous Australian University, has committed to a new
Object Oriented Analysis registration system for the students, employees and academic staff. The
university would like to keep records for each type of university member
Determine what to do in a centralized filing system. They would like to implement the system
Extract Objects (modules) using the latest software development technologies. The system should
be able to support the following high level requirements.
Object Oriented Design
1. Keep records for all university members.
Determine how to build 2. Capability to add new records to the system.
Unified Modeling Language (UML) 3. Capability to edit specific records.
4. Capability to enrol/ unenrol students in subjects.
Is a modeling language for documenting OO 5. Capability to assign/ unassign course to staff.
Analysis and Design. 6. Capability to add/ modify/ list prerequisites for a course.
3 4
Analysis, Design and Implementation
Solving the Problem
Step 1 - Write Requirements for the system
Proper analysis and design (modeling)
Should be clearly written and unambiguous prior to implementation results in a high
Should be implementable quality product.
Should be testable
Is not a part of this course
Successful projects spend most time on
Step 2 – Analysis, Design (Modeling) analysis, less on design and even less
You will be learning in this section….. time on implementation.
Step 3 – Implementation
You already know….. Analysis Design I mplementation
5 6
Object Oriented Modeling Processes Phases Rational Unified Process
Rational Unified Process (RUP) – also called the
Inception
Unified Process.
Identify the system, what it contains and the
Most widely used modeling process business case - Analysis
Introduced by Ivar Jacobson, Gary Booch and Jim
Elaboration
Rumbaugh
Perform the detailed design for the system - Design
Other Object Oriented Modeling Processes
Construction
Object Oriented Software Process (OOSP)
Write Software
OPEN Process (www.open.org.au)
Transition
ICONIX Unified Modeling (www.iconixsw.com)
Deliver to users.
7 8
Introduction to UML UML History
1994 – Grady Booch and Jim Rumbaugh
I s a graphical modeling language that started at Rational creating the new notation
Grandy Booch – Booch Method
can be used represent the artifacts of
Jim Rumbaugh – Object Modeling Technique
analysis and design.
1995 – Ivar Jacobson Joined the team
Object-Oriented Software Engineering
I t is a standard that has international
First Version of UML – 0.8
support.
1995 Object Management Group (OMG)
Was developed by Rational Software – agreed to make UML the standard
Grady Booch, Jim Rumbaugh and Ivar
1996 – Additional companies got involved.
Jacobson
Current version of UML is 2.0
9 10
UML – Building Blocks UML - Elements
Circle CircleA:Circle <<interface>>
TypeWriter
centreX:Int centreX:Int
Elements (Things) centreY:Int= 0 centreY:Int= 0
draw() draw()
e.g. classes, interfaces etc move(Int X, Int Y) move(Int X, Int Y) keyStroke()
Relationships Class Object I nterface
e.g. association, generalization
Borrow Shapes
Diagrams
Use- case
e.g. class diagrams, use case diagrams Component
Actor
11 12
UML - Relationships UML - Diagrams
Dependency
Structural Diagrams
Visualize, specify, construct and document
the STATIC aspects of the system.
Association
Behavioral Diagrams
Generalization Visualize, specify, construct and document
the DYNAMIC aspects of the system.
Realization
13 14
UML– Diagrams – cont.. UML– Diagrams - Notes
Class Diagram shows a set of classes, interfaces and
Structural Behavioral their relationships.
Use case Diagram
Class Diagram Object Diagram shows a set of objects and their
Sequence Diagram relationships.
Object Diagram
Collaboration Diagram Component Diagram shows the organization and
Component Diagram dependencies among a set of of components.
Statechart Diagram
Deployment Diagram Deployment Diagram shows the configuration of run
Activity Diagram time processing nodes.
15 16
UML– Diagrams - Notes Life Cycle Phase Diagrams
Use Case Diagram shows use cases, actors and their
relationships.
Requirements
Sequence Diagram shows the interaction between
actors and objects and other objects of the system in Object Oriented Analysis
ordered based on the time they occur.
Collaboration Diagram shows the structural Object Oriented Design
organization of the objects that send and receive
messages.
Development
Statechart Diagram shows a state machine Deployment
consisting of states, transitions an events.
Activity Diagram used to analyze the bahaviour
within more complex use-cases.
17 18
Analysis Diagrams Design Diagrams
Activity UML Diagram
Activity UML Diagram
Identify Interactions Sequence and
Understand Use-case Diagram among objects Collaboration Diagram
System Usage
Analyze State State Diagram
Define Workflows Activity Diagram Changes
Refine Class Class Diagram
Identify Classes High Level Class Diagrams
Diagram
19 20
UML Modeling Tools Reference
Rational Rose
Reference : UML A Beginner’s Guide
Provides complete UML support - Jason T. Roff
As many useful capabilities
Provides complete object management
Visio
Many other free tool are available on the
web –
Be careful since some of them don’t allow printing.
Pen and Paper
21 22