Object Oriented Analysis and Design (OOAD)
Object Oriented Analysis and Design (OOAD)
Object Oriented Analysis and Design (OOAD)
Lecture 1
Introduction
1
Object Oriented Analysis and Design
(OOAD)
Lecture 1
2
Contents
3
Overview of the Module
“Summary” from the module descriptor :
8
Teaching Material
All Material will be on Black board
• Module Notes (Part A and B ):
- will be made available
• Powerpoint Slides
- will be uploaded
9
Assessments:
• Coursework 50%
– Practical Group-Based Assignment
• Exam 50%
– Duration 2 Hrs
10
Plagiarism and Collusion !!!!!!!!
Do NOT do it !!!!!!
11
Coursework
• Group based assignment
12
Coursework
Coursework
– get yourself into groups (3 or 4 students)
– one student from group will email me with list of group
members
• I will reply with a unique group number
• This MUST be done AS SOON AS POSSIBLE
13
Literature
3
Literature
15
textbooks
Other useful books
Schaum’s Outlines – UML; Bennett, Skelton & Lunn, McGraw-Hill (2005) second edition
ISBN 0-07-710741-1
• Bennet, Skelton & Lunn (2005), Schaum's Outlines - UML, 2nd Ed, McGraw-Hill [ISBN
0-07-710741-1]
• Perdita Stevens (2006), Using UML: Software Engineering With Objects And
Components, 2nd Ed, Addison Wesley [ISBN 0-321-26967-5]
• Martin Fowler (2006), UML Distilled: A Brief Guide To The Standard Object Modelling
Language, 3rd Ed, Addison Wesley [ISBN 0-321-19368-7]
• Dennis, Wixom and Tegarden (2005), Systems Analysis And Design With UML Version
2.0 An Object-Oriented Approach, 2nd Ed, Addison Wesley [ISBN 90-471-65920-7]
16
From the Overview of the Module
17
What is the Software Process?
• It is the cornerstone of successful software
engineering
• It is the Life Cycle that the software goes through from
conception to retirement
– A set of activities that covers the complete life span
of a piece of software
– Activities commence when the software is
envisaged, through its development stage
– Continuing through its operational lifetime
– Until it is finally ‘retired’
– Life cycle model links these activities
18
Main life cycle Models
19
The Waterfall Model
1. Analysis
2. Design
3. Coding
4. Testing
5. Maintenance
25
Systems analysis :
– to understand what the system must do.
Systems design:
– to specify/plan how the components are
configured to provide the solution.
26
Systems Analysis
• Systems Analysis consists of those activities that
enable a person to UNDERSTAND and SPECIFY
what the new system should accomplish.
28
Different Scenarios
Scenario 1.
– Current System is a ‘manual’ Paper-based System (e.g.
Library using files/forms)
– Requires a new ‘computerised’ software system
Scenario 2.
– Customer would like a new software system
• no existing system
Scenario 3.
– Customer would like a new software system
• based on an existing system
29
Systems Analysis activities
1. Gather detailed information
2. Define requirements
3. Prioritize requirements
4. Develop user-interface dialogues
5. Evaluate requirements with users
30
1. Gather Detailed Information
31
Information-Gathering Techniques
32
2. Define Requirements
The analyst uses information gathered from users and
documents to define requirements for the new system.
• functional requirements
– the activities that the system must perform (i.e., the
business uses to which the system will be applied).
Non-functional Requirements :
Categories Examples
Usability User interface, ease of use
Reliability Failure rate, recovery methods
Performance Response time, throughput
Security Access controls, encryption
Implementation Development tools, protocols
Physical Size, weight, power consumption.
Installation and updates
34
3. Prioritize Requirements
35
4. Develop User-Interface Dialogues
36
5. Evaluate Requirements with Users
38
39
System Modelling
• UML@Classroom
• Chapter 1
41
Models and Modelling
• Modelling is an important part of analysis and design.
43
The UML (Unified Modelling Language)
• Unified Modeling Language (UML) is a standardized general-
purpose modelling language in the field of software engineering.
• They put aside their own methods and notations to end the
OO method wars
45
Brief History of UML
• For several years UML maintained by OMG (Object
Management Group) revision task force which produced
versions 1.3, 1.4, and 1.5 from 2000 to 2003
47
UML
• UML offers a standard way to write system’s blueprints,
including conceptual things such as business processes
and system functions as well as concrete things such as
programming language statements, database
schemas, and reusable software components
49
Object Oriented Analysis and Design
(using Patterns )
• Topological UML : Chapter 2.2.3
50
Object Oriented Analysis and Design
(using Patterns )
• Operations of a class are addressed as responsibilities of
this class.
51
Object Oriented Analysis and Design
(using Patterns )
• A responsibility is not the same concept as an operation,
but operations are implemented to fulfil assigned
responsibilities.
Architecture
Model
Requirement
s Solution Code
Model Model
Design
Model
For each of the models (boxes), the UML has its own models and
diagrams.
This Module will deal with the UML modelling of the Analysis
(Requirements) Model and the Design Model.
The order in which the module deals with these UML models will be the
order that an analyst might when analysing and designing a system.
UML
UML diagrams represent two different views:
54
Note : Same Diagrams in later versions ( 2.4.1 and 2.5) 55
UML
In this module – we will only cover the following diagrams in
detail :
Class
Object
Encapsulation
Messages
Inheritance
Polymorphism
57
REMINDER
58