Software Project Management and Um L
Software Project Management and Um L
Ali Bigdelou
3
Laws of Project Management
• Projects progress quickly until they are 90% complete. Then they
remain at 90% complete forever.
• When things are going well, something will go wrong. When things just
can’t get worse, they will. When things appear to be going better, you
have overlooked something.
5
Project Phases
6
Deliverables by Phase
Possible Deliverables by Phase
Concept Document
Statement of Work (SOW)
Project Charter
RFP & Proposal
Software
Requirements Document (Software Requirements Specification)
Concept
Work Breakdown Structure (WBS)
Deployment &
User Documentation Maintenance
Training Plan
7
Requirement Specifications
8
Content of the Requirements Specification
• Problem/opportunity
• Goal
• Objectives
• Users and Key features of the system
– Documented as well using the Use-Case diagram
• Key System Components
– Hardware Requirements
– Third Party Library Dependencies
– Component diagrams (to show how the different component are combined in the
system)
• Usage Scenarios
– Documented as well in Activity Diagram
• Basic Design of the System
– Documented in Class diagram
9
UML
What is UML?
12
Why UML for Modeling?
• A model is a simplified representation of a complex reality.
• Complex systems and software cannot be understood without properly
modeling them.
• Provide structure for problem solving
• Today, software are getting complex and consequently we need to
understand them through modeling.
• A graphical notation to communicate more clearly than natural
language (imprecise) and code(too detailed).
• Help acquire an overall view of a system.
• UML is not dependent on any one language or technology.
• UML moves us from fragmentation to standardization.
• UML consists of
– Views: shows different faces of the system and links with the process
– Diagrams: are basically the graphs that explain the contents of view.
– Model Elements: are contained within the diagrams.
ACTOR
USE-CASE
INTERACTION:
denotes set of messages exchanged among objects
NOTES/COMMENTS
Use-Case Diagram (University Management System)
SYSTEM
Submit BOUNDARY
Assignments
Mark
Student Assignments
Upload
Results
View Results
Instructor
21
Composition
Window
Window
1
1 1
22
Composition
Window
2
scrollbar:Slider
1
title:Header
1
body:Panel
23
Generalization
Shape
Shape
Shared Target Style
...
Polygon Ellipse Spline
24
Dependencies
«call» ClassC
«refine»
ClassC combines
two logical classes
ClassD ClassE
25
Derived Attributes and Associations
Person
birthdate
{age = currentDate - birthdate} /age
1
Company Department
employer
1 1 department
employer
WorksForDepartment
Person
/WorksForCompany
{ Person.employer=Person.department.employer }
26
Class Diagram Example CreditCard
PMCreditCard
{abstract}
OrderBean
<<interface>> {abstract}
EntityBean
+getOrderStatus
+setOrderStatus
PMOrder
+getLineItems
+setLineItems
order +getCreditApproved
+setCreditApproved
* ...
1 order
buyer 1 * item
Customer LineItem
PMLineItem
{abstract}
*
* item
1 commodity
Product
27
Sequence Diagram
Sequence diagram
32
Action (State)
Action
33
Subactivity (State)
Subactivity
34
Example
Deliver Mail
POEmployee
35
Activity Graph as Method
POEmployee.sortMail POEmployee.deliverMail
POEmployee
PO Employee Deliver Mail Method
sortMail()
«realize»
deliverMail() Check Out Put Mail
Truck In Boxes
37
Object Flow (State)
Order
Take Order Fill Order
[Taken]
38
Coordinating Steps
Initial state
Final state
39
Coordinating Steps
Get
Authorization
40
Convenience Features (Synch State)
• Forks and joins do not require composite states.
• Synch states may be omitted for the common
case (unlimited bound and one incoming and
outgoing transition).
Activity diagram
notation Build Put
Install
Frame On
Walls
Roof
Install Inspect
Foundation
41
Convenience Features
• Partitions are a grouping mechanism.
• They do not provide domain-specific semantics.
Management
Evaluate Revise
Impact Plan
[ priority = 1]
Support
Register Release
Bug Fix
Engineering
Fix Test
Bug Fix
42
Activity Diagram Modeling Tips
From UML Customer Telesales Accounting Warehouse
User Guide:
Request
Return
Get Return
Number
Ship Item
Receive
Item
Item
[returned]
Restock
Item
Credit Item
Account [available]
43
UML Modeling Tools