0% found this document useful (0 votes)
4 views24 pages

Software Engineering My Notes

The document discusses various software development models, focusing on the advantages of the Spiral Model over the Waterfall Model, emphasizing risk management, iterative development, and customer feedback. It also covers feasibility studies, the Basic COCOMO model for cost estimation, and the Agile process, highlighting their definitions and characteristics. Additionally, it includes topics on data dictionaries, data flow diagrams, testing methodologies, and control flow graphs.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views24 pages

Software Engineering My Notes

The document discusses various software development models, focusing on the advantages of the Spiral Model over the Waterfall Model, emphasizing risk management, iterative development, and customer feedback. It also covers feasibility studies, the Basic COCOMO model for cost estimation, and the Agile process, highlighting their definitions and characteristics. Additionally, it includes topics on data dictionaries, data flow diagrams, testing methodologies, and control flow graphs.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

UNIT 1 –

Short Answer Questions (5 marks each)

1. Discuss the advantages of the Spiral Model over the Waterfall Model.

The Spiral Model, proposed by Barry Boehm, improves significantly on the rigid, linear nature of the
Waterfall Model. The major advantages are:

1. Risk Management is Integral

Risk analysis is performed in every phase of Spiral. High-risk areas (e.g., unclear requirements, new
technology) are identified early. This makes Spiral suitable for large, complex, mission-critical
projects.

Waterfall has no structured risk handling, making it dangerous for uncertain projects.

2. Iterative & Evolutionary

Spiral is inherently iterative. The product evolves through multiple spirals (cycles), and each iteration
ends with a working prototype or deliverable.

Waterfall is non-iterative—after a phase is completed, it cannot be revisited easily.

3. Continuous Customer Feedback

Each loop involves customer evaluation. This leads to:

• Better alignment with requirements

• Early detection of misunderstandings

• Improved customer satisfaction

In contrast, Waterfall only involves the customer at the beginning and end.

4. Accommodates Changing Requirements

Spiral naturally welcomes requirement changes during development, making it suitable for:

• R&D projects

• Innovation-heavy systems

• Projects with evolving needs

Waterfall assumes requirements are fixed, which is unrealistic in modern software development.

5. Early Prototyping

Spiral encourages prototyping during early iterations, helping clarify requirements, user
expectations, and interface behavior.

Waterfall typically produces a prototype late, if at all.

6. Better Project Control

Spiral allows:

• Frequent progress evaluations


• Cost and schedule refinement

• Early error detection

Waterfall delays integration and testing until the end, leading to late discovery of issues.

2. Short notes on Feasibility Study and its Types.

Feasibility Study – Definition

A Feasibility Study assesses whether a proposed software project is:

• Technically possible

• Economically viable

• Operationally acceptable

• Legally compliant

• Possible within time constraints

It determines if the project should proceed.

Types of Feasibility

1. Technical Feasibility

Assesses whether the organization has:

• Required technology

• Hardware/software tools

• Technical expertise

• Support infrastructure
Example: Does the team know machine learning if the system requires it?

2. Economic Feasibility (Cost–Benefit Analysis)

Determines if the project is financially viable.


Includes:

• Development cost

• Operational cost

• Maintenance cost

• Tangible & intangible benefits


Uses ROI, NPV, payback period.

3. Operational Feasibility

Evaluates:

• Whether users accept the system


• Whether the system fits current workflows

• Whether management supports the project

Example: A complex system that employees refuse to use is operationally unfeasible.

4. Schedule Feasibility

Determines whether the project can be completed within:

• Deadlines

• Time constraints

• Customer expectations

If the timeline is unrealistic, the project becomes risky.

5. Legal Feasibility

Ensures compliance with:

• Cyber laws

• Data protection regulations

• Copyrights, patents

• Industry standards

Example: Storing customer data must comply with privacy laws.

3. Discuss the Basic COCOMO Model in detail.

The Basic COCOMO (Constructive Cost Model) is a software cost estimation model created by Barry
Boehm.

Purpose

To estimate:

• Effort (person-months)

• Time (months)

• People required

Based on the size of software measured in KLOC (thousand lines of code).

Basic COCOMO Formula

1. Effort (E):

𝐸 = 𝑎 × (KLOC)𝑏 (person-months)

