0% found this document useful (0 votes)
27 views

Software Engineering Questions

The document contains a series of software engineering questions divided into three parts: short answer questions, focused short answer questions, and long answer questions. Each part addresses various topics such as software definitions, development methodologies, testing processes, and software maintenance. The answers provided are structured according to the marks allocated for each question, covering essential concepts in software engineering.

Uploaded by

ap479620
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)
27 views

Software Engineering Questions

The document contains a series of software engineering questions divided into three parts: short answer questions, focused short answer questions, and long answer questions. Each part addresses various topics such as software definitions, development methodologies, testing processes, and software maintenance. The answers provided are structured according to the marks allocated for each question, covering essential concepts in software engineering.

Uploaded by

ap479620
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
You are on page 1/ 38

Software Engineering Questions

Part-I
Q1 Answer the following questions : (2 × 10)
a) What do you understand by the “99 per cent complete” syndrome that software
project managers sometimes face?

b) Which life cycle model would you follow for developing software for each of the
following applications? Mention the reasons behind your choice of a particular life
cycle model. A new software that would connect computers through satellite
communication. Assume that your team has no previous experience in developing
satellite communication software.

c) What is the difference between requirements analysis and specification?


d) Write two characteristics of good software design
e) Do you agree with the following statement—“System testing can be considered a
pure black-box test.” Justify your answer.

f) Differentiated between decision tree and decision table


g) Suppose of a control graph having 12 no. of edges and 4 nodes; find out its
cyclomatic complexity of a control graph?

h) During software testing process, why is the reliability growth initially high, but slows
down later on?

i) Suppose that a certain software product has mean time between failure of 10,000
hrs and has a mean time to repair of 20 hrs. If the product is used by 100
customers, what is its availability?

j) Differentiated between verification and validation.

Part-II
Q2 Only Focused-Short Answer Type Questions- (Answer Any Eight out of
Twelve)
(6 × 8)
a) Briefly explain the agile software development model. Give an example of a project
for which the agile model would be suitable and one project project for which the
agile model would not be appropriate

b) What are the four types of non-functional requirements that have been suggested
by IEEE 830 standard documents. Give one example of each of these categories
of requirements.

c) List desirable characteristics of a good and bad software requirements


specification (SRS) document.

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 1/38
d) Enumerate the different types of cohesion that a module in a design might exhibit.
Give examples of each

e) What are driver and stub modules in the context of integration and unit testing of a
software? Why are the stub and driver modules required?

f) What is the difference between a coding standard and a coding guideline? Write
down five important coding standards and coding guidelines that you would
recommend.

g) Compare the relative advantages of RAD, iterative waterfall, and the evolutionary
models of software development.

h) Differentiated between internal and external documentation. Explain how good


documentation are helpful.

i) Schematically draw the architecture of a CASE environment and explain how the
different tools are integrated.

j) What do you mean by the term software re-engineering? Why is it required?


Explain the different activities undertaken during reverse engineering

k) Annual change traffic (ACT) for a software system is 15% per year. The
development effort is 600PM.Compute estimate for Annual Maintenance Effort
(AME).If the life time of the project is 10 years, what is the total effort of the
project?

l) What are the different types of maintenance that a software product might need?
Why is this maintenance required?

Part-III
Only Long Answer Type Questions (Answer Any Two out of Four)
Q3 Compare the relative advantages of using the iterative waterfall model and the
spiral model of software development for developing an MIS application. Explain
with the help of one suitable example each, the type of project for which you would
use the waterfall model of software development, and the type of project for which
you would use the spiral model.
(16)

Q4 What are the main shortcomings of data flow diagram (DFD) as a tool for
performing structured analysis? Draw DFD of Railway reservation system.
(16)

Q5 Why performance testing is carried out? Enumerate different types of performance


testing. What is the difference between black-box and white-box testing? During
unit testing, can black-box testing be skipped, if one is planning to perform a
thorough white-box testing? Justify your answer.
Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 2/38
(16)

Q6 What do you understand by Key Process Area (KPA), in the context of SEI CMM?
Would an organization encounter any problems, if it tries to implement higher level
SEI CMM KPAs before achieving the lower level KPAs? Justify your answer using
suitable examples. Discuss the relative merits of ISO 9001 certification and the SEI
CMM based quality assessment

answer the above questions according to the marks given

Here are the answers to your software engineering questions, structured as per the marks and format
provided:

Part I – Short Answer Type Questions (2 × 10 = 20 marks)


a) “99 per cent complete” syndrome
It refers to a situation in software projects where a project appears nearly complete (99%), but the
remaining work seems to take disproportionately long, revealing that progress was overestimated and
significant effort is still required to handle testing, debugging, documentation, and edge cases.

b) Suitable life cycle model for satellite communication software


Model: Spiral Model
Reason: Since the team has no prior experience with satellite communication, the spiral model allows
for iterative development with frequent risk analysis and customer feedback, reducing uncertainty and
handling high-risk elements effectively.

c) Difference between requirements analysis and specification

Requirements Analysis: The process of gathering and analyzing customer needs.

Specification: The formal documentation of analyzed requirements in a precise and unambiguous


manner (usually in an SRS document).

d) Two characteristics of good software design

1. Modularity: The system is divided into independent modules.

2. Reusability: Components can be reused in other applications or modules.

e) System testing as a black-box test


Yes, system testing is primarily black-box since it focuses on the functionality of the entire system
without considering the internal code structure. It verifies that the software meets the specified
requirements.

f) Decision Tree vs. Decision Table

Aspect Decision Tree Decision Table


Structure Graphical (tree-like) Tabular format

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 3/38
Aspect Decision Tree Decision Table

Usage Visualizing decisions Handling combinations of conditions


Best for Simple conditional logic Complex logic with multiple inputs

g) Cyclomatic Complexity
Formula: `V(G) = E - N + 2`
Here, E = 12, N = 4
V(G) = 12 - 4 + 2 = 10

h) Reliability growth pattern


Initially, many bugs are found and fixed rapidly, showing high reliability growth. Over time, remaining
bugs become rarer and harder to detect, slowing down the growth.

i) Availability Calculation
Availability = MTBF / (MTBF + MTTR)
= 10,000 / (10,000 + 20) ≈ 0.998
So, Availability ≈ 99.8%

j) Verification vs. Validation

Aspect Verification Validation


Definition Are we building the product right? Are we building the right product?
Techniques Reviews, inspections, walkthroughs Testing, user feedback

Part II – Focused Short Answer (6 × 8 = 48 marks)


a) Agile Model
A lightweight, iterative model emphasizing collaboration, customer feedback, and rapid delivery.

Suitable: Web/mobile apps needing frequent updates.

Not suitable: Safety-critical systems like aircraft software due to lack of formal documentation and
verification.

b) Four Non-functional Requirements (IEEE 830)

1. Performance – e.g., Response time < 2 sec.


2. Security – e.g., Login with two-factor authentication.
3. Usability – e.g., GUI should support visually impaired users.

4. Reliability – e.g., System uptime of 99.9%.

c) Characteristics of a Good and Bad SRS

