Professional Documents
Culture Documents
Overview
z
Waterfall
Spiral Model
Rational Unified Process
Agile Software Development and Extreme Programming (XP)
Overview
z
Waterfall
Spiral Model
Rational Unified Process
Agile Software Development and Extreme Programming (XP)
Analysis
System
Design
Object
Design
Implementation
Testing
Expressed in
Terms of
Structured
by
Realized
by
Implemented
by
Verified
by
class...
class...
class...
Use Case
Model
Application
Domain
Objects
Subsystems
Solution
Domain
Objects
?
class....?
Source
Code
Test
Cases
Software Process
z
No ideal process
Structured plan-based development process
Budget
Greenfield Engineering
Development starts from scratch, no prior system exists, the
requirements are extracted from the end users and the client
Triggered by user needs
Example: Develop a game from scratch: German Toll System (2003)
z
Re-Engineering
Re-design and/or re-implementation of an existing system using newer
technology
Triggered by technology enabler
Example: New Operating System like Windows Vista
z
Interface Engineering
Provide the services of an existing system in a new environment
Triggered by technology enabler or new market needs
Example: SMS-based games, information systems (beginning of 2000)
Overview
z
Waterfall
Spiral Model
Rational Unified Process
Agile Software Development and Extreme Programming (XP)
System and
Software Design
Implementation
Integration, Evaluation, Testing
z
z
z
z
The following phase should not start before the previous one has
finished
Waterfall Model II
Requirements Activities
Requirements
Development
System and
Software Design
Problem Understanding
Defining the problem (what is required)
Representing the problem (formally stating the problem def.)
Decomposing the problem
Defining the constraints of the problem (what cant be done)
Design Activities
Implementation
Implementation Activities
Test Activities
10
Advantages:
Problems:
11
Objective setting
Risk assessment and reduction
Development and validation
Planning for next phases
Main Issues
12
Spiral Model II
Determine
objectives,
alternatives,
constraints
Plan next
phases
Evaluate
alternatives,
identify and
resolve risks
Develop &
verify next
level product
13
Spiral Model IV
z
Final review
14
Strengths
z
15
Weaknesses
z
16
Ergonomics knowledge
There are four user-centered design activities that need to start at the
earliest stages of a project:
17
analyze
Context of use
(user characteristics,
task, environment)
Result of evaluation
evaluate
interpret
Design solutions
(Prototype, Simulations)
develop
18
19
Use-case driven
Architecture-centric
Iterative and incremental
20
Inception
Elaboration
Construction
Transition
21
z
z
z
z
22
Artifacts sets
z
Management set
Requirements set
Design set
Implementation set
Deployment set
23
Artifact sets
z
z
Each artifact set has a different intention and uses different notations to
capture the relevant artifacts.
Management Set:
Requirements set:
Design set:
Implementation set:
Deployment set:
24
Manage requirements
25
26
Use Case driven = Use cases are used as the primary artifacts
for deriving the architectural abstractions
use cases are specified, designed and are the source for test
cases
they drive system architecture
both mature as the development lifecycle continues
27
The form must allow the system to evolve from initial development
through future requirements (i.e. the design needs to be flexible)
Key use cases influence the design of the architecture which may
in turn influence development of other use cases
28
Unified Process:
Iterative Development
29
Analysis Model
Design Model
Deployment Model
Implementation Model
Test Model
30
Birth
---
Time
Inception
i1
i2
Elaboration
---
---
Construction
---
---
Transition
---
in-1
in
...
i = iteration
Releases
31
Workflow Activities
z
All activities that are place during a phase are called workflows
Workflows are the static part of process and are not associated
with a single phase
Development-oriented Workflows:
Cross-functional activities
32
Workflow Activities
z
Management workflow
Environment workflow
Assessment workflow
Creation of solution and design artifacts (system design model, object design
model).
Implementation workflow
Design workflow
Requirements workflow
Deployment workflow
33
Management Workflow
Environment Workflow
Requirements Workflow
Design Workflow
Implementation Workflow
Assessment Workflow
Deployment Workflow
34
RUP - Summary
z
The RUP is not a suitable process for all types of development but
it does represent a new generation of generic processes
Based on standards
Object-oriented Modeling
Unified Modeling Language
35
Overview
z
Waterfall
Spiral Model
Rational Unified Process
Agile Software Development and Extreme Programming (XP)
36
Rapid Development
Problem
z
Facts
z
37
Rapid Development
Solution:
z Rapid software development processes are designed to produce
useful software quickly.
z The processes of specification, design and implementation are
concurrent. There is no detailed specification and design
documentation is minimised.
z The system is developed in a series of increments. End users
evaluate each increment and make proposals for later increments.
z System user interfaces are usually developed using an interactive
development system (CASE tools).
z Accelerated delivery of customer services. Each increment
delivers the highest priority functionality to the customer.
z User engagement with the system. Users have to be involved in the
development which means the system is more likely to meet their
requirements and the users are more committed to the system.
38
Delivered system
Outline
requirements
Throw-away
prototyping
Executable prototype +
System specifica
tion
39
40
Incremental delivery
Embrace change
Maintain simplicity
http://www.agilemanifesto.org
Armin B. Cremers, Sascha Alda
41
42
Programming in pairs
43
Life Cycle of XP
44
Simple Design
45
Tests
Refactoring
Programming in pairs
always pair-programming
changing pairs (daily)
distributes knowledge within the team
46
Continuous integration
Standards (Coding)
is commonly accepted
47
Requirements
User participation
More cycles
More user involvement
48
Conclusions (XP)
z
Advantages
Flexible
Quick
Customer-centered
Team-oriented
Disadvantages
49
Conclusions
z
Agile Processes
50