[an error occurred while processing this directive]
Software Engineering
- For single person projects we can do "Back of the
envelope" design followed by coding and debugging.
- Multiple person projects require
a more formal, organized process.
Typical steps...
- formal design (e.g., structured or object-oriented design)
- identify modules
- develop a test plan based on the design
- code modules
- develop test plan of individual module based on code
- test modules in isolation
- test integrated whole
Why are all these steps necessary?
- (1) Programming is easier than (2) producing a programming system.
- (2) Producing a programming system is easier than (3) producing a programming system product.
-- F.P. Brooks (The Mythical Man-Month): each is at least
three times more expensive than the previous.
-- Barry Boehm (Software Engineering Economics) estimates
that specification errors repaired in later stages of software
development can cost as much as 100 times more to fix
than if caught at specification time.
The Software Lifecycle
- Requirements Analysis
- System Specification
- Design
- Implementation (programming)
- Unit Testing
- Integration Testing
- Maintenance (fixing problems, adding enhancements)
Most of the software lifecycle time is spent here
How are these steps done?
- Waterfall model
- Spiral model
[an error occurred while processing this directive]
last modified on Thursday, 23-Jan-1997 14:51:22 EST