2. Development Time (T):

𝑇 = 𝑐 × (𝐸)𝑑 (months)
PEOPLE=EFFORT/TIME
3. Staffing Requirement:
𝐸
People =
𝑇

COCOMO Project Categories

Type Description Examples Constants (a, b, c, d)

Small, simple projects with a=2.4, b=1.05, c=2.5,


Organic Payroll systems
experienced teams d=0.38

Semi- Compilers, real-time a=3.0, b=1.12, c=2.5,


Medium complexity, mixed teams
Detached DB d=0.35

a=3.6, b=1.20, c=2.5,


Embedded High complexity, stringent constraints Air-traffic control
d=0.32

Characteristics of Basic COCOMO

• Best suited for early project estimation

• Simple and quick

• Less accurate than Intermediate and Detailed COCOMO because it lacks cost drivers

Long Answer Questions (15 marks each)

4. Explain the Spiral Model in detail (software life cycle model that incorporates risk).

Introduction

The Spiral Model, developed by Barry Boehm (1986), is a risk-driven software development model
combining:

• Iterative development

• Prototyping

• Risk analysis

• Customer involvement

It is shaped like a spiral, with each loop representing a development phase.

Structure of the Spiral Model

Each loop of the spiral consists of four main phases:

1. Determining Objectives, Alternatives, and Constraints

• Identify goals for the iteration


• Explore alternative solutions

• Identify constraints (cost, regulations, technology limitations)

2. Risk Identification and Analysis

This is the core of the model.


Activities:

• Identify all potential risks (technical, managerial, operational)

• Analyze risks quantitatively and qualitatively

• Develop mitigation strategies

• Build prototypes to reduce uncertainty

Example:
A new UI design is prototyped before committing to full development.

3. Development & Engineering

Depending on the iteration:

• Design

• Coding

• Integration

• Testing

• Refinement of prototypes

Early iterations may only develop mockups; later iterations produce full modules.

4. Customer Evaluation & Planning for Next Iteration

• Present deliverables to customer

• Gather feedback

• Decide whether to continue, modify, or cancel the project

• Plan next loop (resource allocation, schedule updates)

Advantages

• Excellent for large, complex, risky projects

• Strong customer involvement

• Flexibility in requirements

• Early detection of errors

• Continuous risk evaluation

• Produces early versions of the system via prototypes

Disadvantages
• Expensive due to repeated evaluations

• Requires skilled risk analysts

• Not ideal for small projects

• Hard to manage many iterations

Applications

Used in:

• Military projects

• Banking systems

• High-budget government systems

• Mission-critical embedded systems

5. What is an Agile Process? List the Manifesto for Agile Software Development.

Agile Process – Definition

Agile is a lightweight, adaptable, iterative methodology for software development aimed at:

• Rapid and continuous delivery of working software

• Close customer collaboration

• Flexibility to accommodate changing requirements

• Improved communication and teamwork

Agile methods include: Scrum, XP, Kanban, Crystal, FDD.

Characteristics of Agile

• Incremental delivery

• Time-boxed iterations (sprints)

• Continuous integration and testing

• Self-organizing teams

• Minimal documentation but high functionality

• Frequent customer involvement

UNIT 2 – SYSTEM DESIGN & MODELING (FULL DETAILED ANSWERS)

Short Answer Questions (5 marks each)

6. What is a Data Dictionary? Why is it used? Give an example.


Definition

A Data Dictionary is a centralized repository that stores detailed descriptions of all data items used in
a system, including:
avoids data redundancy
• Data names promotes consistency

improves communication
• Types

• Sizes

• Allowed values

• Relationships

• Sources and destinations

It serves as a reference guide for analysts, designers, and developers.

Why It Is Used

1. Avoids data redundancy – ensures each data element is defined once.

2. Promotes consistency – all team members use the same data definitions.

3. Improves communication – analysts, designers, testers understand data clearly.

4. Supports DFD and database design – ensures accurate modeling.

5. Assists validation – ensures inputs and outputs are correct.

Example (Data Dictionary Entry)

Element Name: Student_ID


Description: Unique identification number assigned to each student
Type: Integer
Length: 6 digits
Range: 100000–999999
Source: Registration Form
Destination: Student Database, Fee Module

