Software Engineering Importanrt PYQ 2
Software Engineering Importanrt PYQ 2
SOFTWARE
ENGINEERING
BCS051
Software Engineering (BCS051)
B1U2 Function Oriented Modeling
1. What is a Data Dictionary ? What are its contents ? How is data dictionary
created? Explain with the help of an example.
Ans : Data dictionary is the repository of information about data items such as origin of data;
data structure, data usage and other metadata information related to data elements.
Data dictionaries help to organize and document the information related to data flows, data
processes and data elements in a structured fashion.
Data dictionaries contain information about following high level elements:
• Data element/item details
• Data structure and definition.
• Data process
• Data stores
For creating data dictionary we first identify the main data elements, data store, data
processes, external and internal entities. Once the high level data elements are identified,
more details such' as data structure, element details are described. Similarly all data flows and
data stores are further expanded to describe the data structure of its data elements.
2. What is use case diagram ? Draw and define the use of any four symbols
used to draw use case diagram. Explain with the help of an example.
Ans : Use case diagram is used to show the relationship between the user and the system
and creates the boundary of the system. It is used to :
• Understand the requirements clearly.
• Enable users to understand the system.
• Generate test case to validate the system.
• Build project schedule.
Use of any four symbols :
➢ System: It shows the boundary of the system and is represented by a rectangle
➢ Actor: It represents the user or people or device which interacts with the system. It
gives input to the system. They are outside of the system boundary.
➢ Use Case: It shows the desired function of the system. It defines the requirements of
the system. Actors gives input to the use case and use case provides output for the
➢ Generalization: It shows the concept of inheritance among use cases and actors. It is
represented by a line with a hollow arrowhead pointing towards the parent
Example: Here is an example for the use case diagram for the admin of a home solution
app :
Class specifies the visibility values which include public (+), private (-), Protected (#) and
package (similar)
Three types of relations, namely, association, aggregation and generalization can exist
between classes in the class diagram, Association relates a class A to class B and is shown as
a link between classes.
3. In Object Oriented Design, list the common utility objects and criteria for
identifying utility objects.
public Library() {
totalBooks = 0; // Initialize totalBooks
}
5. What are application logic objects ? Explain with the help of an example.
2. Explain the terms “Black Box Testing” and “White Box Testing”.
OR
Explain differences between white box testing and black box testing with
the help of examples for both types of testing.
Ans : White Box Testing : White box testing, also known as structural or glass box testing, is
a method of software testing that involves testing the internal structure, logic, and code of the
software. The tester has full knowledge of the source code and creates test cases based on
the internal workings of the program. The goal is to ensure that every path, decision, and
statement within the code is executed and tested for accuracy.
In white box testing, the focus is on verifying the correctness of the program's logic, not the
software's functional requirements. Test cases are designed to maximize code coverage,
ensuring that all possible branches of the program are executed. It is typically conducted by
developers and guarantees that all independent paths and logical decisions are tested
thoroughly.
Example
2. Explain Spiral Model with the help of an example. What are its advantages
and disadvantages over Waterfall Model?
Ans : Spiral Model
The Spiral Model combines iterative development (prototyping) with the systematic aspects of
the Waterfall Model. It is structured around repeated cycles (spirals) of development, where
each spiral consists of four phases: Planning, Risk Analysis, Engineering, and Evaluation.
Example: Consider a software project to develop a complex online banking system. The
development would proceed as follows:
1. Planning: Define the scope and requirements of the banking system, such as user
authentication, transaction processing, and account management.
2. Risk Analysis: Identify potential risks, such as security vulnerabilities, integration
issues with third-party services, and compliance with regulations.
3. Engineering: Develop a prototype of the user authentication feature, incorporating user
feedback and addressing identified risks.
4. Evaluation: Present the prototype to stakeholders for feedback and make necessary
adjustments. Once approved, move on to the next feature, such as transaction
processing, repeating the spiral process.
This cycle continues until the entire system is developed, allowing for continuous refinement
and risk mitigation.
Advantages of the Spiral Model over the Waterfall Model
Risk Management:
➢ The Spiral Model emphasizes risk assessment and mitigation at each phase,
reducing the likelihood of encountering critical issues later.
4. Explain Prototype Model, with the help of an example. What are its
advantages and disadvantages over Waterfall Model ?
Ans : Prototyping Mode : In this model, a working model of actual software is developed
initially. The prototype is just like a simple software having lesser functional capabilities and
low reliability and it does not undergo through the rigorous testing phase. Developing a
working prototype in the first phase overcomes the disadvantage of the waterfall model where
the repotting about serious errors is possible only after completion of software development.
The working prototype is given to the customer for operation. The customer, after its use, gives
➢ Prototypes may only represent parts of the functionality and may create unrealistic
expectations if users perceive them as near-final products.
➢ Waterfall Model provides a complete, structured development cycle, reducing the
risk of users expecting incomplete features or shortcuts in the final product
6. What is Capability Maturity Model (CMM) ? Briefly explain the five levels of
maturity in CMM
Ans : Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is a framework created by the Software Engineering
Institute (SEI) to help software development organizations improve their processes. It focuses
on how mature and capable an organization is in managing software development. CMM
provides a structured path for organizations to enhance their software quality and overall
process effectiveness.
Five Levels of Maturity in CMM
1. Level 1: Initial :Description: At this level, software development is chaotic and
unstructured. There are no formal processes in place, so the success of projects
depends largely on the skills of individual team members. Projects are often
unpredictable, making it difficult to manage costs and timelines.
2. Level 2: Repeatable : Description: Organizations start to establish basic project
management practices. They learn from past projects and apply successful methods to
future ones. While processes are still developing, there is more discipline in managing
projects compared to Level 1.
3. Level 3: Defined : At this stage, organizations have well-defined and documented
processes for software development. Everyone follows the same practices, and training
is provided to ensure that all team members understand and can follow the established
processes.
4. Level 4: Managed : Description: Organizations begin to measure and control their
processes quantitatively. They set specific standards for performance and collect data
to analyze how well projects are being managed. This helps them ensure quality and
consistency in their software products.
5. Level 5: Optimizing : Description: At this highest level, organizations focus on
continuously improving their processes. They actively seek feedback to identify areas
for enhancement and make changes to prevent errors. The goal is to innovate and
adopt new technologies that can improve efficiency and quality.
7. What are software metrics? Briefly explain the following software metrics:
(i) Object Oriented Metrics
(ii) Software Quality Metrics
AUTHOR : YASH KUMAR 29
Ans :
4. How will you ensure that the software developed by you meets the Quality
benchmarks? Define the term “Software Quality”.
Ans : To ensure that the software developed meets quality benchmarks, it's essential to follow
a structured approach that includes planning, continuous monitoring, and evaluation at every
stage of the development lifecycle. Here’s how you can ensure the software meets quality
standards:
Steps to Ensure Software Quality:
Requirements Gathering and Clear Specifications:
➢ Ensure that the requirements are well-documented, unambiguous, and clear. This is
crucial because the quality of software depends largely on how well it meets user
needs and expectations.
Adopt a Software Quality Assurance (SQA) Plan:
➢ Develop an SQA plan that includes the goals, standards, and processes to be
followed during development. This ensures that quality is integrated from the start
and is a part of every phase, from design to deployment.
Implement Design Reviews and Code Inspections:
➢ Conduct design and code reviews regularly to identify potential issues early. Peer
reviews, inspections, and walkthroughs help catch design flaws, coding errors, and
potential bottlenecks before the product is implemented.
Follow Coding Standards and Best Practices:
➢ Use standardized coding practices and conventions to ensure that code is readable,
maintainable, and consistent. This reduces errors, ensures uniformity, and improves
long-term maintainability.