software eng 1
TRANSCRIPT
-
7/29/2019 Software Eng 1
1/7
SOFTWARE PROJECT
Software Process Model
IF UNS 2010
Software Process
The roadmap to building high quality software
Adapted to meet the needs of software engineers andmanagers
Provides a framework1 for managing activities
Different types of projects require different softwareprocesses
Work products are produced by the software process
The best indicators of how well a software process hasworked are the quality, timeliness, and long-termviability1 of the resulting software product
1 kerangka (kerja) 2 kelangsungan hidup
Common Process Framework
Communication customer collaboration and requirement gathering
Planning establishes engineering work plan, describes technical risks, lists
resource requirements, work products produced, and defines
Modeling creation of models to help developers and customers
understand the requires and software design
Construction code generation and testing
Deployment software delivered for customer evaluation and feedback
SE Umbrella Activities
Software project tracking and control
Risk management
Software quality assurance
Measurement
Software configuration management
Reusability management
Work product preparation and production
-
7/29/2019 Software Eng 1
2/7
Software Engineering Institute (SEI)
Capability Maturity Model Integration (CMMI)
5th levelOptimized
4th levelQuantitatively
Managed
3r level Defined
2nd level Managed
1st
level Performed
0-level Incomplete/Initiate
SEI CMMIwww.sei.cmu.edu/cmmi
Level 0: Incomplete process is not performed or does not achieve all goals defined for level 1
Level 1: Performed work tasks required to produce required work products are being conducted
Level 2: Managed people doing work have access to adequate resources to get job done, stakeholders are
actively involved, work tasks and products are monitored, reviewed, and evaluated forconformance to rocess descri tion
Level 3: Defined management and engineering processes documented, standardized, and integrated into
organization-wide software process
Level 4: Quantitatively Managed software process and products are quantitatively understood and controlled using detailed
measures
Level 5: Optimizing continuous process improvement is enabled by quantitative feedback from the process and
testing innovative ideas
SEI CMMI Focus
Level Focus
Optimized Continuous process improvement
Quantitatively Managed Quantitative Management
Defined Process Standardization
Managed Basic Project Management
Performed
The Primary GOAL:
High Quality
Remember:
High quality = projects timeliness
Why?
Less rework!
-
7/29/2019 Software Eng 1
3/7
Process Model
Prescriptive Models
Specialized Models
Unified Process
Prescriptive Models
Originally proposed to bring order to the chaos of
software development Called prescriptive because:prescribe a set of process elements (activities, actions,
tasks, work products, quality assurance etc for eachpro ect
each process model also prescribes a workflow
They brought order to software engineering work andprovide reasonable guidance to software teams
Yet, they have not provided a definitive answer to theproblems of software development in an ever changingcomputing environment
Prescriptive Models
The Waterfall Model
Incremental Model
Evolutionary Process Model
The Waterfall Model
Also called as Sequence Linear model
old fashioned but reasonable approach when
requirements are well understood/defined
-
7/29/2019 Software Eng 1
4/7
The Waterfall model
Analysis Design Implementation Testing
System/information
engineering
The Waterfall model
Analysis
Design
Implementation
Testing
The waterfall model challenge
Inflexible partitioning of the project into distinctstages makes it difficult to respond to changing
customer requirements. Therefore, this model is only appropriate when-
changes will be fairly limited during the designprocess.
Few business systems have stable requirements.
The waterfall model is mostly used for large
systems engineering projects where a system isdeveloped at several sites.
Incremental Model
Incremental Model
delivers software in small but usable pieces, each
piece builds on pieces already delivered
Model
makes heavy use of reusable software
components with an extremely short
development cycle
-
7/29/2019 Software Eng 1
5/7
Incremental model
Analysis Design Implementation Testing
System/information
engineering
Analysis DesignImplementati
onTesting
Analysis DesignImplementati
onTesting
RAD Model
Analysis
Design
Analysis
Design
Implementation
Testing
Testing
Team #1
Team #n
Evolutionary Process Model
Prototyping Modelgood first step when customer has a legitimate need,
but is clueless about the details, developer needs toresist pressure to extend a rough prototype into aproduction product
Spiral Modelcouples iterative nature of prototyping with the
controlled and systematic aspects of the linearsequential model
Concurrent Development Model
similar to spiral model often used in development ofclient/server applications
Discussion
Incremental Model Problem ?
RAD Model Problem ?
Prototyping Model Problem ?
Spiral Model Problem ?
Concurrent Development Problem ?
-
7/29/2019 Software Eng 1
6/7
Discussion
Incremental Model Applicability ?
RAD Model Applicability ?
Prototyping Model Applicability ?
Spiral Model Applicability ?
Concurrent Development Applicability ?
Specialized Process Model
Component-Based Development
spiral model variation in which applications are builtfrom prepackaged software components called classes
Formal Methods Model ,
design, and verify computer-based systems
Aspect-Oriented Programmingprovides a process for defining, specifying, designing,
and constructing software aspects like user interfaces,security, and memory management that impact manyparts of the system being developed
CBSE
Based on systematic reuse where systems areintegrated from existing components or COTS
(Commercial-off-the-shelf) systems. Process stages
Component analysis;
Requirements modification;
System design with reuse;
Development and integration.
This approach is becoming increasingly used ascomponent standards have emerged
Unified Process Model
Use-case driven, architecture centric, iterative, andincremental software process
Attempts to draw on best features of traditionalsoftware process models and implements many
Phases Inception phase (customer communication and planning
Elaboration phase (communication and modeling)
Construction phase
Transition phase (customer delivery and feedback)Production phase (software monitoring and support)
-
7/29/2019 Software Eng 1
7/7
UP: Iteration and Workflow
Business Modeling
Analysis & Design
Phases
Process Workflows
Requirements
Elaboration TransitionInception Construction
Management
Environment
Implementation
Test
Preliminary
Iteration(s)
Iter.
#1
Supporting Workflows
Iter.
#2
Iter.
#n
Iter.
#n+1
Iter.
#n+2
Iter.
#m
Iter.
#m+1
Deployment
Configuration Mgmt
UP Work Products
Inception phase Vision document
Initial use-case model
Inial project glossary Inial business case Inial risk assessment
Elaboration phase Use-case model Funconal and non-
functional requirements
Analysis model Soware architecture
Project plan (phases anditerations)
Business model Prototypes
escr pt on
Executable architecturalprototype
Preliminary design model Revise risk list Project plan (iteraon plan,workflow, milestones)
Preliminary user manual
UP Work Products
Construction phase
Design model Soware components Integrated soware
Transition phase
Delivered sowareincrement
Beta test reports increment
Test plan Test cases Support documentaon
(user, installation,
increment)
User feedback