Professional Documents
Culture Documents
2
it's a framework for software development in which
development proceeds sequentially through a series of phases,
starting with system requirements analysis and leading up to
product release & maintenance.
Feedback loops exist between each phase, so that as new
information is uncovered or problems are discovered, it is
possible to "go back" a phase and make appropriate
modification.
3
System
Engineering
Requirement
Analysis
Design
Construction
Testing
5
System
Engineering
High Level
Requirement
Architectural
Analysis
Specification
Design
Construction
Testing
Installation
Maintenance
System
Engineering
Requirement
Analysis
✓ Requirements
Specification
✓ Functional
Design
Specification
✓ Acceptance Test
Specifications Construction
Testing
Installation
Maintenance
System
Engineering
Requirement
Analysis
Design
✓ Software architecture
specification
✓ System test specification Construction
✓ Design specification
✓ Sub-system test
specification Testing
✓ Unit test specification
Installation
Maintenance
System
Engineering
Requirement
Analysis
Design
Construction
Program Code
Testing
Installation
Maintenance
System
Engineering
Requirement
Analysis
Design
Construction
Testing
✓ Unit test report
✓ Sub-system test report
✓ System test report
✓ Acceptance test report Installation
✓ Completed system
Maintenance
System
Engineering
Requirement
Analysis
Design
Construction
Testing
Installation
Installed
System
Maintenance
System
Engineering
Requirement
Analysis
Design
Construction
Testing
✓ Change Installation
requests
✓ Change
request report Maintenance
Tasks in phases may be assigned to specialized teams.
Project progress evaluated at the end of each phase.
Manage projects with high levels of risks. The emphasis on
requirements and design before writing a single line of code ensures
minimal wastage of time and effort and reduces the risk of schedule
slippage, or of customer expectations not being met.
The staged development cycle enforces discipline: every phase has a
defined start and end point, and progress can be conclusively identified
.
13
Real projects rarely follow such a simple
sequential life cycle.
Develop Iteratively
20
Review Questions: Waterfall Lifecycle Stages
System Requirement
Maintenance Testing Engineering Design Construction Analysis installation
Chapter 2 USDP
Unified Process (UP) is a generic software development process for OO analysis &
design.
USDP builds by Jacobson, Booch & Rumbaugh (1991) which is a team that created
UML.
This approach describes the key concepts, the core workflows and the overall
management required for the development of generic software development
processes.
Embodies best practice in system development.
Adopts an iterative & incremental approach with 4 main phases.
Different tasks are captured in a series of workflows.
22
UNIFIED SOFTWARE DEVELOPMENT PROCESS (USDP)
23
BACS2053
Chapter 2 USDP
OOAD
Describes:
✓key concepts
✓core workflows
✓overall management
24
BACS2053
Chapter 2 USDP
OOAD
25
BACS2053
Chapter 2 USDP
OOAD
Project Phases
1 2 3 4 5 6 7 8
Requirements
Workflows
Analysis
Iteration within
Design
a phase
Implementation
Test
Time
26
27
Best Practices
Iterative and incremental development
➢ major requirements → add more functionalities, use prototyping
➢ break the project into small subprojects (the iterations) that delivers system
functionality in increments, leading to a fully functional system.
Component-based development
– built component by component gradually
Requirements-driven development
– users involvement extensive, clear user requirements.
28
Best Practices
Configurability
➢ many releases → need version control mechanism
Architecture-centrism
➢ Structure the system into packages, components, deployment.
29
Milestone Release Increment
A stable executable Final Production Release
An iteration end- The difference
subset of the final At this point, the system is
point when some (delta) between
product. The end of released for production
significant decision the releases of 2
each iteration is a use.
or evaluation subsequent
occurs. minor release iterations
30
Phases, workflows and iteration
Within each phase activities are grouped into workflows.
➢5 core workflows: → Requirements, Analysis, Design, Implementation
& Test (RADIT)
The balance of effort spent in each workflow varies from phase to
phase. Within phases there may be more than 1 iteration involved.
31
Phases, workflows and iteration
32
Iterative Development
When applying an iterative approach, any subsets of the lifecycle activities are
performed several times to better understand the requirements and gradually
develop a more robust system.
Each cycle through these activities is known as an iteration, and a series of iterations
in a step-wise manner eventually results in the final system.
This enables user better understand the requirements and gradually develop a more
appropriate system through successive refinement and incrementally gaining more
detail as more and more iterations
33
Iterative Development
34
USDP uses iterative and incremental development
35
BACS2053
Chapter 2 USDP
OOAD
✓ manage complexity
36
BACS2053
Chapter 2 USDP
OOAD
37
Incremental Development
An iterative process is incremental because we don't simply rework the same
requirements in successive iterations, but address more and more requirements in
successive iterations.
Likewise, activities may occur in parallel within a single iteration when they focus on
different parts of the system and don't conflict. Therefore, an iterative approach
involves a series of iterations wherein the system is developed incrementally.
38
Incremental Development
USDP aims to deliver working, free-standing, useful ‘chunks’ of software, one at a
time.
In its simplest form, each use case may represent one increment of delivered
software
39
ACTIVITY TECHNIQUE DELIVERABLE
40
ACTIVITY TECHNIQUE DELIVERABLE
➢ Collaboration
➢ Requirements Diagrams
Analysis ➢ Class & Object ➢ Analysis Models
Models
➢ Analysis Modelling
41
ACTIVITY TECHNIQUE DELIVERABLE
➢ Deployment
Modelling
➢ Overview design
➢ Component
➢ Systems Design Modelling and
implementation
➢ Package Modelling
architecture
➢ Architectural
Modelling
42
ACTIVITY TECHNIQUE DELIVERABLE
43
ACTIVITY TECHNIQUE DELIVERABLE
➢ Class & Object
Modelling
➢ User Interface ➢ Interaction Modelling ➢ Design Models
Design ➢ State Modelling with Interface
➢ Package Modelling Specification
➢ Prototyping
➢ Design Patterns
44
ACTIVITY TECHNIQUE DELIVERABLE
45
ACTIVITY TECHNIQUE DELIVERABLE
➢ Programming ➢ Constructed
➢ Construction ➢ Component reuse System
➢ Database DDL Documentation
46
ACTIVITY TECHNIQUE DELIVERABLE
➢ Programming
➢ Testing ➢ Tested system
➢ Test procedures
47
True or False?
Statement True or False
a) We can manage complexity by building a system in all at once.
48
MODELLING CONCEPTS -
ACTIVITY DIAGRAM
MODELLING CONCEPTS
Models Diagrams
• Provide a complete view of a system at a • Illustrate or doc some aspect of a system
particular stage and from a particular • Abstract shapes to represent things or actions
perspective from the real world (follow OMG standards)
• Used to represent something • Reasons:
• Reasons: – Communicate ideas
– Quicker and easier to build – Generate new ideas and possibilities
– Test ideas and make predictions
– Can be used in simulations
– Understand structures and relationships
– Can evolve as we learn
– Represent real or imaginary things from
any domain
Requirements Model
– complete view of requirements
– may include Use Case diagram, Class diagram.
– includes textual description as well as sets of diagrams
51
Behavioural Model
– shows how the system responds to events in the outside world and the
passage of time
– an initial model may just use Communication Diagrams
– Includes collaboration diagram, Sequence Diagrams and State chart.
52
Models in UML:
➢ Unified Modeling Language
➢ UML consist mainly of a graphical language to
represent the concepts that we require in the
development of an object oriented information system
53
Models in UML:
➢ The UML language 2.x supports diagrams:
1. Use case diagram
2. Activity diagram
3. Sequence diagram
4. Collaboration diagram
5. Class diagram
6. Object diagram
7. State chart diagram
8. Component diagram
9. Deployment diagram
54
ACTIVITY DIAGRAM
55
Purposes of activity diagrams
– To model a task.
– To describe a system function represented by a use case.
– To describe the logic of an operation.
– To model activities in the Unified Software Development Process
(USDP).
56
Components Notation Components Notation
Swim Lane Clerk Manager System Start
Activity End
Display Display
- Either one order order
- to join or to merge
59
Customer Staff
Enquiry
Transaction
Update rental
Calculate payment
Make payment
Write Chapter
Review Chapter
Revise Chapter
[book complete]
[book not
complete]
Typeset Book
Correct Proofs
Reset Book
Print Book
Plan Chapter
Write Chapter
Review Chapter
Produce First
Draft
Revise Chapter
[book complete]
[book not Revise Draft
complete]
Typeset Book
Correct Proofs
Add Exercises
Reset Book
Add References
& Bibliography Print Book
A workflow N
Available?
entry system N
End add item
Y Good credit?
Finalize order
N
Refer to management
Usage 3:
To describe the logic of an operation.
It is used at a low level to model the details of how a
particular operation is carried out
advertCollection:getFirst( )
advert:getCost( )
[More advert]
AdvertCollection: getNext()
advert:getCost()
[More advert]
AdvertCollection: getNext()
Activity
diagrams with
object operation
[No more advert]
signatures as
activities
campaign: getOverheads()
Requirements
List
Initial System
Architecture
Glossary
Project Initiation
Document
Elicit
requirements
Glossary
Candidate
Requirements
Select
requirements
Requirements
List
Develop
use cases
Use Case Model
73
Object Flows
Notation of an object (object creation)
:class name
74
Object Flows
:Stock[old]
Before
After
:Stock[updated]
75
Synchronization Bars
1. Join: Waiting for all subtasks to finish before proceeding
76
Synchronization Bars
2. Fork: Starting several subtasks in parallel (the sequence
irrelevant)
77
Notations
Start State (black circle)
Transition (arrow)
Add a New Client Activities (rectangle with rounded ends)
[Campaign to add]
78
Alternative notation for branching
[Campaign to add]
79
2 ways to show objects Object
Object flow
:Campaign
[Active]
Record Completion of a
Campaign
:Campaign
[Completed]
80
1) Identify activities
➢ What happens when a new
client is added in the Agate Add a New Client
system?
• Add a New Client
Assign Staff Contact
• Add New Campaign
• Assign Staff to Campaign
• Assign Staff Contact Add New Campaign
81
3) Identify alternative
transitions and the
conditions on them Add a New Client
82
5) Identify any processes
that are repeated
➢they will want to assign Add a New Client
Assign Staff to
Campaign [no more staff to assign]
83
7) Are all the activities carried out by the same person,
organization or department? If not, then add swimlanes to
show the responsibilities
84
10) Are there any object flows and objects to show?
➢ these can be documents that are created or updated in a business activity
diagram
➢ these can be object instances that change state in an operation or a use
case
85
Administrator Campaign Manager
[campaign to add]
:Campaign
Add New Campaign
[Commissioned] [no staff to assign]
[staff to assign]
Assign Staff to
Campaign [no more staff to assign]
87
Construct a complete activity diagram to model the activities involve in online meal ordering and
delivery as described below:
After the customers have log in to the www.onlineMeal.com.my, they browse through the
online meal menu, he/she makes online order for the meal that he/she wishes. He/she need to
enter the delivery details such as recipients’ address, contact number and etc. After all the details
have been entered, then he/she needs to make online payment using credit card. The card is
verified by a communication with the credit card’s authorization party.
Once the ordering transaction is completed, all the order details will view by kitchen staff
immediately. The kitchen staffs will then prepare the food and drinks based on the online order
location. When the order food and drinks are ready, the kitchen staffs will update the order status
from “pending” to “ready”. Once the order status has been changed from “pending” to “ready”, the
delivery boy will collect the delivery items from the kitchen together with the order forms. The
delivery boy will then deliver the orders to the customer and the customer needs to sign on the
orders form to prove that the orders are received. The process ends when the delivery boy returns
the orders form with signature to the company.
You are required to include correct swim lanes, notations and object flows in your activity
diagram.