Good SRS Bad SRS

Clear, unambiguous Vague language


Complete and consistent Missing or conflicting details
Verifiable and testable Not measurable

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 4/38
d) Types of Cohesion

1. Functional – Performs a single function (e.g., `calculateInterest()`).


2. Sequential – Output of one part is input to another.
3. Communicational – Operate on same data set.

4. Procedural – Follow sequence of execution.


5. Temporal – Executed at same time (e.g., initialization).
6. Logical – Related logic but chosen by control (e.g., multiple IO operations).

7. Coincidental – Unrelated functions grouped together (worst cohesion).

e) Driver and Stub Modules

Driver: Simulates calling modules during bottom-up testing.


Stub: Simulates called modules during top-down testing.
Why needed: They help test components in isolation when dependent modules are not available.

f) Coding Standard vs. Coding Guideline

Standard: Formal rules (e.g., naming conventions).


Guideline: Best practices (e.g., comment your code).
Examples:

1. Use camelCase for variables


2. Indent with 4 spaces

3. Avoid global variables


4. Comment major functions
5. Limit function size to 40 lines

g) Comparison of Models

Feature RAD Iterative Waterfall Evolutionary


Speed High Medium Medium
Feedback Frequent At phase-end Continuous

Risk handling Poor Moderate Good

h) Internal vs. External Documentation

Type Description
Internal In-code comments, naming conventions
External User manuals, design docs

Importance: Helps in maintenance, debugging, training, and knowledge transfer.

i) CASE Environment Architecture


(Use blocks in the diagram: Repository, Front-end tools like editors, Back-end tools like code generators,
Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 5/38
Communication manager, etc.)
Integration: Tools communicate via a common database (repository) to ensure consistency.

j) Software Re-engineering
It involves improving or transforming existing software to make it more maintainable.
Reverse Engineering Activities:

1. Code analysis
2. Design extraction

3. Documentation creation
4. Refactoring

k) AME and Total Effort


AME = ACT × Development Effort = 0.15 × 600 = 90 PM/year
Total Maintenance Effort = 90 × 10 = 900 PM
Total Project Effort = 600 + 900 = 1500 PM

l) Types of Maintenance

1. Corrective – Fixing bugs

2. Adaptive – Changing environment

3. Perfective – Enhancements

4. Preventive – Refactoring code


Why: To ensure software remains functional, efficient, and relevant over time.

Part III – Long Answer Type (16 × 2 = 32 marks)


Q3) Waterfall vs Spiral Model

Criteria Iterative Waterfall Spiral Model

Risk Handling Low High (risk-driven)

Flexibility Less High


Cost Predictable May increase due to iterations

Use Waterfall: For stable requirements (e.g., payroll system).

Use Spiral: For high-risk, large systems (e.g., new airline reservation system).

Q4) DFD Shortcomings & Railway Reservation System

Shortcomings:

Lacks detail about process logic

No representation of control structures


Cannot model concurrency or timing
Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 6/38
Railway Reservation DFD (Level-0 example):

Processes: Search Train, Book Ticket, Cancel Ticket


Data Stores: Train Schedule, Passenger Info

External Entities: User, Admin, Bank

(Diagram can be drawn using standard DFD symbols)

Q5) Performance Testing

Why: To ensure software meets performance criteria under expected workloads.

Types:

Load Testing
Stress Testing

Volume Testing

Endurance Testing
Spike Testing

Black-box vs White-box:

Black-box: Focuses on functionality

White-box: Focuses on internal logic

Can we skip black-box?


No. White-box may test logic, but black-box ensures actual requirements are met from a user’s view.
Both are complementary.

Q6) KPA & SEI CMM

Key Process Area (KPA): A critical area in SEI CMM needed to achieve a maturity level.
Problem with skipping KPAs:

Lower-level KPAs build the foundation.

Skipping causes unstable processes and unrepeatable results.


Example: Implementing quantitative management without defined processes fails.

ISO 9001 vs SEI CMM:

ISO 9001: Focus on documentation and conformance

CMM: Focus on process improvement and maturity


Relative merits:
CMM is more suitable for long-term quality and process optimization in software development.

Let me know if you need diagrams (like the DFD or CASE tool architecture) in visual form!

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 7/38
Part- I
Q1 Only Short Answer Type Questions (Answer All-10) (2 x 10)
a) What is Software?
b) What is pair programming?
c) What is user testing?
d) What is development Testing?
e) What is system building?
f) What is soft ware evolution process?
g) What is test driven development?
h) What is software maintenance?
i) What is design pattern?
j) What is software reuse?

Part- II
Q2 Only Focused-Short Answer Type Questions- (Answer Any Eight out of Twelve) (6 x 8)
a) Explain briefly software engineering ethics.
b) What is a suitable block diagram, explain water fall model?
c) Explain requirements engineering process with suitable diagram.
d) With the help of neat diagram. Explain insulin pump control system.
e) With a neat diagram,
f) Explain Ethnography in details.
g) Draw a context model for Patient Management System. How the interactions are
modeled?

h) With the help of a neat state diagram, Illustrate the working of a microwave oven.
i) What is Model Driven Engineering? State the three types of abstract system models
produced.

j) Discuss the implementation issues important in software Engineering.


k) Explain the four strategic options of legacy management.
l) List and explain the factors affecting software pricing.

Part-III
Only Long Answer Type Questions (Answer Any Two out of Four)
Q3 Explain the practices involved in the extreme programming. (16)

Q4 . Discuss laws for program evolution dynamics. (16)

Q5 Write the structure of the requirement documents as suggested by IEEE standards. (16)

Q6 List and explain various COCOMO cost estimation models. (16)

answer the above questions according to their marks given

Here are the answers to the given Software Engineering questions, organized according to the marks
and question type:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 8/38
Part I – Short Answer Type Questions (2 × 10 = 20 Marks)
a) What is Software?
Software is a set of instructions, data, or programs used to operate computers and perform specific
tasks. It includes system software, application software, and utilities.

b) What is Pair Programming?


Pair programming is a practice in which two developers work together at one workstation—one writes
code (driver), while the other reviews it (observer or navigator), promoting code quality and knowledge
sharing.

c) What is User Testing?


User testing involves evaluating a software product by real users to determine if it meets their needs,
usability expectations, and performance under real-world conditions.

d) What is Development Testing?


Development testing refers to testing activities performed by developers during software development,
including unit testing, integration testing, and system testing to catch bugs early.

e) What is System Building?


System building is the process of assembling all components of a software system, compiling source
code, linking libraries, and packaging the executable for deployment.

f) What is Software Evolution Process?


The software evolution process involves modifying and updating software after its initial development to
correct faults, improve performance, or adapt it to a changed environment.

g) What is Test-Driven Development (TDD)?


TDD is a development approach where tests are written before the actual code. Code is then developed
to pass the tests, ensuring functionality and reducing bugs.

h) What is Software Maintenance?


Software maintenance is the process of modifying software after delivery to fix defects, improve
performance, or adapt it to changes in environment or requirements.

i) What is Design Pattern?


