Software Development –
The structured approach is needed due to dependence on software
User-Designer Communication Gap
Caused by differences in background
Benefits of User Involvement
Better alignment with needs
Importance of Management Involvement
Ensures commitment
Attributes of Well-Engineered Software
Maintainability dependability efficiency usability portability and documentation availability.
Software Dependability
Includes reliability safety and security; software should not cause physical or economic damage.
Five Software Manuals
Functional description installation document introductory manual reference manual administration manual.
Four Fundamental Software Process Activities
Specification development validation evolution.
Three Solutions to a System Problem
Leave system unchanged enhance existing system develop a new system.
SDLC Stages
Project Identification & Selection → Initiation & Planning → Analysis → Logical Design → Physical Design → Implementation → Maintenance.
Logical Design
Defines functional features independent of hardware or software platforms.
Physical Design
Transforms logical specifications into technical implementation details.
Main Process Models
Waterfall, evolutionary development, formal systems development, reuse-oriented model.
Waterfall Model Weakness
Inflexible and difficult to handle requirement changes.
Types of Evolutionary Development
Exploratory development and throw-away prototyping.
Advantage of Evolutionary Development
Fast feedback and improved requirement understanding.
Disadvantage of Evolutionary Development
Poor structure low visibility and specialized tool requirements.
Formal Systems Development
Uses mathematical specifications and transformations to produce correct programs.
Weakness of Reuse-Oriented Development
Requires requirement compromises and loses control over component evolution.
Incremental Development
Builds system in prioritized functional increments.
Advantages of Incremental Development
Early delivery reduced risk improved feedback and more testing of core services.
Spiral Model Unique Feature
Explicit risk analysis at each loop.
Types of Software Risks
Project risks product risks business risks.
Risk Management Stages
Identification analysis planning monitoring.