Such tables are repeated for every data element used in the system.

7. Differentiate between Physical and Logical Data Flow Diagrams.

Logical DFD Physical DFD

Shows what the system must do Shows how the system will be implemented

Focuses on business functions and


Focuses on hardware, software, files, and people
information flow

Technology-independent Technology-dependent

Used in system analysis Used in system design


Logical DFD Physical DFD

Shows processes like “Operator inputs data using


Shows processes like “Validate Customer”
terminal”

Shows data stores conceptually Shows actual files/databases

Example difference:

• Logical: “Process Payment”

• Physical: “POS Terminal sends payment data to SQL Server database via API”

Long Answer Questions (15 marks each)

8. Draw Context Level and Level 1 DFD for a given system (Example: Library System).

Since diagrams cannot be drawn directly, I will describe them exactly as you should draw in your
exam.

A. Context Level DFD (Level 0)

System: Library Management System

Entities:

• Student

• Librarian

Main Process:
0. Library Management System

Data Flows:

• Student → Book Request → System

• System → Issue Status / Due Date → Student

• Librarian → Book Update Information → System

• System → Reports → Librarian

Data Stores: Not shown at Level 0.

B. Level 1 DFD

Break the main process into sub-processes:

1. 1.0 Manage Books

2. 2.0 Manage Members

3. 3.0 Issue Books

4. 4.0 Return Books


Data Stores:

• D1: Book Database

• D2: Member Database

• D3: Transaction Database

Flow Explanation:

• Student sends Book Request → 3.0 Issue Books

• Issue Books checks Member Database and Book Database

• Issue Books updates Transaction Database

• Return Books updates Transaction Database and Book Database

• Librarian updates Book Database through Manage Books

Use arrows to show these flows.

9. What is a Structure Chart? Draw one for any DFD.

Definition

A Structure Chart is a hierarchical representation of modules in a software system. It shows:

• Module breakdown

• Calling relationships

• Data flow between modules

• Control flow

• Coupling and cohesiveness

It is produced during design, usually after creating a DFD.

Symbols Used

• Rectangle = Module

• Arrow = Data transfer

• Control flags = Conditions

Example Structure Chart for Library System

Library System

_______/ | \_______

/ | \

Manage Books Issue Books Return Books


| | |

Update DB Check Availability Update Transaction

This chart shows the system’s top-level module broken into functional modules.

UNIT 3 – CODING, TESTING & DOCUMENTATION

Short Answer Questions (5 marks each)

10. Write short notes on: Verification and Validation.

Verification

• Ensures the software is built according to specifications.

• Activities include:

o Reviews

o Walkthroughs

o Inspections

• Conducted during every development phase.

• Objective: “Are we building the product right?”

• Focuses on static analysis (no execution).

Validation

• Ensures the system meets the customer’s actual needs.

• Activities include:

o Testing

o User Acceptance Testing (UAT)

• Objective: “Are we building the right product?”

• Focuses on dynamic testing (executing the code).

11. Write short notes on White Box Testing.

Definition

White Box Testing (Structural Testing) examines the internal logic and code structure.
Tester must know the programming language.

Techniques
1. Statement Coverage – every statement executes at least once.

2. Branch Coverage – checks all decisions (if-else).

3. Path Coverage – tests all possible paths.

4. Basis Path Testing – uses cyclomatic complexity to identify independent paths.

5. Loop Testing – tests loop boundaries.

Advantages

• Reveals hidden errors

• Optimizes internal code

• Ensures completeness of logic

12. What is Regression Testing?

Regression Testing is performed after changes such as:

• Bug fixes

• Enhancements

• New features

Purpose:
To ensure existing functionality remains unaffected and no new bugs are introduced.

Regression testing is repeated throughout:

• Integration testing

• System testing

• Maintenance

Long Answer Questions (15 marks each)

13. Differentiate between Integration and System Testing; explain Functional Testing and Test Case.

Integration Testing

• Tests combined modules

• Detects interface errors

• Performed after unit testing

• Types:

o Big Bang
o Top-Down

o Bottom-Up

o Sandwich

• Ensures data flows correctly between modules.

System Testing

• Tests the entire system as a whole

• Verifies complete functional and non-functional requirements

• Types:

o Performance testing

o Security testing

o Recovery testing

• Conducted by professional testers.

Functional Testing

• Black-box technique

• Validates functional requirements

• No need to know internal code

• Examples:

o Login verification

o Transaction processing

o Report generation

Test Case (Definition and Role)

A Test Case is a documented set of:

• Inputs

• Preconditions

• Test procedure

• Expected output

Role:

• Ensures complete testing

• Reduces ambiguity

• Provides traceability

• Helps reproduce failures


Example Test Case:

Field Description

Test ID TC_Login_01

Input Username, Password

Expected Output Login successful

14. Explain Black Box & White Box testing with examples; perform Basis Path Testing.

Black Box Testing


equivalent partitioning
• Tests functionality boundary value analysis

decision table
• Does not inspect internal code

• Techniques:

o Equivalence Partitioning

o Boundary Value Analysis

o Decision Table

Example:
Test ATM withdrawal without knowing internal code.

White Box Testing

• Tests internal code

• Techniques:

o Branch testing

o Path testing

o Loop testing

Basis Path Testing Steps

Given pseudocode:

1. Read X

2. If X > 0 then

3. Print "Positive"

4. Else

5. Print "Non-Positive"
6. End If

Step 1: Draw Control Flow Graph (CFG)

Nodes: 1 → 2 → 3 or 5 → end.

Step 2: Compute Cyclomatic Complexity

Formula:

𝑉(𝐺) = 𝐸 − 𝑁 + 2 = 5 − 4 + 2 = 3

Step 3: Independent Paths

1. Path 1: 1 → 2 → 3 → End

2. Path 2: 1 → 2 → 5 → End

Two test cases required (positive, non-positive).

15. Control Flow Graph (CFG), Cyclomatic Complexity, Calculation

Control Flow Graph


Cyclomatic Complexity is a software metric used to measure

Graph showing: how complex a program’s control flow is. It was introduced by
Thomas McCabe
• Nodes = statements Cyclomatic Complexity=E−N+2P

• Edges = control flow Where:

Used for path analysis. E = number of edges (transitions)

Cyclomatic Complexity (McCabe’s Metric) N = number of nodes (statements/blocks)

Measures complexity of code.


P = number of connected components (usually 1 per function)

Formula:

𝑉(𝐺) = 𝐸 − 𝑁 + 2

or

𝑉(𝐺) = 𝑃 + 1

(P = number of decision points)

Interpretation

• 1–10: simple, low risk

• 11–20: moderate

• 21–50: complex

• 50: untestable
UNIT 4 – SOFTWARE PROJECT MANAGEMENT

Short Answer Questions (5 marks)

16. Write short notes on Software Project Plan.

A Software Project Plan is a detailed document describing how the project will be executed,
monitored, and controlled.

Contents

1. Project Scope

2. Objectives

3. Project Schedule (Gantt chart)

4. Cost estimation (COCOMO/FP)

5. Risk Management Plan

6. Resource allocation

7. Quality Management Plan

8. Communication Plan

17. What is PERT and Gantt Chart?

PERT (Program Evaluation and Review Technique) PERT is a network based scheduling technique

• Network-based scheduling technique

• Used for uncertain activity times

• Uses three estimates: Optimistic (O), Most Likely (M), Pessimistic (P)

• Expected time formula:


𝑂 + 4𝑀 + 𝑃
𝑇𝐸 =
6

Gantt Chart
variance=(pessimistic-optimistic/6)^2

• Bar chart showing activities vs time

• Shows start and end dates

• Tracks progress

Long Answer (15 marks)

18. PERT Chart: Draw activity network, find critical path, calculate duration.

(Example explanation)

slack = latest start - earliest start


Steps:

1. Identify activities and dependencies

2. Draw network diagram

3. Compute TE for each using PERT formula

4. Determine all paths

5. Sum TE for each path

6. The longest path = Critical Path

7. Total TE of critical path = project completion time

(Insert numerical if you give activities)

UNIT 5 – OBJECT-ORIENTED MODELING WITH UML

Short Answer (5 marks)

19. Explain types of messages in UML Sequence Diagram.

1. Synchronous Message
Sender waits for receiver to finish.
Example: Function call.

2. Asynchronous Message
Sender does not wait.
Example: Message queue.