A design pattern is a reusable solution to a common software design problem. It serves as a template
for solving issues in object-oriented design.

j) What is Software Reuse?


Software reuse involves using existing software components or systems in new applications, reducing
development time, effort, and cost.

Part II – Focused Short Answer Type Questions (6 × 8 = 48 Marks)


a) Software Engineering Ethics
Software engineering ethics are the principles and professional standards that guide behavior in

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 9/38
software development. Key concerns include public safety, confidentiality, intellectual property, and
honesty in reporting and estimating.

b) Waterfall Model (with Block Diagram)


The Waterfall Model is a sequential software development process with distinct phases:

Diagram (simplified):

nginx

Requirements → Design → Implementation → Testing → Deployment → Maintenance

Each phase must be completed before moving to the next.

c) Requirements Engineering Process (with Diagram)


It includes:

1. Feasibility Study
2. Requirements Elicitation

3. Requirements Analysis

4. Specification
5. Validation

6. Requirements Management

Diagram: A flowchart showing sequential or iterative progression through the above stages.

d) Insulin Pump Control System (with Diagram)


It’s a real-time embedded system that continuously monitors glucose and delivers insulin.

Main components:

Sensor (input)

Control algorithm (processing)


Pump mechanism (output)

Alarm system

Diagram: Sensor → Controller → Pump → Body (feedback loop to sensor)

e) [Incomplete Question – Likely a Diagram-Based Question]


Please clarify this question so I can give a proper response.

f) Ethnography in Software Engineering


Ethnography is a qualitative research method where developers observe users in their work
environment. It helps understand actual user needs, workflows, and social contexts that are not
captured through interviews alone.

g) Context Model for Patient Management System


Diagram:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 10/38
css

[Doctor] → [Patient Management System] ← [Receptionist]



[Database]

Interaction Modeling: Shows data flows between users and system (e.g., schedule appointments,
update records).

h) State Diagram of Microwave Oven

States:

Idle → Door Opened → Door Closed → Timer Set → Cooking → Timer Expired → Idle

Events: Open/close door, start timer, cook, stop

i) Model-Driven Engineering (MDE)


MDE emphasizes the creation and transformation of models in software development.

Three Types of Abstract Models:

1. Structural Models – define system organization (e.g., class diagrams)

2. Behavioral Models – describe dynamic aspects (e.g., state diagrams)

3. Interaction Models – define how components interact (e.g., sequence diagrams)

j) Implementation Issues in Software Engineering

Choice of programming language


Platform compatibility

Integration with existing systems

Performance and memory optimization


Error handling and exception safety

k) Four Strategic Options for Legacy System Management

1. Scrap the system

2. Replace the system

3. Reengineer the system


4. Maintain the system as-is

Choice depends on cost, system criticality, and maintainability.

l) Factors Affecting Software Pricing

1. Project Size and Complexity


2. Development Effort and Time
3. Manpower and Skill Requirements

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 11/38
4. Tool and Technology Costs
5. Maintenance and Support

Part III – Long Answer Type Questions (16 × 2 = 32 Marks)


Q3) Practices in Extreme Programming (XP)

1. Pair Programming
2. Test-Driven Development (TDD)
3. Continuous Integration

4. Refactoring
5. Simple Design
6. Small Releases

7. Sustainable Pace
8. On-Site Customer
9. Collective Code Ownership

10. Coding Standards

XP emphasizes customer satisfaction, teamwork, and adaptive planning.

Q4) Laws of Program Evolution Dynamics (by Meir M. Lehman)

1. Continuing Change – software must adapt to remain useful

2. Increasing Complexity – software becomes more complex unless managed


3. Self-Regulation – evolution process is self-regulating
4. Conservation of Organizational Stability – average work rate is constant

5. Conservation of Familiarity – incremental changes to retain understanding


6. Continuing Growth – software functionality must grow to stay useful
7. Declining Quality – unless maintained, quality will degrade

8. Feedback System – process must be treated as a feedback system

These explain how software evolves over time in response to usage and environment.

Q5) IEEE Structure of Requirements Document

1. Introduction
Purpose

Scope
Definitions

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 12/38
2. Overall Description
Product Perspective
User Needs

Constraints
3. Specific Requirements
Functional Requirements

Non-Functional Requirements
Interface Requirements
4. Appendices

5. Index and Glossary

This ensures clarity, completeness, and testability of requirements.

Q6) COCOMO Cost Estimation Models

Types:

1. Basic COCOMO
Effort = a × (KLOC)^b
Three modes: Organic, Semi-detached, Embedded

2. Intermediate COCOMO
Adds cost drivers like reliability, complexity
Effort = a × (KLOC)^b × EAF (Effort Adjustment Factor)

3. Detailed COCOMO
Breaks project into subcomponents and applies the model to each
Includes phase-wise estimation

Applications: Helps in accurate effort, cost, and time estimation of software projects.

Let me know if you'd like any diagrams or tables created for reference!

Part-I

What is meant by a software life cycle?


Distinguish between a data flow diagram and a flow chart.
What are the main shortcomings of DFD as a tool for performing structured
analysis?
What is the difference between black box testing and white box testing?
What do you mean by agile models?
What are the major shortcomings of iterative waterfall model?
Define Is-A relationship and Has-A relationship.

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 13/38
What are the objectives of feasibility study phase of software development?

What do you mean by product visibility in the context of software development?


Write four desirable characteristics of a good software requirement specification
document.
Part-II
Only Focused-Short Answer Type Questions- (Answer Any Eight out of
Twelve)
Explain the requirement inception and requirement elaboration in the context of
software requirement engineering.
What do you mean by system testing? What are the different kinds of system
testing that are usually performed on large software products?
Discuss the major differences between the function oriented and the object
oriented approaches to software design. Corroborate your answer through suitable
examples.

What do you mean by cohesion and coupling in the context of software design?
How are these concepts useful in arriving at a good design of a system?
Explain with a suitable example how a DFD model of software can be created from
its source code.

Design the black box test suite for a function named Quadratic Solver. Quadratic
Solver accepts 3 floating point numbers (a, b, c) representing a quadratic equation
of the form ax2 + bx + c = 0. It computes and displays the solution.
What is RAD model? Explain.
Explain how a software development effort is initiated and finally terminated in the
spiral model.
Write different types of requirements gathering activities that the analysts use to
gather requirements from a customer.
Explain Cyclomatic complexity measure with examples.
What is Regression testing? Explain with example.
Describe SaaS with example.
Part-III
Only Long Answer Type Questions (Answer Any Two out of Four)
Explain with diagram the iterative waterfall model of software development. On
your diagram, represent the deliverables that need to be produced at the end of
each phase.
Elaborate Software Reverse Engineering in detail.

Design the black box test suite for a program that accepts two strings and checks if
the first string is a substring of the second string and displays the number of times
the first string occurs in the second string.

Discuss the process models for software maintenance and indicate how you would
select an appropriate maintenance model for a maintenance project at hand.

Answer the above questions according to the given marks

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 14/38
Here's a comprehensive answer sheet tailored to the marks and structure of the given Software
Engineering exam:

