Key Features :
1.Parallel Activities
2.Flexible Flow
3.Dynamic Transitions
Specialized Process Models
Specialized process models are like custom-tailored versions of standard
models. They fit specific situations better than generic models.
Key Points:
• These models adapt features of traditional process models.
• Used when a specialized or narrowly defined approach is needed.
Component-Based Development
(CBD)
• Uses commercial off-the-shelf (COTS) components.
• Incorporates features of the Spiral Model — iterative and evolutionary.
• Builds applications from prepackaged software components.
• Steps:
• Research available products.
• Consider integration issues.
• Design architecture.
• Integrate components.
• Conduct comprehensive testing.
• Benefits: Software reuse, reduced cost, shorter development cycles.
CBD is like building with Lego blocks — pre-made, ready-to-use parts that
you assemble into a complete system.
The Formal Methods Model
• Uses mathematical specification to design and verify software.
• Eliminates ambiguity, incompleteness, and inconsistency.
• Helps detect hidden errors during design.
• Drawbacks:
• Time-consuming & expensive.
• Requires highly skilled engineers.
• Hard to apply in all projects.
This is the most rigorous method — like proving your program works
using math rather than trial and error.
Aspect-Oriented Software
Development (AOSD)
• Focuses on crosscutting concerns (features affecting multiple parts of
the system).
• Aspects = features that go beyond normal modules (e.g., security,
logging).
• Allows localized implementation without scattering code.
• Aspect-Oriented Component Engineering (AOCE) organizes aspects
into vertical slices with functional and non-functional properties.
AOSD is like adding “special effects” to a movie — applied in multiple
places without rewriting the whole script.
Personal and Team Process Models
• Definition & Importance
• Best software process = close to people doing the work.
• Adaptable to meet project, team, and organization needs.
• Two approaches by Watts Humphrey:
• PSP – Personal Software Process.
• TSP – Team Software Process.
Personal Software Process (PSP)
• Purpose:
• Improves individual’s software engineering skills.
• Focuses on measurement, planning, and quality control.
• Five Framework Activities:
• Planning – Requirements, size/resource/defect estimation, schedule creation.
• High-Level Design – Component specs, prototypes, record issues.
• High-Level Design Review – Formal verification, track metrics.
• Development – Refine design, code, test, record metrics.
• Postmortem – Analyze collected metrics, process improvement.
• Benefits & Challenges:
• Improves productivity & quality.
• Requires high commitment, training, and measurement discipline.
Team Software Process (TSP)
• Purpose:
• Builds self-directed teams to produce high-quality software.
• Objectives:
• Self-directed planning & tracking.
• Clear roles & responsibilities.
• CMM Level 5 behavior as standard.
• Risk assessment & management.
• Teaching industrial-grade team skills.
• Framework Activities:
• Project Launch
• High-Level Design
• Implementation
• Integration & Test
• Postmortem
• Key Features:
• Uses scripts, forms, and standards.
• Metrics-based improvement.