Software Engineering Complete Notes | SDLC, Models & More | Khalsa College Mohali, Study notes of Software Engineering

Well-structured Software Engineering notes covering SDLC, Waterfall, Agile, RAD models, requirement analysis, testing, and project management. Useful for BCA/BSc CS students at Khalsa College Mohali.

Typology: Study notes

2025/2026

Available from 05/10/2026

sukhmeen-dhiman
sukhmeen-dhiman 🇮🇳

15 documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOFTWARE ENGINEERINGRING — SHORT
ANSWER PREP 2-
Short Answer Exam Preparation
2-Mark & 4-Mark Questions with Answers
Section – A - 2-Mark Questions
20 Questions | Definition / One-liner answers
Section – B - 4-Mark Questions
20 Questions | Brief explanation with examples
Q- What is Software Engineering?
Software Engineering is the application of a systematic, disciplined, and
quantifiable approach to the development, operation, and maintenance of
software.
It applies engineering principles to produce reliable, efficient, and
maintainable software within time and cost constraints.
Q- What is Software Development Life Cycle?
The Software Development Life Cycle (SDLC) is a structured process
that defines all activities involved in planning, developing, testing,
deploying, and maintaining a software system in a systematic and
disciplined way.
Phases: Planning Requirements Analysis System Design
Implementation Testing Deployment Maintenance
Q- What is Software Process?
]A software process is a structured set of activities required to develop a
software system. It defines who does what, when, and how to achieve a
specific software engineering goal.
• Key activities: Specification, Development, Validation, Evolution
Q- What is Software Metrics?
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download Software Engineering Complete Notes | SDLC, Models & More | Khalsa College Mohali and more Study notes Software Engineering in PDF only on Docsity!

SOFTWARE ENGINEERINGRING — SHORT

ANSWER PREP 2-

Short Answer Exam Preparation 2-Mark & 4-Mark Questions with Answers Section – A - 2-Mark Questions 20 Questions | Definition / One-liner answers Section – B - 4-Mark Questions 20 Questions | Brief explanation with examples Q- What is Software Engineering? Software Engineering is the application of a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software. It applies engineering principles to produce reliable, efficient, and maintainable software within time and cost constraints. Q- What is Software Development Life Cycle? The Software Development Life Cycle (SDLC) is a structured process that defines all activities involved in planning, developing, testing, deploying, and maintaining a software system in a systematic and disciplined way.

  • Phases: Planning Requirements Analysis System Design Implementation Testing Deployment Maintenance Q- What is Software Process? ] A software process is a structured set of activities required to develop a software system. It defines who does what , when , and how to achieve a specific software engineering goal.
  • Key activities: Specification, Development, Validation, Evolution Q- What is Software Metrics?

Software Metrics are quantitative measures used to assess the characteristics of a software product, process, or project. They provide objective data to support engineering and management decisions. Famous quote: 'You cannot control what you cannot measure.' — Tom DeMarco Q- What is Cyclomatic Complexity? Cyclomatic Complexity V(G) is a software metric introduced by Thomas McCabe (1976) that measures the number of linearly independent paths through a program's source code, based on its Control Flow Graph. V(G) = E  N + 2P OR V(G) = Decision Points + 1

  • E = Edges, N = Nodes, P = Connected components (usually 1) ? [2 Marks] Q- What is Software Requirements Specification? A Software Requirements Specification (SRS) is a formal document that completely and precisely describes the behavior, functionality, and constraints of a software system to be developed. It serves as the official contract between the client and the development team. Q- What is Data Dictionary? ark & 4-MaQ1 Define A Data Dictionary is a centralized repository of metadata — data about data — that formally defines the meaning, structure, type, range, format, and relationships of all data elements used in a system.
  • It eliminates ambiguity and ensures consistent data usage across the team. Q- What is Software Quality? ark & 4-MaQ1 Define Q Software Quality is the degree to which a software product conforms to its specified requirements and satisfies the needs of its users. It covers both functional correctness and non-functional attributes like reliability, performance, and usability. Q- What is SCM? ark & 4-MaQ1 Define Q SCM is the discipline of identifying, organizing, and controlling modifications to software artifacts throughout the project lifecycle. Its goal is to ensure the right version of the right component is available to the right

