#StandardsGoals for 2024: Whatâs new for BISAC - Tech Forum 2024
Â
Software Engineering - 02. Framework
1. Framework of
Software Development
Arry Akhmad Arman
School of Electrical Engineering and Informatics
Institut Teknologi Bandung, Indonesia
Email: arman@kupalima.com
Website: http://www.kupalima.com
Blog: http://kupalima.wordpress.com
Download Center: http://slideshare.net/kupalima
Last update: September 2008
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
2. Software Horror!
⢠The Mars Climate
Orbiter crashed in
September 1999
because of a quot;silly
mistakequot;: wrong units
in
i a program.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
3. Software Horror!
⢠Several 1985-1987
1985 1987
deaths of cancer
patients were due to
overdoses of radiation
resulting from a race
condition b t
diti between
concurrent tasks in
the Therac-25
software.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
5. Software Horror!
⢠The Ariane 5
satellite launcher
malfunction was
caused by a faulty
software exception
routine resulting
ti lti
from a bad 64-bit
floating point to 16-
bit integer
conversion.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
6. Software Horror!
⢠The Dallas/Fort
Worth air-traffic
system began spitting
out gibberish in the
Fall of 1989 and
controllers had t
t ll h d to
track planes on
paper.
paper
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
7. Armanâs Framework
for Software Development
1 2
3 4
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
8. Defining Scope
g p
⢠Scope is a short description of an
application (software) that will be built.
⢠Scope definition conducted by
Business Process Owner (its will
be better if it is helped by IT people)
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
9. Scope Content
p
⢠Context. How does the software to be built fit
into a larger system, product, or business
context, and what constrain ?
⢠Information Objectives. O
f i Obj i Output d data object,
bj
input data object.
⢠Function and performance Transformation
performance.
from input to output. Are any special
performance characteristic?
⢠Reliability. How the system should be reliable?
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
10. Case: Software in Space Shuttle
[sample of software f specific need]
[ l f ft for ifi d]
In 1981, a small timing difference caused by a computer program
1981
change created a 1/67 (or 1 in 67) chance that the space shuttleâs five
on-board computers would not synchronize.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
11. Armanâs Framework
for Software Development
1 2
3 4
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
12. Quick Project Estimation
Q j
⢠Activities to estimate all resources and effort that
is needed to support software development
process
⢠Usually, all resources and effort converted to
y,
amount of money value to estimate project
value.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
13. Project Estimation:
Problem Decomposition
⢠Decomposition is applied in two major areas:
â The functionality that must be delivered
â The process that will be used to deliver it PROCESS
n
tio
g
r in
COMMON PROCESS
ica
sis
ing
mm er
ee
FRAMEWORK ACTIVITIES
co tom
un
a ly
an k
nn
r is
gin
pla
s
en
cu
Software Engineering Tasks
g g
Product Functions
PROBLEM
Text input
Editing and formating
Automatic copy edit
Page layout capability
Automatic indexing and TOC
File management
Document production
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
14. Cost Estimation Techniques
q
⢠Comparison estimation
⢠Bottom-up estimation
⢠Parametric modeling
g
â Software for Aircraft Development (McDonall Douglas),
its developed from many cases
â Office automation = $10,000 per workstation
⢠C
Constructive Cost M d l (COCOMO), i.e.
i C Model
LOC (Line of Code)or FP (Function Point)
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
15. Case: Project Overrun
j
The 1995 CHAOS Report showed that
th average cost overrun
the t
for IT project
was 189% of their original estimates
estimates.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
16. Case: Project Overrun
j
The 2001 CHAOS Report showed
h h d
that
the company have made
great improvements
in d i
i reducing cost overruns.
Its decreased
from 189% to 145%.
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
17. Armanâs Framework
for Software Development
1 2
3 4
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
18. Engineering Life Cycle
g g y
Problem
definition
Status Technical
quo development
Solution
integration
Problem
definition
Status Status Technical
quo development
Quo Solution
integration
Problem
definition
Status Technical
quo p
development
Solution
integration
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
19. Software Development Life Cycle
p y
Development Phase
(Project Execution)
Pre-Project
Phase ⢠Communication: Project
Initiation, R
ii i Requirement Gathering
i G h i
⢠Planning: Estimating,
Development Scheduling, Tracking
g, g
Phase ⢠Modeling: Analysis, Design
⢠Construction: Coding, Testing
⢠Deployment: Delivery, Support,
Support Feedback
Phase
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
20. Software Development Models
p
⢠Waterfall Model (Linear Sequential)
⢠Incremental Process Model
⢠Incremental Model
⢠RAD (Rapid Application Development) Model
( p pp p )
⢠Evolutionary Process Models
⢠Prototyping
⢠The Spiral Model
⢠Concurrent Development Model
⢠Specialized Process Models
⢠Component Based Development
⢠Formal Methods Model
⢠Aspect Oriented Software Development
⢠The Unified Process
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
21. [Software Development Models]
Waterfall (Linear Sequential) Model
â˘One Cycle
â˘Easy Project Monitoring
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
22. [Software Development Models]
Incremental Models
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
23. [Software Development Models]
RAD (Rapid Appl Dev) Models
Appl.
Supported by
â˘Visual Programming
â˘Object Oriented
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
24. [Software Development Models]
Evolutionary: Prototyping Models
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
25. [Software Development Models]
Evolutionary: Spiral Models
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
26. [Software Development Models]
Evolutionary: Concurrent Models
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
27. [Software Development Models]
Unified Process
Assignment (1 week, to be presented in the class):
Write a short paper that consist of (1) Unified Process Description,
(2) History, (3) Comparison between Unified Process and other approaches.
Also prepare PPT for presentation!
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
28. Armanâs Framework
for Software Development
1 2
3 4
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
29. Project Management
j g
⢠Scope Management
p g
⢠Time Management
⢠g
Cost Management
⢠Quality Management
⢠Human Resource Management
⢠Communication Management
⢠Risk Management
⢠Procurement Management
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
30. Life Cycle Costing
y g
⢠A sample of relationship between âDevelopment Life
p p p
Cycleâ and âCostâ
When D f t i D t t d?
Wh Defect is Detected? Typical C t f Correction
T i l Cost of C ti
User Requirements $100 - $1,000
Coding/Unit Testing
di / i i $1,000 or more
$
System Testing $7,000 - $8,000
Acceptance Testing $1,000 - $100,000
After Implementation Up to millions of dollars
Source: Collard, Ross, Software testing and QA, (1997)
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
31. The Cost of Change
in Software Development
Effort 60x-100x
1.5x-6x
1x
Stage
Definition Development After
Release
Source: Software Engineering, Roger S. Pressman
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
32. Software Complexity
p y
Operating System Year Line of Code
Windows 3.1 1992 3 milion
Windows NT 1992 4 milion
Windows 95 1995 15 milion
Wi d
Windows NT 4.0 6
1996 16.5 milion
6 ili
Windows 98 1998 18 milion
Windows 2000
Wi d 2000 35-60 milion *
6 ili
* Perkiraan sumber informasi Sumber : Bruce Schneier [43], hal 357
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
33. Typical Organizational Charts
yp g
Project Manager
Deputy PM
System Engineering Independent Test Group Project Technical Lead Quality Assurance Configuration Management
S/W SubProject Manager 1 S/W Sub Project Manager 2 H/W Sub Project Manager 2
Team 1 Team 1 Team 1
Team 2 Team 2 Team 2
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
34. Project Quality Management Process:
Quality Assurance
⢠S ft
Software Q lit A
Quality Assurance (SQA) is i
i important
t t
to improve Quality Assurance
analysis design testing
Development
Team
Assessment
SQA
Team
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
35. Maturity Level of Software Developer
is important for Software Quality
Productivity and Quality
Change Management
Defect Prevention 5 Optimizing
Product and
Process Quality 4 Managed Continuously
Improving
Engineering
Process 3 D fi d
Defined Predictable
P di t bl
Standard,
Consistent
Project
Management
g 2 Repeatable
Disciplined
Heroes
1 Initial
Project Risk
j
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
36. Closing Remarks
g
⢠There are several alternatives to execute software
development process, but all of them always consist of:
Communication, Planning, Modeling, Construction,
Deployment.
p y
⢠Software Project Management is a key success factor in
software d l
ft development.
t
⢠CMM is a model to represent maturity model of
software developer that indirectly will determine the
quality of software (as product)
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008
37. Thank you
y
THIS SLIDES CAN BE DOWNLOADED IN
http://www.slideshare.net/kupalima
Stanford University, San-Francisco, 2001
Comparative Study
For Software Industry Development in Indonesia
Arry Akhmad Arman School of Electrical Engineering and Informatics | ITB | 2008