Drexel University
1
CS 451 Software Engineering Winter Term Yuanfang Cai Room 104, - - PowerPoint PPT Presentation
CS 451 Software Engineering Winter Term Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Drexel University PROCESS MODEL A structured collection of practices Describe characteristics of effective process
Drexel University
1
Drexel University
A structured collection of practices Describe characteristics of effective process CMMI is not a process CMMI describes the characteristics of effective
2
Drexel University
3
Drexel University
Regardless of the model, all models contain the following
communication planning modeling construction deployment Which of these phases do you think is most difficult and
4
Drexel University
What do you think the most popular process
Waterfall Incremental Evolutionary Formal
5
Drexel University
The “Classic Life Cycle”, The “Textbook Cycle” A systematic, sequential approach with the following
Customer Specification of Requirements (Communication) Planning (Estimating, Scheduling, Tracking) Modeling (Analysis and Design) Construction (Code and Test) Deployment (Delivery, Support, and Feedback)
6
Drexel University
The book calls the first phase communication. I do not
7
Drexel University
When is the waterfall process model appropriate? In a purest sense, probably never. I have never worked
However, the waterfall process is appropriate if followed
Well defined projects Projects with no technology risks Well defined domains Stable requirements
8
Drexel University
Why is it difficult to follow?
Hard to follow a strictly sequential path. Customers have difficulty stating ALL the requirements
Customers business model changes during the course
Customers are required to have patience, since a
9
Drexel University
Even with well defined projects, a linear approach is
Additionally, sometimes a portion of the software needs
The incremental model combines elements of the
Incremental model delivers an operational product with
Works well for project resource management (staffing).
10
Drexel University
11
Drexel University
Customers define general objectives, but does
Often, the customer doesn’t know what they
A repeating cycle of the following steps include:
Communication Quick Plan Modeling Quick Design Construction of Prototype Deployment & Feedback
12
Drexel University
Depending upon the complexity I recommend a first pass
“Paper” can be virtual with mockups of the application
Second pass could be a semi functional application with
13
Drexel University
Third pass for the developers to try any unknown
Often good for these prototypes to be used for
14
Drexel University
Drawbacks:
Customers like the prototype and want to place it in
Developers forget the design decisions and their
15
Drexel University
An evolutionary software model that couples the
This is true, but with one addition: risk analysis. At each cycle through the spiral, milestones are
16
Drexel University
17
Drexel University
Most developers lean towards evolutionary process
They have inherent problems:
Prototyping and similar evolutionary models are hard to plan,
thus hard to estimate, thus hard to contract. How many cycles will there be?
Speed of evolution is difficult to dictate
Is the third statement true? Why is this a goal?
18
Drexel University
The Formal Methods Model encompasses a set of
In theory, the following is reduced when using formal
Ambiguity Incompleteness Inconsistency
Do you agree?
19
Drexel University
Drawbacks:
The development of formal models is currently quite time
consuming and expensive
Few software developers have the background, thus extensive
training is required. (is training viable? COBOL -> OOP)
Difficult to use formal model to communicate with a non-
technical customer.
Forest and Trees.
Useful for safety critical application or anywhere failure is
20
Drexel University
21
Drexel University
Value individuals and interactions over
Value working software over comprehensive
Value customer collaboration over contract
Value responding to changes over following a
22
Drexel University
A process is required Discipline is essential 12 principles
23
Drexel University
1.
2.
3.
24
Drexel University
4.
5.
6.
7.
25
Drexel University
8.
9.
26
Drexel University
27
Drexel University
Each has a set of “ideas” that represent a
Are the agility ideas really new?
28
Drexel University
Agile Unified Process (AUP) Dynamic Systems Development
Essential Unified Process (EssUP) Extreme Programming (XP) Feature Driven Development (FDD) Open Unified Process (OpenUP) Scrum Velocity tracking
29
Drexel University
Planning
User stories
Values Acceptance test criteria
Iteration plan
Design
Simple design
CRC cards
Spike solutions
prototypes
30
Drexel University
Coding
Pair programming Refactoring
Test
Unit test
Continuous integration
Acceptance testing
Release
Software increment
31
Drexel University
32
Drexel University
33
Drexel University
34
Drexel University
35
Drexel University
Prescriptive Models
Waterfall Incremental Evolutionary Agile
36