Chapter2

Software Engineering Environment
 A quality
focus: constant incremental
improvement
 Process: framework to organize
development activities
 Methods: technical procedures
 Tools: CASE tools for example
Process includes:
 all
major process activities
 resources, constraints, schedule
 intermediate and final products
 subprocesses, with hierarchy or links
 entry and exit criteria for each activity
 sequence of activities, so timing is clear
 guiding principles, including goals of each
activity
 constraints for each activity, resource or
product
Reasons for modeling a process
 To
form a common understanding
 To find inconsistencies, redundancies,
omissions
 To find and evaluate appropriate activities
for reaching process goal
 To tailor a general process for the
particular situation in which it will be used
Examples of process models
 Waterfall
model, V-model, linear model
 Phased development: increments and
iteration
 Prototyping
 RAD
 Spiral model
------------------------------------------------------- Operational specification
 Transformational model
Linear Model
 Analysis
 Design
 Code
 Test
---------------------------------------------------------- Rarely used in real projects
 Customer rarely understand everything
 Not suitable for complex projects
Iterative Models
 Prototyping
model
 RAD: Rapid Application Development
 Spiral model
 Incremental model
SE Incorported - Email Memo
To: Team spokespersons
Meeting: 5:55 PM in Board room
Be ready to present a 2 minute presentation
on what your team’s next software project
will be.
 Introduce your team
 Introduce your product
 Answer questions
You’re on in 30 minutes!
1. Lower your standards: no Gettysburg
address is needed.
2. Determine your objective – if you had
called this meeting, what would you
expect?
3. Who are your listeners? What do they
expect? What do they want and need to
know? What concerns do they have?
You’re on in 30 minutes!
4. Create three key points.
- Project will meet the deadline.
- Project will generate sales.
- Similar projects can follow on this
experience.
5. Get back-up information.
- Our customer-approval rating when up
27% after we adopted this policy.
You’re on in 30 minutes!
6. Prepare an outline (be reasonable about
time).
7. Are there any easily available
enhancements: charts, graphs, …
8. Know your opening and closing
comments.
9. Be positive, rehearse your main points
during a calm quiet moment, go do it.
How do I remember all this?
Development Models
Incremental Model

The basis for the entire project
 Each release implements a new feature.
RAD Development Model
Rapid Application Development Model
Development Models
Agile Process Models
 http://www.extremeprogramming.org/
 http://www.xpuniverse.com/home
Go to one or both of the following sites.
Investigate Xtreme Programming or some
other agile development process – write
(word process) a paragraph on something
interesting you have learned.
Extreme Programming
Desirable properties of process
modeling tools and techniques
 Facilitates
human understanding and
communication
 Supports process improvement
 Supports process management
 Provides automated guidance in
performing the process
 Supports automated process execution
Mars Mission
NASA has asked for proposals on planning their
human Mars mission. The software project will
coordinate all idea and documentation efforts
preparing for the mission. Funding is very fluid
and specifications could change drastically.
NASA will actually use prototype versions as
they are being developed. Our company, like
others, may have some existing software
package that we may be able to start with.
SE Incorported - Email Memo
To: Project Teams
Our Mars Project proposal needs lean responsive
innovative software development model. Word is
that NASA will no longer accept traditional,
cumbersome, and less flexible models.
Be ready to present a 2 minute presentation on
your team’s innovative model:
 Draw diagram on board
 Introduce your team
 Introduce your model
 Be ready for questions
Slides are based (sometimes solely,
sometimes partially, and sometimes notat-all) on copyrighted Prentice Hall
materials associated with Software
Engineering Theory and Practice by Shari
Lawrence Pfleeger.