Focus Specifications and standards User needs & expectations Activities Reviews inspections, walkthroughs Testing UAT prototyping 2 Marks] Q- What is Entity Relationship Diagram (ERD)? An Entity Relationship Diagram (ERD) is a graphical model showing the entities in a system and the relationships between them. Introduced by Peter Chen (1976), it is the primary tool for conceptual database design.

  • Components: Entities, Attributes, Relationships, Cardinality Q- What is Data Flow Diagram (DFD)? 4-Ma Q1 Define Q A Data Flow Diagram (DFD) is a graphical representation of how data flows through a system, showing processes, data stores, external entities, and data flows without implementation details.
  • Symbols: Rectangle (Entity), Circle (Process), Open Box (Data Store), Arrow (Data Flow) Q17 Define Defect Density. [2 Marks] Q- What is Defect Density? ark & 4-Ma Q1 Define Q Defect Density is a software quality metric that measures the number of confirmed defects identified in a software component relative to its size. Defect Density = Number of Defects / Size (KLOC or Function Points)
  • Lower defect density = higher software quality Q- What is Fan-Out & Fan-In? Fan-Out is the number of modules directly called by a given module. High fan-out (>7) indicates a module has too many responsibilities. Fan-In is the number of modules that directly call a given module. High fan- in indicates a highly reusable module — desirable.
  • Design goal: High Fan-In, Low Fan-Out Q- What is COCOMO? COCOMO (Constructive Cost Model), proposed by Barry Boehm (1981), is a software cost estimation model that predicts development effort and duration based on the size of the software in KLOC. E = a × (KLOC)b Person-Months | D = c × (E)d Months
  • Types: Basic, Intermediate, Detailed COCOMO Q- What is data flow? A data flow represents the movement of data between elements in a DFD. It is shown as a labeled arrow and indicates what data is transferred — not how it is transferred or processed.
  • Rules: Must be labeled; flows between entities and processes; not between two entities directly SOFTWARE ENGINEERING — SHORT ANSWER PREP 2-Mar= SEC SECTION – B – 4 MARKS Q- Describe about Waterfall Model? The Waterfall Model (Winston Royce, 1970) is the oldest SDLC model following a strictly sequential, linear flow. Each phase must be fully completed before the next begins — like water flowing downward. No phase can be revisited once complete. Phase Flow Phase Key Activity Output Requirements Gather and document all requirements SRS Document Design Translate requirements into architecture HLD & LLD Documents Implementation Write and compile source code Executable Modules Testing Find and fix defects Test Reports Deployment Release to production Running System Maintenance Bug fixes, enhancements Updated System Advantages & Disadvantages Advantages  Simple and easy to understand  Clear deliverables at each phase  Easy to estimate cost and schedule  Good documentation throughout Disadvantages  No working software until very late
  1. Requirements Gather and document SRS Document Analysis all user needs
  2. System Design Define architecture, HLD & LLD Documents database, interfaces
  3. Implementation Write code based on Source Code design specifications
  4. Testing Verify system meets Test Reports, Bug Logs all requirements
  5. Deployment Release tested Running System system to production
  6. Maintenance Post-delivery fixes Updated System and enhancements Why SDLC Matters
  • Provides structured approach — reduces chaos and ensures quality at every step
  • Defects caught early (in planning or design) cost 10–100x less than those found after deployment Q4 Explain the Prototyping Model with its types. [4 Marks] Q- Describe about Prototyping Model? The Prototyping Model builds a quick, preliminary version of the system to clarify unclear requirements and gather user feedback before full development begins. It reduces the risk of building the wrong system. Prototyping Process Step Activity
  1. Initial Requirements Gather basic high-level requirements from client
  2. Build Prototype Develop a quick working model of the system
  1. User Evaluation Present to client; gather detailed feedback
  2. Refine Requirements Update requirements based on client reaction
  3. Repeat steps 2–4 until client approves prototype
  4. Full Development Use approved prototype as basis for full development Types of Prototypes
  • Throwaway: Built quickly to clarify requirements; discarded after. Best when requirements are very unclear.
  • Evolutionary: Continuously refined; eventually becomes the final product. Best when requirements evolve gradually.
  • Incremental: Multiple prototypes built for different subsystems, merged into final product
  • Extreme Prototype: 3 phases — static UI simulated services real services. Used for web apps Advantages & Disadvantages Advantages Clarifies unclear requirements early Increases user involvement Reduces misunderstanding risk a Go Disadvantages Developers may take shortcuts that persist Adds time and cost to build prototype Q5 are the Characteristics of Q – Describe about characteristics of a good SRS?

