■ SOFTWARE ENGINEERING NOTES (UNIT-1 & UNIT-2)
-----------------------------------------------
UNIT-1: INTRODUCTION TO SOFTWARE ENGINEERING
-----------------------------------------------
1. The Evolving Role of Software
- Acts as both a product and a vehicle.
- Product → Produces information, manages data.
- Vehicle → Controls hardware, networking, OS.
2. Changing Nature of Software
- Past → Standalone applications.
- Present → Web, mobile, AI, cloud-based systems.
3. Legacy Software
- Old, poor quality, no documentation.
- Hard to maintain, not compatible.
- Solution → Re-engineering, re-architecting.
4. Software Myths
- Management: "Adding people makes project faster."
- Customer: "Requirements can change anytime."
- Developer: "Once code is done, job is finished."
5. A Generic View of Process
- Layers: Quality → Process → Methods → Tools
6. Process Framework
- Activities: Communication, Planning, Modeling, Construction, Deployment.
- Umbrella Activities: Risk management, Quality assurance, SCM, Documentation.
7. Capability Maturity Model Integration (CMMI)
Levels:
1. Initial – Ad-hoc
2. Repeatable – Basic PM
3. Defined – Standard process
4. Managed – Quantitative management
5. Optimized – Continuous improvement
8. Process Models
- Waterfall → Sequential, clear requirements.
- Incremental → Delivered in modules.
- Evolutionary → Prototype, Spiral (risk-driven).
- Specialized → Component-based, formal methods.
- Unified Process → Iterative, phases (Inception, Elaboration, Construction, Transition).
-----------------------------------------------
UNIT-2: SOFTWARE REQUIREMENTS
-----------------------------------------------
1. Types of Requirements
- Functional: What system should do (ATM withdraws cash).
- Non-functional: Quality (response within 2 sec).
- User requirements: Natural language.
- System requirements: Technical detail.
- Interface specification: Inputs/Outputs, APIs.
- SRS: Document with all requirements.
2. Requirements Engineering Process
1. Feasibility Study → Check cost, time, technology.
2. Elicitation & Analysis → Collect requirements.
3. Validation → Correct, complete, consistent?
4. Management → Handle changes.
3. System Models
- Context Models → Show system boundary, external interaction.
- Behavioral Models → State diagrams, sequence diagrams.
- Data Models → DFD, ER diagrams.
- Object Models → Class diagrams, OO structure.
- Structured Methods → Standard techniques for modeling.
-----------------------------------------------
■ Exam-Ready Notes: Short, clear, structured points.