3. Return Message
Sends output back.

4. Create Message
Used when an object is created at runtime.

5. Delete Message
Object lifetime ends.

Long Answer (15 marks)

20. Draw a Use Case Diagram (any scenario)

Example: ATM System

Actors:

• Customer

• Bank Server

Use Cases:

• Authenticate User
• Withdraw Cash

• Check Balance

• Deposit Money

Relationships:

• “Authenticate” is included in all other use cases.

21. Draw Sequence or Class Diagram

Sequence Diagram for ATM Withdrawal

Lifelines:
actors
• Customer

• ATM

• Bank Server

• Database

Messages:

1. insertCard()

2. enterPIN()

3. validatePIN()

4. requestWithdrawal()

5. debitAccount()

6. dispenseCash()

22. Types of Feasibility Study

A Feasibility Study determines whether a proposed system is practical, economically justified, and
technically achievable.
Its major types are:

1. Technical Feasibility

• Checks whether the technology required for the project exists.

• Includes hardware, software, networking, database, and technical skills.

• Example: Can the system run on existing servers?

2. Economic Feasibility

• Determines whether the benefits outweigh the costs.

• Uses Cost–Benefit Analysis, ROI, Payback period.

• Includes development cost, maintenance cost, operational cost, and expected benefits.
3. Operational Feasibility

• Checks whether the system will work in the organization.

• Examines user acceptance, organizational changes required, training needs, etc.

• Ensures the solution solves the real problem.

4. Schedule Feasibility

• Determines whether the system can be developed within the given timeline.

• Important for market-driven products where deadlines are strict.

5. Legal Feasibility

• Ensures the system complies with laws and regulations.

• Examples: Data privacy laws, licensing, intellectual property rights.

6. Environmental Feasibility (Sometimes included)

• Ensures that the system or hardware does not harm the environment.

23. Basic COCOMO Model

COCOMO (Constructive Cost Model) by Barry Boehm is used to estimate effort, development time,
and team size.

Basic COCOMO Formula

Used in early stages when details are minimal.

Effort (E):

𝐸 = 𝑎 × (𝐾𝐿𝑂𝐶)𝑏 (person-months)

Development Time (D):

𝐷 = 𝑐 × (𝐸)𝑑 (months)

Values of a, b, c, d for different modes

Mode Description a b c d

Organic Simple projects, small teams 2.4 1.05 2.5 0.38

Semi-Detached Intermediate complexity 3.0 1.12 2.5 0.35

Embedded Real-time, complex 3.6 1.20 2.5 0.32

Outputs of Basic COCOMO

• Effort in PM (person-months)
• Development time in months

• Average staff required = Effort / Development time

24. Coupling & Cohesion

Cohesion

• Degree to which elements inside a module belong together.

• High cohesion is GOOD → easier to maintain, reuse, test. functional


coincidental
Types of Cohesion (Best → Worst) procedural
temporal
1. Functional Cohesion → Best (each module does exactly ONE task) communicational
sequential
2. Sequential logical
3. Communicational

4. Procedural

5. Temporal

6. Logical

7. Coincidental → Worst (random tasks grouped together)

Coupling

• Degree of interdependence between modules. data


• Low coupling is GOOD → modules are independent. stamp
control
Types of Coupling (Worst → Best) common
content
1. Content Coupling → Worst (access internal code of another module)

2. Common

3. Control

4. Stamp (Data Structure sharing)

5. Data Coupling → Best (modules share only required data)

25. Data Dictionary (with example)

A Data Dictionary (DD) is a structured repository that stores descriptions of all data items used in the
system.

Contents

• Data item name


• Type (string, integer, Boolean)

• Size

• Description

• Allowed values

• Relationships

Example

Data Name Type Size Description

Customer_ID Integer 5 Unique ID for customer

Customer_Name String 30 Full name

Order_Date Date 10 Purchase date

Use:

• Ensures consistency in naming and formats

• Helps developers, designers, testers

26. White Box Testing / Basis Path Testing

White Box Testing

Testing based on internal logic, code structure, and control flow.

Techniques

• Statement coverage

• Branch coverage

• Basis path testing

• Loop testing

• Condition coverage

Basis Path Testing

• Invented by McCabe

