ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
Process & Models Week 3 Summary
1. Week 3 – Process & Models
Object Oriented Analysis & Design
SW802
v1.1
(Part of M.Sc. in Software Technologies Program,
MS University of Baroda, India)
Designed & Presented by
Bhuvan Unhelkar, PhD, FACS
bhuvan@MethodScience.com
Mobile: 0413-821-454;
2. Agenda
• Understanding “What is a Process?”
• Importance of a Process in successful OO
Analysis & Design
– Describing a Process-Map (and place of
Agile Practices in It)
• Process Architecture – Iterations,
Increments
• Process-Maps for Requirements, Design,
Implementation (Development) & Testing
– Basis for Project Work
• UML Diagrams relevant in MOPS, MOSS,
MOBS
Course: OO Analysis & Design SW802
MS University of Baroda, India
4. Processes are part of Overall
Adoption of OO within an
Organization
2-Modelling
(UML Standard)
1-Fundamentals
Adopting
OO
3-Process
4-Experience
4
5. What is a Process?
• Made up of a Set of Activities & Tasks to
be performed by a group of Roles to
produce the planned Deliverables
• Enable Organization of Iterations and
Increments based on dependencies,
priorities and risks associated with a
project
• Enable control, direction and
measurement of activities, tasks and
deliverables
• Provide basis for Maturity of a Process
5
6. Need for process
• Processes are important because they
impose consistency and structure on a
set of activities.
• Reduce errors through PREVENTION
rather than Detection
• Facilitate large-scale team-based
activities
• Create opportunities for Optimization of
Work
6
7. Approximately 50% of projects are late, over budget or under
deliver benefits
100%
90%
90%
80%
80%
70%
70%
60%
60%
50%
50%
40%
40%
30%
30%
20%
20%
10%
10%
0%
% of projects in an organisation with expected performance
100%
0%
On Budget
*Source FEI REview 2007
On Time
Benefit Delivered
...and improvement in project
performance has stalled since 2001
1995
1996
1997
2001
2002
2004
*Sources: Chaos Report 1995, OASIG Report 1996, KPMG Report 1997, Robbins-Gioia Report 2001,
Conference Board 2002, Financial Executive Review 2004, 2005, 2006, 2007
2005
2006
2007
8. However if all requirement errors were detected and resolved at the point
of introduction, cost of rework and defect resolution would be reduced by
800%
If all requirement errors were
detected and resolved at the point of
introduction....
....the cost of rework and defect
resolution would be reduced by
800%
Total Relative
Cost
Does Cost 7463
Should
866
Cost
Difference
862%
%
www.businessanalysis.com.au
8
9. Process wraps around the UML
(from B. Unhelkar, V&V of UML-based Projects,
2004, John Wiley & Sons, USA)
A Software
Process wraps
around the UML
UML-based
Modeling
10. Embedding Agile Practices within Activities of Planned
Process-Maps (from B. Unhelkar, 2012, Art of Agile Practice,
1
CRC Press/Taylor & Francis, USA)
Deliverable
Process-Map
5
Activity-3
4
Agile
Practices
Role-1
2
3
4
Activity-1
Activity-2
2
Role-2
1
Agile
Practices
Agile
Practices
Agile
Practices
Agile
Practices
Agile
Practices
3
Agile
Practices
Agile
Practices
6
Activity-4
Agile
Practices
5
Role-3
Planned Process - Elements
Process Elements
from Planned
Methods: e.g.
Detailed Planning,
Modeling,
Documentation
10
Agile Process - Practices
Agile Practices include: Standup
meetings, Pair Programming,
Visible Charting.
12. Iterations and Increments
(from B.
Unhelkar, V&V of UML-based Projects, 2004, John
Wiley & Sons, USA)
Iteration1
Iteration1
Iteration2
Iteration2
15%
15%
Iteration3
60%
60% Iteration3
25%
Increment 1
(Package Client)
25%
Increment 2
(Package Policy)
13. Iterative
• Iterative: Update the same Entity (e.g.
a use case, package or a class)
– Example Within a Use Case
• Do not be in a hurry to Mature a Use Case to its
Final Status. First Assign it „Initial‟
• Go From One Use Case to Another; One Use Case
Diagram to Another
• Iterative Between Various Diagrams Namely Class
and Sequence Diagrams
– Gradually mature the Deliverable
– Validate and Verify at Predetermined
Steps
(c) B. Unhelkar
and B. Henderson-
13
14. Incremental
• Incremental: Extend the Current
models by adding New entities /
things to them
– Example: Add Use Cases and Classes to
existing diagrams
– Adding new Modules, as new requirements
are Discovered
– Existing/Implemented Functionalities are not
Affected
• Again, verify and validate at
predetermined steps
(c) B. Unhelkar
and B. Henderson-
14
15. Parallel
• Parallel: When two or more ProcessComponents are executed together
(but usually by separate teams)
– Made possible for OO nature of software
wherein so long as Interfaces remain the
same, implementation can go on in Parallel
• Example: Requirements Modeling and Test
Planning
• Final Stages of Design and Early Programming
• Final Programming and Early Testing
• Validate and Verify at Predetermined
Steps
(c) B. Unhelkar
and B. Henderson-
15
16. Configuring Process-Components from Planned Methods for
Iterations in Practice
Process
Configuration
This is a fast, initial iteration that
provides a “feel” for the project.
Vital in “gelling” an Agile team.
Enables formal cost estimation,
detailed project planning, and
“Go/No Go” decision.
This is the major iteration of the
project that uses all development
process-components. Most Agile
practices came from this iteration,
wherein extensive solutions
modeling, coding, testing,
integration and architecture
processes and practices are
employed.
This final iteration deals with full,
integration testing, performance
testing, deployment and user
training. Outstanding
functionalities are also
implemented.
Requirements
Modeling
Prototyping
Project
Management
Initial
Business
Evaluation
Enterprise
Architecture
Quality
Management
15%
Requirements
Modeling
Interface Modeling
and Design
System
Design
Quality
Assurance
Implementation
Training
Major
60%
System
Architecture
Final
System
Design
Persistence
Design
Implementation
Change
Management
Integration
Prototyping
Reuse
Deployment
25%
Quality
Assurance
Quality
Control
Training
The ongoing iteration keeps
making use of the relevant
process-components and Agile
practices from Development.
16
Deployment
Ongoin
gx3
Quality
Assurance
Quality
Control
25. Primary UML Diagrams in MOBS
(from B. Unhelkar, V&V of UML-based Projects,
2004, John Wiley & Sons, USA)
Insurance
Database Server
Address
-AddressType
-StreetNo
-StreetName
-Suburb
-Postcode
Client
OrganizationalClient
+addAddress ()
+changeAddress ()
-ClientID
-ABN-BusinessNo
-DateIncorporated
-AnnualTurnover
employedBy +addClient ()
+changeClient ()
+validateOrgClient ()
ClientRep
-ClientID
Class Diagrams
-DateNominated
+createClientRep ()
(Advance Database)
+changeClientRep ()
-ClientID
-ClientStatus
-YearsInBusiness
+addClient ()
+changeClient ()
SQL Server
<<LAN>>
Account
Tax
Web Application
Server
Printer
RegionalServer.exe
PersonalClient
<<VPN>>
<<VPN>>
-Retiree
+addClient ()
+changeClient ()
+validatePersonalClient ()
+addAdditionalDetails ()
1, Suburban Branch
Client Machine
324, Station Branch
Client Machine
Component Diagrams
InsuranceClient.exe
+getClientRepDtls ()
+assignClientRep ()
InsuranceClient.exe
Deployment Diagrams
<<Application>>
PremiumManagementApplication
<<dependss>>
<<depends>>
ClienttoPolicy
aPolicy : Policy
P1
Ownership
<<Component System>>
Component Premium
C1 aClient : Client
P2
<<Facade>>
<<Facade>>
Required Interfaces
PolicytoClaim
Robustness Diagrams
COMPOSITE STRUCTURE Diagrams
ClaimsInfo
Cl1
aClaim : Claim
This aClaim object brings
this structure into play
Package Diagrams
(Advanced)
26. A. How is a Process different from a Model?
Discuss the importance of both in any
project (OO or otherwise)
B. How would you create Iterations and
Increments for your project?
C. Where do UML diagrams (and Agile
practices) fit in within an OO project?
Course: OO Analysis & Design SW802
MS University of Baroda, India
27. Project Work (In Group)
• Discuss and create the Packages
corresponding to your problem statement
(you studied Package diagrams in previous
semester)
• Assign a Package each to a Student. (Note
that this is a group project, but a student
will be responsible for each of the package)
• Create an initial Project Plan with Iterations
and Increments Corresponding to the
Packages
• Draw a use case diagram PER PACKAGE,
and WRITE two use cases within each
Package
• Draw an Activity Diagram corresponding to
EACH use case
Course: OO Analysis & Design SW802
MS University of Baroda, India