Non-Functional Requirements (NFR) define HOW the system must perform — quality attributes and constraints. Category Performance Security Reliability Usability Key Difference

  • FR describes behavior ; NFR describes quality of that behavior
  • FR: 'The system shall do X'; NFR: 'The system shall be Y' Q – Describe about Definition & Formula Of Cyclomatic Complexity Cyclomatic Complexity V(G) (Thomas McCabe, 1976) measures the number of linearly independent paths through a program. It determines the minimum number of test cases needed for full branch coverage. V(G) = E  N + 2P (Graph method) V(G) = Number of Decision Points + 1 (Decision method) Q- What is Software Metrics? ark & 4-Ma Q1 Define Q Software metrics are classified into three major categories: Product, Process, and Project metrics. A) Product Metrics Measure characteristics of the software product itself — size, complexity, design quality. Metric Description

LOC / KLOC Lines of code — basic size measure Cyclomatic Complexity Number of independent paths V(G) = E-N+2P Defect Density Defects / KLOC — lower = higher quality Function Points Language-independent measure of functionality CBO (Coupling) Number of inter-class dependencies — lower is better B) Process Metrics Measure efficiency and effectiveness of the development process. Metric Description Test Coverage % of code exercised by test suite SOFTWARE ENGINEERING — SHORT ANSWER PREP 2-Mark & 4- Metric Defect Detection Efficiency % of defects found before release Review Efficiency Defects found per hour of review CMMI Level Process maturity Level 1 (chaotic) to Level 5 (optimising) C) Project Metrics Measure project health — schedule, cost, and productivity. Metric Formula Interpretation Schedule Variance EV PV Positive = ahead of schedule Cost Variance EV AC Positive = under budget SPI EV / PV > 1 = efficient schedule CPI EV / AC > 1 = cost-efficient Explain Level 0 and Level 1. [4 Marks] Q- Describe about Data Flow Diagram (DFD)?

  • External entities cannot communicate directly with data stores Q10 Explain Cardinality in ERD with examples. [4 Marks] Q- Describe about Cardinality? Cardinality in an ERD defines the numerical relationship between instances of two entities in a relationship — how many of one entity can be associated with how many of another. Types of Cardinality Type Notation Meaning Real-World Example One to One (1:1) One entity relates to one Employee has one Passport Other One to Many (1:N) One entity relates to One Department has many many instances Employees Many to Many (M:N) Many entities relate to Many Students enrol in many others many Courses How to Determine Cardinality
  • Ask: 'How many B can one A have?' and 'How many A can one B have?'
  • Example: Can one Student enrol in many Courses? YES. Can one Course have many Students? YES M:N
  • Example: Can one Manager manage many Employees? YES. Can one Employee have many Managers? NO 1:N Importance
  • Cardinality determines how tables are structured and how foreign keys are placed in the relational database
  • M:N relationships require a junction/bridge table in the physical database Q11 What is SCM? Name and explain its key activities. [4 Marks] Q- What is Software Configuration Management (SCM)? Software Configuration Management (SCM) is the discipline of systematically identifying, organizing, and controlling changes to all software artifacts throughout the project lifecycle. Its goal: the right version of the right component reaches the right person at the right time. Q - Describe about Project Planning? Project Planning is the management activity of establishing a detailed roadmap for completing a software project — defining goals, estimating effort and cost, scheduling tasks, allocating resources, and identifying risks before technical work begins. Key Planning Activities
  • Scope Definition: Define what is and is not included in the project
  • Effort Estimation: Estimate person-months required using COCOMO or expert judgment
  • Schedule Planning: Create Gantt Chart; identify critical path using PERT/CPM
  • Risk Planning: Identify risks, assess probability/impact, plan mitigation
  • Resource Planning: Allocate team members, tools, hardware, and budget Importance of Project Planning o Clear Direction – o Team has shared roadmap with defined goals, roles, timelines o Resource Optimisation –
  • Example: A new user completes registration without any training or assistance 3. Security o The degree to which the product protects information from unauthorized access, disclosure, or modification.
  • Sub-attributes: Confidentiality, Integrity, Non-repudiation, Authenticity
  • Example: Banking app encrypts all transactions and prevents SQL injection attacks 4. Maintainability o The effectiveness with which the product can be modified to correct faults, improve performance, or adapt to new requirements.
  • Sub-attributes: Modularity, Reusability, Analysability, Testability
  • Example: A bug is fixed in one module without affecting any other part of the system Q - Describe about SRS? s] It defines a structured template for the SRS document with the following main components: Components Section Sub-sections Content
  1. Introduction Purpose — why SRS is written, intended audience Scope — software name, goals, what it will/won't do Definitions & Acronyms — glossary of all technical terms References — all referenced Overview — organisation of remainder of SRS
  1. Overall Description Product Perspective — context, environment Product Functions — high-level summary of all functions User Characteristics — expected users & expertise Constraints — hardware limits, regulatory requirements Assumptions & Dependencies — assumed facts
  2. Specific Functional Requirements—detailed Requirements Non-Functional Requirements — performance, security External Interface Requirements- user/hardware/software APIs Design Constraints — standards, legal requirements
  3. Appendices Data Dictionary, ERD, DFD, Use Cases Importance
  • Standard structure ensures completeness and consistency
  • Makes the SRS modifiable — any section can be updated without affecting others Q15 Explain Data Dictionary with notation. [4 Marks] Q – Definition of Data Dictionary? A Data Dictionary is a centralized repository of metadata formally defining the meaning, structure, type, range, and relationships of every data element in the system. It ensures consistent data definitions across all teams. Q - Definition of Earned Value Management (EVM)?

