Software Engineering Exam Paper 1

S.Y. B.Sc. (Computer Science) CS-232: SOFTWARE ENGINEERING (New CBCS 2019 Pattern)

Q1) Attempt any Eight of the following.

a) Define Process Flow.

  • Answer: Process flow refers to the sequence of steps or tasks that are carried out in a particular process. It outlines the order in which activities are executed, helping in understanding how processes evolve and interact with each other.

b) List any two Agile Principles.

  • Answer: Two of the Agile principles are:
    1. Customer satisfaction through early and continuous delivery of valuable software.
    2. Welcome changing requirements, even in late development.

c) What are the different building blocks of UML?

  • Answer: The main building blocks of UML (Unified Modeling Language) are:
    1. Things: Includes objects, classes, interfaces, and components.
    2. Relationships: Includes associations, dependencies, generalizations, and realizations.
    3. Diagrams: Various types like use case diagrams, class diagrams, activity diagrams, etc.

d) Write any two purposes served by SRS.

  • Answer: The Software Requirements Specification (SRS) serves the following purposes:
    1. Communication: Helps in communicating the requirements to stakeholders.
    2. Foundation for design and testing: Serves as a reference for system design and testing to ensure the system meets the requirements.

e) Define Abstraction.

  • Answer: Abstraction is the process of hiding the complex reality while exposing only the essential parts of an object or system. It simplifies the interaction with complex systems by reducing the amount of information to consider.

f) List the advantages of the Waterfall model.

  • Answer: Some advantages of the Waterfall model are:
    1. Simple and easy to understand.
    2. Phases are clearly defined and easy to manage.
    3. Well-structured approach for smaller projects.

g) What is requirement validation?

  • Answer: Requirement validation is the process of ensuring that the gathered requirements are accurate, complete, and aligned with the business goals. It helps in identifying errors or inconsistencies in the requirements before the system is developed.

h) Write the purpose of activity diagram.

  • Answer: The Activity Diagram represents the workflow of a system or process. It visually shows the flow of control or data between activities and helps in modeling the dynamic aspects of a system.

i) List any two umbrella activities of the software process.

  • Answer: Two umbrella activities of the software process are:
    1. Project management.
    2. Quality assurance.

j) Define Artifacts.

  • Answer: Artifacts are any work products produced during the software development process, such as documents, models, code, and designs. These artifacts are used for various purposes throughout the software lifecycle.

Q2) Attempt any Four of the following. [4 × 2 = 8]

a) What is Functional Independence? Which qualitative criteria is applied to assess independence?

  • Answer: Functional Independence refers to the degree to which a function or module can operate without relying on other functions or modules. It ensures that changes in one module do not affect others.
    • The qualitative criteria for assessing independence include:
      1. Cohesion: The degree to which elements of a module are related and work together.
      2. Coupling: The degree to which one module depends on another.

b) Define diagrams. Write classification of UML diagrams.

  • Answer: Diagrams in UML are graphical representations used to model various aspects of a system.
    • Classification of UML diagrams:
      1. Structural diagrams: Represent the static structure of the system (e.g., class diagram, component diagram).
      2. Behavioral diagrams: Represent the dynamic behavior of the system (e.g., use case diagram, sequence diagram).

c) List the elements of the Analysis model.

  • Answer: The elements of the Analysis model are:
    1. Use Cases: Define the functional requirements of the system.
    2. Classes and Objects: Represent entities and their relationships.
    3. State Models: Define the states an object can be in and the events that cause transitions.
    4. Interaction Models: Show how objects interact within the system.

d) Write the role of Scrum.

  • Answer: Scrum is an Agile framework that organizes work into short, manageable units called sprints. The role of Scrum includes:
    1. Scrum Master: Facilitates the process and removes impediments.
    2. Product Owner: Represents the customer and manages the product backlog.
    3. Development Team: Works collaboratively to complete tasks during sprints.