Part I – Short Answer Questions (2 × 10 = 20 Marks)


1. What is meant by a software life cycle?
A software life cycle refers to the sequence of stages in the development and maintenance of software,
typically including requirements, design, implementation, testing, deployment, and maintenance.

2. Distinguish between a Data Flow Diagram (DFD) and a Flowchart.

Feature DFD Flowchart

Focus Data movement Control flow


Symbols Processes, Data Stores, Arrows Conditional blocks, arrows
Level Abstract view Procedural and detailed view

Use System analysis and design Program logic representation

3. Shortcomings of DFD as a structured analysis tool:

Does not represent control logic or sequence of operations


Cannot model real-time or event-driven systems effectively
Lacks support for object-oriented design

Poor in showing timing and concurrent processes

4. Difference between Black-box and White-box Testing:

Type Black-box Testing White-box Testing

Focus Functional behavior Internal logic and structure


Tester Needs No code knowledge required Full access to source code
Examples System testing, Acceptance testing Unit testing, Code path analysis

5. What do you mean by Agile Models?


Agile models are adaptive, iterative software development approaches that emphasize customer
collaboration, flexibility, and rapid delivery, such as Scrum and Extreme Programming (XP).

6. Major shortcomings of Iterative Waterfall Model:

Late feedback and error detection

Poor adaptability to changing requirements


Assumes all requirements are known early
Heavy documentation and rigid structure

7. Define IS-A and HAS-A relationship:

IS-A: Represents inheritance. (e.g., A Dog IS-A Animal)

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 15/38
HAS-A: Represents composition. (e.g., A Car HAS-A Engine)

8. Objectives of Feasibility Study:

Determine technical and economic viability


Identify project risks and constraints
Assess operational and schedule feasibility

Provide a go/no-go decision basis

9. What is Product Visibility in Software Development?


Product visibility means the ease with which stakeholders can observe the progress and quality of the
software, often improved through prototypes, demos, or automated status updates.

10. Four Desirable Characteristics of Good SRS Document:

Correctness
Completeness
Consistency

Verifiability

Part II – Focused Short Answer Questions (6 × 8 = 48 Marks)


1. Requirement Inception vs Elaboration:

Inception: Initial phase of understanding high-level goals, scope, and stakeholders.

Elaboration: Deeper exploration of requirements, resolving ambiguity, refining use cases.

2. System Testing and Its Types:


System testing verifies that the complete software system meets specified requirements. Types include:

Functional Testing
Performance Testing

Stress Testing
Security Testing
Usability Testing

3. Function-Oriented vs Object-Oriented Design:

Feature Function-Oriented Object-Oriented


Focus Functions/processes Objects and classes

Reusability Low High


Example C program Java/C++ class-based program

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 16/38
4. Cohesion and Coupling:

Cohesion: Degree to which tasks in a module are related. High cohesion is desired.

Coupling: Degree of interdependence between modules. Low coupling is better.


These concepts aid in modular, maintainable designs.

5. Creating DFD from Source Code:


Identify input/output operations and process steps from code. For example, in a banking app:

cpp

readAccountData(); // Input → Process


processTransaction(); // Process
writeReceipt(); // Output

→ DFD nodes: Input (Account), Process (Transaction), Output (Receipt)

6. Black Box Test Suite for Quadratic Solver:


Test Cases:

Valid roots: a = 1, b = -3, c = 2 → roots: 2, 1

Complex roots: a = 1, b = 2, c = 5
Linear case: a = 0, b = 2, c = 1
a = 0, b = 0 → invalid input

7. RAD Model:
Rapid Application Development (RAD) is a fast-paced development model using iterative prototyping
and user feedback. Suitable for projects with clear requirements and rapid delivery needs.

8. Spiral Model Initiation and Termination:

Initiation: Begins with objectives, risk assessment, and planning

Termination: After iterative cycles of risk handling, development, and validation, system is fully
delivered and maintained.

9. Requirements Gathering Techniques:

Interviews
Questionnaires

Observations
Document analysis
Prototyping

Brainstorming sessions