Key Insight

  • These challenges are why a systematic, disciplined engineering approach is necessary — ad-hoc development consistently fails to address them Q - Describe about Software Process? A software process is a structured set of activities required to develop a software system. A good software process must possess the following characteristics to be effective: Characteristics Characteristic Description Benefit Understandability Clearly defined and documented, Reduces confusion; all participants understand it better team coordination Visibility Progress milestones are externally Enables effective observable & measurable management Supportability Can be supported by CASE Reduces manual effort tools & software environments improves consistency Acceptability Engineering staff accept and High adoption willingly follow the process process followed faithfully Reliability Designed to avoid errors & Higher quality output detect problems early fewer process failures Robustness Can cope with unexpected Resilience to disruptions problems without complete Breakdown Maintainability Can evolve to reflect changing Long-term sustainability requirements or technology

Rapidity Completes delivery of a system Meets market & client within required timescales deadlines Summary

  • A process that is visible, reliable, and acceptable achieves both high quality and on-time delivery Q - Describe about Coupling? Coupling measures the degree of interdependence between software modules. Goal: Low (Loose) Coupling — modules should be as independent as possible. Type Description Quality Content Coupling One module modifies internals of another Worst Common Coupling Modules share global data variables Poor Control Coupling One module controls flow of another via flags Moderate Stamp Coupling Modules share composite data structure Acceptable Data Coupling Modules share only necessary data via parameters Best Q - Describe about Cohesion? Cohesion measures how closely related the functions within a single module are. Goal: High (Functional) Cohesion — a module should do one thing well. Type Description Quality Coincidental Elements grouped randomly with no relation Worst Logical Similar functions grouped (e.g., all I/O operations) Poor Temporal Elements executed at the same time Moderate Procedural Elements follow a specific sequence Moderate Communicational Elements work on the same data Good