Software Engineering
DSSSB TGT CS — Section B P2 (Rank ~13). Focus: SDLC, models, coupling/cohesion, testing, UML keywords, quality.
1. SDLC Phases
Typical waterfall-style phases:
- Requirement analysis
- Design (HLD / LLD)
- Implementation / coding
- Testing
- Deployment
- Maintenance
Also: feasibility, planning, documentation throughout.
2. Process Models
| Model | Idea | When |
|---|---|---|
| Waterfall | Sequential phases; little backtrack | Clear, stable requirements |
| Prototype | Build throwaway/evolving mock to clarify needs | Unclear UI/requirements |
| Spiral | Iterations + risk analysis each loop | Large, high-risk projects |
| Agile | Iterative, incremental, customer collaboration | Changing requirements |
| Scrum (Agile) | Sprints, Product Owner, Scrum Master, backlog, daily stand-up | Agile teams |
- Incremental / iterative / V-model — awareness.
- Trap: Spiral’s distinctive feature = risk evaluation each cycle.
Scrum keywords
- Sprint — time-boxed iteration
- Product backlog / sprint backlog
- Daily scrum, sprint review, retrospective
- Roles: Product Owner, Scrum Master, Development Team
3. SRS (Software Requirement Specification)
- Formal document of what the system should do (not how).
- Functional vs non-functional requirements (performance, security, usability).
- Qualities: unambiguous, complete, consistent, verifiable, modifiable.
- Basis for design, testing, contracts.
4. Coupling & Cohesion
| Goal | Meaning | |
|---|---|---|
| Cohesion | High | How closely elements of a module belong together |
| Coupling | Low | How interdependent modules are |
Cohesion types (high→low exam order often): functional > sequential > communicational > procedural > temporal > logical > coincidental.
Coupling types (low→high loosely): data < stamp < control < common < content.
- Good design: high cohesion, low coupling.
5. Testing Levels
| Level | Focus |
|---|---|
| Unit | Smallest piece (function/class) |
| Integration | Interfaces between modules |
| System | Whole system vs requirements |
| Acceptance | Customer/user validation (UAT) |
Order usually bottom-up: unit → integration → system → acceptance.
6. Black-Box vs White-Box
| Black-box | White-box | |
|---|---|---|
| Sees | Inputs/outputs only | Internal code/logic |
| Based on | Specs / requirements | Structure (paths, branches) |
| Examples | Equivalence partitioning, boundary value | Statement, branch, path coverage |
- Regression testing: retest after changes.
- Alpha (in-house) vs beta (external users) — common MCQ.
7. UML (brief)
| Diagram | Shows |
|---|---|
| Use-case | Actors ↔ system capabilities |
| Class | Classes, attributes, methods, relationships |
| Sequence | Objects + messages over time (interaction) |
| Also (awareness) | Activity, state, component, deployment |
- Use-case = functional view; class = static structure; sequence = dynamic interaction.
8. Maintenance Types
| Type | Meaning |
|---|---|
| Corrective | Fix faults |
| Adaptive | New environment/OS/platform |
| Perfective | Improve performance/usability/features |
| Preventive | Reduce future faults (reengineering) |
Maintenance often dominates life-cycle cost.
9. CASE Tools
CASE = Computer-Aided Software Engineering.
- Upper CASE: requirements/design
- Lower CASE: coding/testing/support
- Integrated CASE: broader life cycle
Examples (generic): diagramming, debuggers, config management, test tools.
10. Software Metrics (brief)
| Metric | Idea |
|---|---|
| LOC | Lines of Code — size (simple, flawed) |
| Effort | Person-months; models like COCOMO (awareness) |
| Function points | Size by functionality (awareness) |
| Defect density | Defects per size unit |
- More LOC ≠ better quality.
11. Quality Keywords
| Term | Idea |
|---|---|
| ISO 9000 / 9001 | Quality management standards family |
| CMMI | Capability Maturity Model Integration — process maturity levels |
| CMMI levels (classic) | Initial → Managed → Defined → Quantitatively Managed → Optimizing |
- Quality assurance (process) vs quality control (product checks) — exam distinction.
Quick Revision Traps
- Waterfall = linear; Spiral = risk-driven loops; Agile = adaptive iterations.
- SRS = what, design = how.
- High cohesion + low coupling.
- Black-box ignores code; white-box uses structure.
- Acceptance testing = user/customer side.
- Corrective vs adaptive vs perfective maintenance.
- CMMI = maturity levels; ISO = quality management standards.