10. Cyclomatic Complexity (McCabe's Metric):


Measures number of linearly independent paths.

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 17/38
Formula: V(G) = E - N + 2
Example:
Control graph with 10 edges (E) and 8 nodes (N):
V(G) = 10 - 8 + 2 = 4

11. Regression Testing:


Re-executing test cases after code changes to ensure that existing functionalities work as expected.
Example: After fixing a login bug, regression testing ensures that signup, logout, etc., are unaffected.

12. SaaS (Software as a Service):


Software hosted in the cloud and accessed via internet.
Example: Google Docs – no installation, updates managed by provider.

Part III – Long Answer Questions (16 × 2 = 32 Marks)


Q1. Iterative Waterfall Model (with Diagram & Deliverables):

Phases:

1. Requirements → SRS Document


2. Design → Design Document
3. Implementation → Code Modules

4. Testing → Test Reports


5. Deployment → Release Package
6. Maintenance → Change Logs

Diagram: Arrows showing feedback loops from each phase to previous one, indicating iteration.

Q2. Software Reverse Engineering:

Definition: Analyzing software to identify its components and design, often to recreate or modernize
legacy systems.
Applications:

Recover lost documentation


Understand malware
Port systems to new platforms

Steps:

1. Code analysis

2. Abstraction
3. Documentation
4. Re-engineering (if needed)

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 18/38
Q3. Black-Box Test Suite – Substring Program

Test Cases:

1. Basic Match
Input: "the", "the theatre is here"
Output: Occurs 2 times

2. No Match
Input: "cat", "dog and elephant"
Output: Occurs 0 times

3. Case Sensitivity
Input: "The", "the theatre The"

Output: 1 (if case-sensitive)


4. Empty Strings
Input: "", "test" → Invalid

Input: "a", "" → Occurs 0 times

Q4. Software Maintenance Models and Selection

Models:

1. Corrective Maintenance – Fixing bugs


2. Adaptive Maintenance – Adapting to environment changes

3. Perfective Maintenance – Enhancing performance/features


4. Preventive Maintenance – Improving future maintainability

Selection Factors:

Nature of change
System complexity

Cost and time constraints


Risk analysis

Let me know if you need diagrams or answer formatting in PDF or Word format!

Part-I

Write the characteristics of a good SRS document.


What do you mean by a software life cycle?
What are the major shortcomings of iterative waterfall model?

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 19/38
Give an example of a software product development project for which the iterative
waterfall model is not suitable.
Define Scrum.
What are the main shortcomings of DFD as a tool for performing structured
analysis?
What do you mean by software reverse engineering?
What is the difference between black box testing and white box testing?
What do you mean by software reengineering?
Define SaaS.

Part-II
Only Focused-Short Answer Type Questions- (Answer Any Eight out of
Twelve)

Draw a schematic diagram to represent the iterative waterfall model of software


development. On your diagram, represent the deliverables that need to be
produced at the end of each phase.
Explain how a software development effort is initiated and finally terminated in the
spiral model.
Suppose you are developing a software product in the organic mode. You have
estimated the size of the product to be about 1,00,000 lines of code. Compute the
nominal effort and development time.
Explain how a DFD model of software can be created from its source code.
What do you mean by cohesion and coupling in the context of software design?
How are these concepts useful in arriving at a good design of a system?

Discuss the major differences between the function oriented and the object
oriented approaches to software design. Corroborate your answer through suitable
examples.

Discuss in brief the different reliability metrics. Draw the diagram for reliability
growth model.

Write the IEEE 830 guidelines in brief.

With help of suitable example, explain how the inheritance feature of the object
oriented paradigm helps in code reuse.
Discuss the process models for software maintenance and indicate how you would
select an appropriate maintenance model for a maintenance project at hand.
Explain in brief about RAD model.
Describe CMM in brief.
Part-III
Only Long Answer Type Questions (Answer Any Two out of Four)
Design the black box test suite for a program that accepts two strings and checks if
the first string is a substring of the second string and displays the number of times
the first string occurs in the second string.
What do you mean by system testing? What are the different kinds of system
testing that are usually performed on large software products? Discuss.
Assume that you are the technical manager of a software development
organization. A client approached you for a software solution. The problems stated
by the client have uncertainties which lead to loss if it is not planned and solved.
Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 20/38
Which software development model will you suggest for this project – justify?
Explain that model with its pros and cons and neat sketch.

What is the purpose of data flow diagrams? What are the notations used for the
same? Explain by constructing a context flow diagram level-0 DFD and level-1
DFD for a library management system.

answer the above questions according to the marks given

Certainly! Below are concise answers to the questions from Part-I and Part-II, structured according to
their respective marks.

Part-I: Short Answer Type Questions (2 Marks Each)


1. Characteristics of a Good SRS Document:
Correctness: Accurately reflects all user requirements.
Completeness: Includes all necessary requirements and scenarios.

Unambiguity: Clear and precise language without multiple interpretations.


Verifiability: Each requirement can be tested to confirm its implementation.
projectcodemeter.com H2K Infosys+27

2. Software Life Cycle:


A structured sequence of stages in software development, including requirements gathering,
design, implementation, testing, deployment, and maintenance.
3. Shortcomings of Iterative Waterfall Model:

No Overlapping Phases: Each phase starts only after the previous one completes, limiting
flexibility.
Poor Risk Management: Lacks mechanisms to handle unforeseen project risks effectively.
GeeksforGeeks
4. Example Where Iterative Waterfall Model is Not Suitable:
Developing a mobile application with frequently changing user requirements is unsuitable for the
iterative waterfall model due to its rigid phase structure.

5. Scrum:
An agile framework that facilitates team collaboration on complex projects through iterative
development cycles called sprints, promoting adaptability and continuous feedback.

6. Shortcomings of DFD in Structured Analysis:


Imprecision: May lack detailed specifications for processes.
Time-Consuming: Developing comprehensive DFDs can be labor-intensive. Studocu

7. Software Reverse Engineering:


The process of analyzing a software system to identify its components and interrelationships, often
to recreate the system's design and specifications.

8. Black Box vs. White Box Testing:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 21/38
Black Box Testing: Focuses on input-output behavior without knowledge of internal code
structure.

White Box Testing: Involves testing internal structures or workings of an application.


GeeksforGeeks
9. Software Reengineering:
The process of analyzing and modifying existing software to improve its functionality,
performance, or maintainability.
10. SaaS (Software as a Service):
A software distribution model where applications are hosted by a service provider and made
available to users over the internet.

Part-II: Focused Short Answer Type Questions (6 Marks Each)


1. Iterative Waterfall Model Diagram with Deliverables:
Requirements Analysis: Requirements Specification Document
System Design: Design Documents

Implementation: Source Code


Testing: Test Plans and Reports
Deployment: Deployment Guides

Maintenance: Maintenance LogsWIRED+1


GeeksforGeeks+28
GeeksforGeeks+10
GeeksforGeeks+3
NxtWave+29
2. Initiation and Termination in Spiral Model:
Initiation: Begins with identifying objectives, alternatives, and constraints.
Termination: Concludes after multiple iterations when the product meets all requirements
and passes final evaluations.
3. COCOMO Estimation for Organic Mode (100,000 LOC):
Effort (Person-Months): E = 2.4 × (100)^1.05 ≈ 252 PM
Development Time (Months): D = 2.5 × (252)^0.38 ≈ 20.5 Months
GeeksforGeeks+29
4. Creating DFD from Source Code:

Analyze the code to identify input/output operations.


Map these operations to processes and data stores.
Construct DFDs representing data flow between processes, data stores, and external entities.
GeeksforGeeks
5. Cohesion and Coupling in Software Design:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 22/38
Cohesion: Degree to which elements within a module belong together. High cohesion is
desirable.
Coupling: Degree of interdependence between modules. Low coupling is preferable.
GeeksforGeeks
6. Function-Oriented vs. Object-Oriented Design:
Function-Oriented: Focuses on functions and procedures; data is secondary.
Object-Oriented: Emphasizes objects encapsulating data and behavior; promotes reuse and
modularity.GeeksforGeeks
7. Reliability Metrics and Growth Model:
Metrics: Mean Time Between Failures (MTBF), Failure Rate, Availability.
Growth Model: Graph showing improvement in reliability over time as defects are identified
and fixed.
8. IEEE 830 Guidelines:

SRS should be:


Correct: All requirements accurately stated.
Unambiguous: Clear language without multiple interpretations.
Complete: All necessary requirements included.
Consistent: No conflicting requirements.
Verifiable: Requirements can be tested.

Modifiable: Easy to update.


Traceable: Each requirement can be traced to its origin.
9. Inheritance for Code Reuse Example:
A base class `Vehicle` with common attributes like `speed` and methods like `move()`.
Derived classes like `Car` and `Bike` inherit from `Vehicle` and add specific features,
promoting code reuse.H2K Infosys
10. Software Maintenance Process Models:

Corrective Maintenance: Fixing defects.


Adaptive Maintenance: Updating software to work in new environments.
Perfective Maintenance: Enhancing performance or maintainability.
Preventive Maintenance: Updating documentation and code to prevent future problems.
11. RAD Model:

Rapid Application Development emphasizes quick development and iteration of prototypes


over rigorous planning and testing. Suitable for projects requiring rapid delivery.
12. CMM (Capability Maturity Model):
A framework that assesses the maturity of software development processes, ranging from
Level 1 (Initial) to Level 5 (Optimizing), guiding organizations in process improvement.

If you need further elaboration on any topic or assistance with diagrams and examples, feel free to ask!
Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 23/38
Sources

continue till the last question

Certainly! Let's continue with the remaining questions from Part-III, providing detailed answers as per
the marks allocated.

Part-III: Long Answer Type Questions (16 Marks Each)


Q1. Design the Black Box Test Suite for a Program that Accepts Two Strings and
Checks if the First String is a Substring of the Second String and Displays the
Number of Times the First String Occurs in the Second String

Black Box Testing focuses on the functionality of the application without peering into its internal
structures or workings. The test cases are derived from the software's specifications.
Test Cases:

Test Case Expected


Input String 1 Input String 2 Remarks
No. Output
"this is a test
TC1 "test" 1 Simple occurrence
string"
"this is a test
TC2 "is" 2 Multiple occurrences
string"
TC3 "abc" "defghijkl" 0 No occurrence
TC4 "" "some string" 0 Empty substring
TC5 "string" "" 0 Empty main string
TC6 "test" "testtesttest" 3 Overlapping occurrences

TC7 "Test" "testTestTEST" 1 Case sensitivity check


TC8 "123" "123123123" 3 Numeric substring
TC9 "!" "!@#$$!%" 2 Special characters
Substring longer than main
TC10 "longsubstring" "short" 0
string

Note: These test cases cover various scenarios, including normal cases, edge cases, and special
character handling.

Q2. What is System Testing? What are the Different Kinds of System Testing that are
Usually Performed on Large Software Products?

System Testing is a level of software testing where a complete and integrated software system is
tested. The purpose is to evaluate the system's compliance with the specified requirements.
Types of System Testing:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 24/38
1. Functional Testing: Validates the software system against the functional
requirements/specifications.Koombea
2. Performance Testing: Determines the speed, responsiveness, and stability of the system under a
particular workload.
3. Stress Testing: Evaluates the system's behavior under unfavorable conditions, such as heavy load
or limited resources.
4. Load Testing: Checks the system's performance under expected user loads.

5. Usability Testing: Assesses how user-friendly, efficient, and convenient the system is for end-
users.Testsigma+1
6. Security Testing: Identifies vulnerabilities of the system and ensures that data and resources are
protected from possible intruders.
7. Compatibility Testing: Ensures the software works across different browsers, databases,
operating systems, mobile devices, and networks.

8. Regression Testing: Confirms that a recent program or code change has not adversely affected
existing features.
9. Recovery Testing: Checks the system's ability to recover from crashes, hardware failures, or other
catastrophic problems.
10. Installation Testing: Validates the installation process for the software and ensures it works as
expected in the target environment.

These testing types collectively ensure that the software system is robust, reliable, and ready for
deployment.Hicron Software

Q3. Assume that You are the Technical Manager of a Software Development
Organization. A Client Approached You for a Software Solution. The Problems Stated
by the Client Have Uncertainties Which Lead to Loss if it is Not Planned and Solved.
Which Software Development Model Will You Suggest for this Project – Justify?
Explain that Model with its Pros and Cons and Neat Sketch.

Recommended Model: Spiral Model


Justification:
The Spiral Model is ideal for projects with high uncertainty and risk. It combines iterative development
with systematic aspects of the traditional waterfall model, allowing for incremental releases of the
product, or incremental refinement through each iteration around the spiral.
Groove Tech+4

Phases of the Spiral Model:

1. Planning: Determine objectives, alternatives, and constraints.


2. Risk Analysis: Identify and resolve risks.Wikipedia+1
3. Engineering: Develop and verify the next-level product.
4. Evaluation: Evaluate the results and plan the next iteration.

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 25/38
Pros:

Emphasizes risk analysis and management.Informa TechTarget+1


Accommodates changes during the development process.
Suitable for large and complex projects.
Facilitates customer feedback and involvement.

Cons:

Can be complex to manage.


Not suitable for small projects due to overhead.
Requires expertise in risk assessment.NASA Technical Reports Server+1

Sketch:

csharp

[Start]
|
[Planning]
|
[Risk Analysis]
|
[Engineering]
|
[Evaluation]
|
[Next Iteration or End]

Each loop of the spiral represents a phase in the software process, and the radius of the spiral at any
point represents the cost accumulated so far in the project.GeeksforGeeks+1

Q4. What is the Purpose of Data Flow Diagrams? What are the Notations Used for
the Same? Explain by Constructing a Context Flow Diagram (Level-0 DFD) and Level-
1 DFD for a Library Management System.

Purpose of Data Flow Diagrams (DFDs):


DFDs are used to represent the flow of data within a system, illustrating how input is transformed into
output through a sequence of functional processes. They help in understanding the system's
functionality and data movement.
Notations Used in DFDs:

1. Process: Represented by a circle or rounded rectangle; denotes a function or activity.

2. Data Flow: Represented by arrows; shows the direction of data movement.


3. Data Store: Represented by an open-ended rectangle; indicates where data is stored.
4. External Entity: Represented by a square; denotes sources or destinations of data outside the
system.

Context Flow Diagram (Level-0 DFD) for Library Management System:

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 26/38
css

[Student] ---> [Library Management System] <--- [Librarian]

The system interacts with external entities like Students and Librarians, handling processes such as
book borrowing and returning.

Level-1 DFD for Library Management System:

scss

[Student] ---> (1.0 Search Book) ---> [Book Database]


[Student] ---> (2.0 Borrow Book) ---> [Transaction Records]
[Librarian] ---> (3.0 Add/Remove Book) ---> [Book Database]
[Librarian] ---> (4.0 Update Records) ---> [Transaction Records]

Processes:

1.0 Search Book: Allows students to search for books.Wikipedia


2.0 Borrow Book: Handles the borrowing process.
3.0 Add/Remove Book: Enables librarians to manage the book inventory.
4.0 Update Records: Librarians update transaction records.
Data Stores:
Book Database: Stores information about books.

Transaction Records: Keeps track of borrowing and returning activities.

This Level-1 DFD provides a detailed view of the system's processes and data interactions.

If you need further clarification or additional diagrams, feel free to ask!

Sources

Among all the 4 sets of questions, find and answer the similar questions that were found in all the 4
sets and answer them according to their marks.

python

from collections import Counter

# Define the questions from each set


set1 = [
"What is software?",
"What is pair programming?",
"What is user testing?",
"What is development Testing?",
"What is system building?",
"What is software evolution process?",
"What is test driven development?",
"What is software maintenance?",
"What is design pattern?",

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 27/38
"What is software reuse?"
]

set2 = [
"What is meant by a software life cycle?",
"Distinguish between a data flow diagram and a flow chart.",
"What are the main shortcomings of DFD as a tool for performing structured analysis?",
"What is the difference between black box testing and white box testing?",
"What do you mean by agile models?",
"What are the major shortcomings of iterative waterfall model?",
"Define Is-A relationship and Has-A relationship.",
"What are the objectives of feasibility study phase of software development?",
"What do you mean by product visibility in the context of software development?",
"Write four desirable characteristics of a good software requirement specification document."
]

set3 = [
"Write the characteristics of a good SRS document.",
"What do you mean by a software life cycle?",
"What are the major shortcomings of iterative waterfall model?",
"Give an example of a software product development project for which the iterative waterfall mod
"Define Scrum.",
"What are the main shortcomings of DFD as a tool for performing structured analysis?",
"What do you mean by software reverse engineering?",
"What is the difference between black box testing and white box testing?",
"What do you mean by software reengineering?",
"Define SaaS."
]

set4 = [
"Write the characteristics of a good SRS document.",
"What do you mean by a software life cycle?",
"What are the major shortcomings of iterative waterfall model?",
"Give an example of a software product development project for which the iterative waterfall mod
"Define Scrum.",
"What are the main shortcomings of DFD as a tool for performing structured analysis?",
"What do you mean by software reverse engineering?",
"What is the difference between black box testing and white box testing?",
"What do you mean by software reengineering?",
"Define SaaS."
]

# Combine and count all questions


all_questions = set1 + set2 + set3 + set4
question_counter = Counter(all_questions)

# Find common questions in all 4 sets


common_questions = [q for q, count in question_counter.items() if count == 4]
common_questions

Result
[]

There are no questions that appear in all four sets. However, some questions do repeat across three or
more sets. Would you like me to identify and answer the questions that appear in three sets instead?

yes

python

# Find questions that appear in 3 sets


repeated_questions = [q for q, count in question_counter.items() if count == 3]
repeated_questions

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 28/38
Result
['What are the main shortcomings of DFD as a tool for performing structured analysis?',
'What is the difference between black box testing and white box testing?',
'What are the major shortcomings of iterative waterfall model?']

Here are the questions that appear in three sets, along with answers according to their typical mark
allocations (2 or 6 marks):

1. What are the main shortcomings of DFD as a tool for performing structured
analysis?

(2 marks)

Lack of control information: DFDs focus on data movement but do not show control logic,
making them insufficient for modeling real-time systems.
No timing or sequencing: DFDs cannot represent the order in which operations occur.

Not suitable for depicting complex decisions: They don't show conditional logic well.
Poor for modeling object interactions: DFDs are not object-oriented.

2. What is the difference between black box testing and white box testing?

(2 marks)

Feature Black Box Testing White Box Testing

Focus Tests functionality Tests internal logic and structure


Knowledge Required No knowledge of code needed Requires full knowledge of source code
Test Basis Based on requirements and specifications Based on code implementation
Example System Testing Unit Testing, Path Testing

3. What are the major shortcomings of iterative waterfall model?

(2 marks)

Difficult to accommodate changes: Once a phase is completed, revisiting it is costly and


discouraged.
No feedback between phases: Minimal overlap and feedback loops can result in error
propagation.
Late working product: A prototype is only available near the end, making it harder for users to
give early feedback.
Rigid structure: Does not adapt well to dynamic requirements.

Would you like answers expanded for 6-mark versions too?

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 29/38
yes

Here are the expanded answers for each of the three commonly repeated questions, tailored for 6-
mark responses:

1. What are the main shortcomings of DFD as a tool for performing structured
analysis?

(6 marks)
A Data Flow Diagram (DFD) is a useful tool for representing the flow of data within a system, but it has
several limitations in structured analysis:

1. No representation of control logic


DFDs emphasize data flow, not control flow. This makes it difficult to model decisions, loops, or
conditions.
2. Inability to capture timing and sequence
DFDs do not represent the timing of operations or the sequence in which processes occur, which is
crucial in real-time systems.
3. Not suitable for modeling dynamic behavior
DFDs are static; they fail to describe how the system responds to events or changes in state.
4. Lack of representation for data storage behavior
They show data stores but don’t describe how data is accessed or manipulated internally.
5. Poor for modeling complex systems
For large or object-oriented systems, DFDs can become overly complicated and hard to maintain.
6. Doesn’t support object-orientation
In modern development, object-oriented approaches dominate, but DFDs do not capture
inheritance, encapsulation, or object interactions.

2. What is the difference between black box testing and white box testing?

(6 marks)

Criteria Black Box Testing White Box Testing


Testing based on input/output without Testing based on internal structure and
Definition
looking at internal code logic of code
Knowledge
No knowledge of internal code is needed Tester must understand the source code
Required
Functional correctness based on
Focus Code paths, logic, loops, and statements
requirements
Type of Errors Logical errors, unreachable code, loop
Missing functionalities, incorrect outputs
Found issues
Testing Typically by developers or white-box
Typically by testers or end users
Performed By testers

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 30/38
Criteria Black Box Testing White Box Testing
Unit Testing, Statement/Path/Branch
Examples System Testing, Acceptance Testing
Testing
Conclusion: Both types are complementary. Black-box testing ensures requirements are met, while
white-box testing ensures code correctness and efficiency.

3. What are the major shortcomings of iterative waterfall model?

(6 marks)
The Iterative Waterfall Model improves on the classic waterfall model by allowing feedback between
phases, but it still has significant drawbacks:

1. Rigid structure with limited flexibility


Although iterations exist, backtracking is still expensive and discouraged.

2. Late validation
A working product appears late in the cycle, making early user feedback difficult.
3. Not suitable for changing requirements
If client requirements evolve frequently, this model becomes inefficient.
4. Limited user involvement
Users are mostly involved at the beginning and end, not continuously.
5. Poor risk handling
Risks are not identified and mitigated early; no dedicated risk analysis phase exists.
6. Overemphasis on documentation
Too much reliance on documentation over working prototypes can delay actual development
progress.

Would you like me to extract and compare questions that appeared in exactly two sets as well?

yes

python

# Find questions that appear in exactly 2 sets


two_time_questions = [q for q, count in question_counter.items() if count == 2]
two_time_questions

Result
['Write the characteristics of a good SRS document.',
'What do you mean by a software life cycle?',
'Give an example of a software product development project for which the iterative waterfall model is not s
'Define Scrum.',
'What do you mean by software reverse engineering?',
'What do you mean by software reengineering?',
'Define SaaS.']

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 31/38
Here are the questions that appeared in exactly two sets, along with appropriate answers according
to their likely mark allocation (typically 2 or 6 marks):

1. Write the characteristics of a good SRS document.

(2 marks)

Correctness: The SRS must accurately describe system behavior.


Unambiguity: Each requirement has only one interpretation.

(6 marks)
Add these to the above:

Completeness: All requirements and use cases are covered.


Consistency: No conflicting requirements exist.

Verifiability: Each requirement must be testable.


Modifiability: Easy to change with minimal side effects.
Traceability: Each requirement can be traced to its origin.

2. What do you mean by a software life cycle?

(2 marks)
A Software Life Cycle is a sequence of phases that describe the evolution of software from its inception
to retirement, including stages like requirements, design, implementation, testing, deployment, and
maintenance.
(6 marks)
Expanded with phases:

1. Requirement Analysis

2. System Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
Each phase ensures quality, traceability, and smooth project management.

3. Give an example of a software product development project for which the


iterative waterfall model is not suitable.

(2 marks)
An AI-based adaptive learning platform with frequently changing requirements would not suit the
Iterative Waterfall Model due to its rigid phase boundaries and lack of flexibility.

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 32/38
(6 marks)

Such projects require continuous integration, feedback, and adaptation—better suited to Agile or
Spiral models.
Waterfall assumes requirements are stable, which is rarely the case in dynamic domains like AI,
fintech, or game development.

4. Define Scrum.

(2 marks)
Scrum is an Agile framework for managing complex software development, based on iterative progress
through time-boxed sprints (typically 2–4 weeks).
(6 marks)

Key roles: Product Owner, Scrum Master, and Development Team


Events: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
Artifacts: Product Backlog, Sprint Backlog, Increment
Emphasizes collaboration, transparency, and responsiveness to change.

5. What do you mean by software reverse engineering?

(2 marks)
It is the process of analyzing a software system to identify its components and their relationships, often
to recover lost documentation or understand legacy systems.
(6 marks)

Used when source code exists but documentation is missing.

Activities: Code analysis, control flow extraction, architecture recovery


Often a first step in reengineering or migrating old systems.
Helps in security auditing, debugging, and interoperability efforts.

6. What do you mean by software reengineering?

(2 marks)

Software Reengineering is the process of analyzing and modifying existing software to improve its
functionality or maintainability without changing its core functionality.
(6 marks)

Includes reverse engineering, code restructuring, data restructuring


Purpose: Modernize legacy systems, reduce technical debt
Helps in adapting to new environments (e.g., web, cloud)

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 33/38
Often more cost-effective than complete redevelopment

7. Define SaaS.

(2 marks)
SaaS (Software as a Service) is a cloud-based software delivery model where users access software
over the internet without local installation.
(6 marks)

Examples: Google Docs, Microsoft 365, Salesforce


Benefits: Low upfront cost, scalability, automatic updates
Challenges: Data security, internet dependency
Suitable for businesses needing access-anywhere tools without infrastructure costs

Would you like me to compile a complete study guide PDF with all repeated questions and answers
next?

yes

python

from fpdf import FPDF

# Create a PDF class


class PDF(FPDF):
def header(self):
self.set_font('Arial', 'B', 12)
self.cell(0, 10, 'Repeated Software Engineering Questions & Answers', ln=True, align='C')
self.ln(5)

def chapter_title(self, title):


self.set_font('Arial', 'B', 11)
self.cell(0, 10, title, ln=True, align='L')
self.ln(2)

def chapter_body(self, body):


self.set_font('Arial', '', 10)
self.multi_cell(0, 5, body)
self.ln()

# Initialize PDF
pdf = PDF()
pdf.add_page()

# Content: Question -> Answer pairs


qa_content = [
("1. Write the characteristics of a good SRS document (2 & 6 marks):",
"2 Marks:\n- Correctness\n- Unambiguity\n\n6 Marks:\n- Correctness\n- Unambiguity\n- Completene

("2. What do you mean by a software life cycle? (2 & 6 marks):",


"2 Marks:\nA software life cycle is the series of phases a software product undergoes from conc

("3. Example where Iterative Waterfall Model is not suitable (2 & 6 marks):",
"2 Marks:\nAI-based adaptive learning software with dynamic requirements.\n\n6 Marks:\nProjects

("4. Define Scrum (2 & 6 marks):",

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 34/38
"2 Marks:\nAn Agile framework using time-boxed sprints and iterative development.\n\n6 Marks:\n

("5. What is Software Reverse Engineering? (2 & 6 marks):",


"2 Marks:\nProcess of analyzing software to recover design or documentation.\n\n6 Marks:\nUsed

("6. What is Software Reengineering? (2 & 6 marks):",


"2 Marks:\nModifying and improving existing software without changing its functionality.\n\n6 M

("7. Define SaaS (2 & 6 marks):",


"2 Marks:\nSoftware accessed via the internet without local installation.\n\n6 Marks:\nExamples
]

# Add content to PDF


for title, body in qa_content:
pdf.chapter_title(title)
pdf.chapter_body(body)

# Save the file


pdf_output_path = "/mnt/data/Repeated_Software_Engineering_QA.pdf"
pdf.output(pdf_output_path)
pdf_output_path

It seems like I can’t do more advanced data analysis right now. Please try again later. If you’d like, I can
still provide the repeated questions and their answers directly in this chat instead of generating a
downloadable PDF. Would you like me to do that?

yes

Here are the repeated questions and their answers based on the marks given:

1. Write the characteristics of a good SRS document.

(2 & 6 marks)
2 Marks:

Correctness: The SRS must accurately describe system behavior.

Unambiguity: Each requirement has only one interpretation.

6 Marks:

Completeness: All requirements and use cases are covered.


Consistency: No conflicting requirements exist.
Verifiability: Each requirement must be testable.

Modifiability: Easy to change with minimal side effects.


Traceability: Each requirement can be traced to its origin.

2. What do you mean by a software life cycle?

(2 & 6 marks)
2 Marks:
A Software Life Cycle is a sequence of phases that describe the evolution of software from its inception

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 35/38
to retirement, including stages like requirements, design, implementation, testing, deployment, and
maintenance.
6 Marks:
Phases of the Software Life Cycle:

1. Requirement Analysis

2. System Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
Each phase ensures quality, traceability, and smooth project management.

3. Give an example of a software product development project for which the


iterative waterfall model is not suitable.

(2 & 6 marks)
2 Marks:
An AI-based adaptive learning platform with frequently changing requirements would not suit the
Iterative Waterfall Model due to its rigid phase boundaries and lack of flexibility.

6 Marks:

Such projects require continuous integration, feedback, and adaptation—better suited to Agile or
Spiral models.
Waterfall assumes requirements are stable, which is rarely the case in dynamic domains like AI,
fintech, or game development.

4. Define Scrum.

(2 & 6 marks)
2 Marks:
Scrum is an Agile framework for managing complex software development, based on iterative progress
through time-boxed sprints (typically 2–4 weeks).
6 Marks:

Key roles: Product Owner, Scrum Master, and Development Team


Events: Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
Artifacts: Product Backlog, Sprint Backlog, Increment
Emphasizes collaboration, transparency, and responsiveness to change.

5. What do you mean by software reverse engineering?

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 36/38
(2 & 6 marks)
2 Marks:
It is the process of analyzing a software system to identify its components and their relationships, often
to recover lost documentation or understand legacy systems.
6 Marks:

Used when source code exists but documentation is missing.


Activities: Code analysis, control flow extraction, architecture recovery
Often a first step in reengineering or migrating old systems.
Helps in security auditing, debugging, and interoperability efforts.

6. What do you mean by software reengineering?

(2 & 6 marks)
2 Marks:
Software Reengineering is the process of analyzing and modifying existing software to improve its
functionality or maintainability without changing its core functionality.
6 Marks:

Includes reverse engineering, code restructuring, data restructuring

Purpose: Modernize legacy systems, reduce technical debt


Helps in adapting to new environments (e.g., web, cloud)
Often more cost-effective than complete redevelopment

7. Define SaaS.

(2 & 6 marks)
2 Marks:
SaaS (Software as a Service) is a cloud-based software delivery model where users access software
over the internet without local installation.
6 Marks:

Examples: Google Docs, Microsoft 365, Salesforce


Benefits: Low upfront cost, scalability, automatic updates

Challenges: Data security, internet dependency


Suitable for businesses needing access-anywhere tools without infrastructure costs

If you'd like me to clarify any of these or add more details, feel free to ask!

ok

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 37/38
Great! If you have any more questions or need further assistance in the future, feel free to reach out.
Good luck with your exam preparation! 😊

Printed using ChatGPT to PDF, powered by PDFCrowd HTML to PDF API. 38/38

You might also like