e) Write advantages of the RAD model.

  • Answer: Some advantages of the Rapid Application Development (RAD) model are:
    1. Quick development: Faster delivery of a working product.
    2. Customer feedback: Continuous user involvement allows early adjustments.
    3. Prototyping: Allows users to interact with prototypes, ensuring the final product aligns with their needs.

Q3) Attempt any Two of the following. [2 × 4 = 8]

a) Explain Spiral Model in detail.

  • Answer: The Spiral model is a risk-driven approach to software development that combines elements of iterative development with the systematic aspects of the Waterfall model. It is structured around spirals representing phases of development:
    1. Planning: Identifying goals, alternatives, and constraints.
    2. Risk Analysis: Assessing risks and their impact.
    3. Engineering: Developing and testing the product.
    4. Evaluation: Reviewing progress with stakeholders and planning the next iteration.
    • The model is iterative, with feedback loops allowing risk management at every stage.

b) Explain different approaches for requirements elicitation.

  • Answer: The approaches for requirements elicitation include:
    1. Interviews: One-on-one or group discussions with stakeholders to understand their needs.
    2. Surveys and Questionnaires: Collecting feedback from a larger group of stakeholders.
    3. Observation: Directly observing users in their working environment.
    4. Prototyping: Building prototypes to gather user feedback.
    5. Document Analysis: Reviewing existing documents and records to understand requirements.

c) Draw UML use case diagram for online shopping (credit card processing).

  • Answer: The UML use case diagram for credit card processing in online shopping can include:
    • Actors: Customer, Payment Gateway, Bank.
    • Use Cases:
      • Select items.
      • Add items to cart.
      • Proceed to checkout.
      • Enter credit card details.
      • Process payment.
      • Validate payment.
      • Confirm payment.


Q4) Attempt any Two of the following. [2 × 4 = 8]

a) Explain phases of XP process with a suitable diagram.

  • Answer: The Extreme Programming (XP) process follows five key phases:
    1. Planning: Define the overall system functionality.
    2. Design: Focus on designing the system iteratively.
    3. Coding: Developers write code in small, frequent releases.
    4. Testing: Automated tests are executed to verify functionality.
    5. Releasing: Deliver working software to the customer regularly.
    • Diagram: Typically shown in a cycle, where each phase feeds into the next iteratively.

b) Draw UML class diagram for railway reservation system.

  • Answer: The UML class diagram for a railway reservation system may include:
    • Classes: Train, Passenger, Reservation, Ticket, Payment.
    • Attributes:
      • Train: trainNo, trainName.
      • Passenger: name, age, seatNo.
      • Reservation: reservationId, date.
    • Relationships: Association between Reservation and Passenger, Ticket and Train.

c) Define Unified Process. Explain phases of Unified Process.

  • Answer: The Unified Process (UP) is a software development process that is iterative, incremental, and architecture-centric. It defines four key phases:
    1. Inception: Define the project’s scope, objectives, and risks.
    2. Elaboration: Develop a detailed project plan and design the system architecture.
    3. Construction: Build and iterate the software in increments.
    4. Transition: Deploy the software to production.

Q5) Attempt any One of the following. [1 × 3 = 3]

a) Explain types of design patterns.

  • Answer: The main types of design patterns are:
    1. Creational Patterns: Deal with object creation mechanisms (e.g., Singleton, Factory Method).
    2. Structural Patterns: Focus on the composition of classes or objects (e.g., Adapter, Composite).
    3. Behavioral Patterns: Concern the interaction between objects (e.g., Observer, Strategy).

b) Explain the human factors considered during agile software development.

  • Answer: In Agile software development, human factors such as:
    1. Collaboration and Communication: Encouraging continuous communication between team members and customers.
    2. Motivation: Ensuring that team members are motivated and encouraged to contribute to the success of the project.
    3. Adaptability: Emphasizing the ability to adapt to change, both from customers and within the team dynamics.
Scroll to Top