Software Project Management and UML: Ali Bigdelou
Software Project Management and UML: Ali Bigdelou
Ali Bigdelou
Outline
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
cant get worse, they will. When things appear to be going better, you
have overlooked something.
Leadership
Communications
Problem Solving
Negotiating
Influencing the Organization
Mentoring
Process and technical expertise
People
Process
Product
Technology
Project Phases
Deliverables by Phase
Possible Deliverables by Phase
Concept Document
Statement of Work (SOW)
Project Charter
RFP & Proposal
Software
Concept
Requirements
Analysis
Design
Coding Standards
Working Code
Unit Tests
Coding and
Debugging
Integration Plan
Detailed SQA Test Plan
SQA Test Cases
User Documentation
Training Plan
Maintenance Specification
Deployed Application
Deployment &
Maintenance
Requirement Specifications
Capture key project objectives
In collaboration with Clinical Partner and Technical Advisor
The RS is a communications tool among the development team, the
customer, and the advisors
It should be a short document (around 5 pages).
A presentation should be followed after confirming the document with
customers (clinical partners) and technical advisors.
Problem/opportunity
Goal
Objectives
Users and Key features of the system
Documented as well using the Use-Case diagram
Usage Scenarios
Documented as well in Activity Diagram
UML
What is UML?
UML stands for Unified Modeling Language
UML is a notational system which is principally graphical and aims
at modeling system using object oriented concepts.
UML is termed as a Visual Modeling Language.
Generally UML is used for modeling software systems.
It is an industry-standard graphical language for specifying,
visualizing, constructing, and documenting the artifacts of an objectoriented system under development.
The UML uses mostly graphical notations to express the OO
analysis and design of software projects.
Quick Tour
The UML is a graphical language for
specifying
visualizing
constructing
documenting
12
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.
Usecase Diagram
USE-CASE
INTERACTION:
denotes set of messages exchanged among objects
NOTES/COMMENTS
Mark
Assignments
Student
Upload
Results
View Results
Instructor
Package:
SYSTEM
BOUNDARY
Class Diagram
Class diagram
Classes
Window
Window
size: Area
visibility: Boolean
display ()
hide ()
Window
{abstract,
author=Joe,
status=tested}
+size: Area = (100,100)
#visibility: Boolean = true
+default-size: Rectangle
#maximum-size: Rectangle
-xptr: XWindow*
+display ()
+hide ()
+create ()
-attachXWindow(xwin:Xwindow*)
21
Composition
Window
scrollbar [2]: Slider
title: Header
body: Panel
Window
1
scrollbar
Slider
1
1
title
1
Header
body
1
Panel
22
Composition
Window
scrollbar:Slider
1
title:Header
1
body:Panel
23
Generalization
Shape
Separate Target Style
Polygon
Ellipse
Spline
. ..
Shape
Polygon
Ellipse
Spline
...
24
Dependencies
ClassA
ClassD
ClassB
friend
friend
operationZ()
instantiate
call
ClassC
refine
ClassD
ClassC combines
two logical classes
ClassE
25
1
Company
1
Department
employer
employer
department
WorksForDepartment
Person
/WorksForCompany
{ Person.employer=Person.department.employer }
26
CreditCard
{abstract}
OrderBean
{abstract}
<<interface>>
EntityBean
+getOrderStatus
+setOrderStatus
+getLineItems
+setLineItems
+getCreditApproved
+setCreditApproved
order
*
buyer
Customer
PMCreditCard
PMOrder
...
1
order
item
LineItem
{abstract}
PMLineItem
*
item
commodity
Product
27
Sequence Diagram
Sequence diagram
Sequence diagram
Activity Diagram
Activity Diagram
32
Action (State)
Subactivity (State)
Action
Subactivity
Action (State)
Action
Subactivity (State)
Subactivity
Example
POEmployee.sortMail
Deliver Mail
Deliver Mail
POEmployee
sortMail()
35
Check Out
Truck
Put Mail
In Boxes
POEmployee.deliverMail
POEmployee
realize
Check Out
Truck
Put Mail
In Boxes
Order
[Taken]
Fill Order
Coordinating Steps
39
Initial state
Final state
Coordinating Steps
Calculate
Cost
Get
Authorization
40
Charge
Account
Build
Frame
Put
On
Roof
Install
Walls
Install
Foundation
Inspect
Install
Electricity
in Foundation
41
Install
Electricity
In Frame
Install
Electricity
Outside
Convenience Features
Management
Evaluate
Impact
Revise
Plan
[ priority = 1]
Support
Register
Bug
Release
Fix
Engineering
Fix
Bug
42
Test
Fix
Customer
Telesales
Accounting
Warehouse
Request
Return
Get Return
Number
Ship Item
Receive
Item
Item
[returned]
Restock
Item
Credit
Account
43
Item
[available]
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall Scott
2. IBM Rational http://www-306.ibm.com/software/rational/uml/
3. Practical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
4. Software Engineering Principles and Practice. Second Edition; Hans van Vliet.