• Uses Control Flow Graph (CFG)

• Cyclomatic Complexity (V(G)) = Number of independent paths

𝑉(𝐺) = 𝐸 − 𝑁 + 2

Where:

• E = Number of edges
• N = Number of nodes

Each independent path is executed at least once to ensure complete logic coverage.

27. Verification vs Validation

Verification

• "Are we building the product right?"

• Ensures the system meets design specifications.

• Activities: Reviews, inspections, walkthroughs.

Validation

• "Are we building the right product?"

• Ensures software meets user needs and requirements.

• Activities: Testing, UAT (User Acceptance Testing).

Differences

Verification Validation

No code execution Involves code execution

Checks design Checks functionality

Static Dynamic

Done by QA team Done by testing/user

28. Advantages of Spiral Model over Waterfall

1. Risk Handling

o Spiral explicitly identifies and resolves risks every cycle.

o Waterfall ignores risk until late stages.

2. Iterative Development

o Spiral allows refinement through multiple iterations.

o Waterfall is rigid and linear.

3. Customer Feedback

o Customer reviews each spiral.

o Waterfall collects feedback only at the end.

4. Flexibility
o Changes can be incorporated easily.

o Waterfall finds changes costly.

5. Better Resource Allocation

o Risk analysis prevents waste of time and cost.

6. Early Prototypes better control on projects

o Spiral produces prototypes early to validate requirements.

Group C (Long Answer – 15 marks each)

These answers are high-detail, exam-ready, and structured.

29. Numerical on Function Point Analysis (FPA)

I will provide the full solution with formula, steps, and example.

Steps in FPA

1. Identify functions:

o EI (External Input)

o EO (External Output)

o EQ (External Inquiry)

o ILF (Internal Logical File)

o EIF (External Interface File)

2. Apply complexity weights.

3. Calculate UFP (Unadjusted Function Points).

4. Compute Value Adjustment Factor (VAF):


14 General System Characteristics (GSCs) rated 0–5.

𝑉𝐴𝐹 = 0.65 + 0.01 × ∑𝐹𝑖

5. Compute AFP (Adjusted Function Points):

𝐴𝐹𝑃 = 𝑈𝐹𝑃 × 𝑉𝐴𝐹

30. Draw Context Level and Level 1 DFD for a case study

I will draw text-based DFD representations or provide diagrams depending on the case study you
choose (library, store, ATM, etc.).
Just tell me the case study you want.
31. Draw a Use Case Diagram for a case study

Same—pick a system (ATM, hospital, mobile service provider).

32. Testing: Difference between Testing Levels

Unit Testing

• Tests individual modules or functions. integration


system
• Done by developers. functional
acceptance
Integration Testing

• Tests module interactions.

• Techniques: Big Bang, Incremental, Top-Down, Bottom-Up.

System Testing

• Tests full integrated system.

Acceptance Testing

• Ensures system meets business requirements.

• Types: Alpha, Beta.

33. Black-box & White-box Testing with examples

Black Box Testing equivalence partitioning

boundary value analysis


• Based on requirements, not code. decision table

• Techniques:

o Equivalence Partitioning

o Boundary Value

o Decision Table

o State Transition

• Example: Testing login functionality by giving valid/invalid credentials.

White Box Testing


coverage

• Based on internal code structure. loops testing

conditions testing
• Techniques: path coverage

branch coverage
o Statement Coverage basis path coverage

o Branch Coverage
o Basis Path Testing

• Example: Testing loops and conditions in a sorting algorithm.

34. PERT/Activity Diagram, Critical Path, Duration

PERT uses three estimates per activity:


𝑂 + 4𝑀 + 𝑃
𝑇𝐸 =
6

Critical path = Longest path in the activity network.


Determines project duration.

If you provide activity data, I will solve the whole numerical.

35. Control Flow Graph & Cyclomatic Complexity

Steps

1. Convert code into nodes/edges.

2. Draw CFG.

3. Calculate:

𝑉(𝐺) = 𝐸 − 𝑁 + 2

4. Identify independent paths.

Provide code if you want a worked example.

coding structure:
Naming Conventions:
Indentation and Formatting:
Commentary and Documentation:
Code Structure and Organization:
Error Handling:

You might also like