Software Engineering Exam Paper 3

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

Time: 2 Hours
Max. Marks: 35


Q1) Attempt any EIGHT of the following. [8 × 1 = 8]

a) What is Software Patterns?

  • Answer: Software Patterns refer to reusable solutions to common problems encountered in software design. They provide a general, reusable solution that can be applied to specific problems in a particular context, making the software design process more efficient.

b) Define: Software Engineering.

  • Answer: Software Engineering is the application of engineering principles to the design, development, maintenance, testing, and evaluation of software and systems. It aims to produce high-quality, reliable, and efficient software that meets user requirements.

c) Explain the purpose of sequence model.

  • Answer: The sequence model in software engineering represents the flow of control and data between objects or components in a system over time. It helps in understanding how different system components interact and sequence actions to achieve desired outcomes.

d) Define: Dependency.

  • Answer: Dependency refers to the relationship between software components where one component relies on another for functionality. It can occur in various forms, such as method calls, class inheritance, or module inclusion.

e) What is agility?

  • Answer: Agility refers to the ability of a software development process to adapt to changing requirements quickly and efficiently. Agile methods emphasize iterative development, customer collaboration, and flexibility in responding to changes.

f) What is the importance of design model?

  • Answer: The design model is crucial because it provides a blueprint for building the software system. It defines the structure of the system, including its components, classes, interfaces, and their interactions. A well-defined design model ensures that the system is modular, maintainable, and scalable.

g) State in brief for separation of concerns.

  • Answer: Separation of concerns is a design principle that divides a software system into distinct modules or components, each handling a specific aspect or concern of the system. This helps in reducing complexity, improving maintainability, and making the system more modular.

h) Explain requirement validation.

  • Answer: Requirement validation is the process of ensuring that the requirements gathered during the elicitation phase are complete, correct, and feasible. It involves reviewing requirements with stakeholders to verify their accuracy and alignment with user needs and business objectives.

i) What is meant by XP?

  • Answer: XP stands for Extreme Programming, an agile software development methodology that emphasizes customer involvement, rapid iterations, and frequent releases. It aims to improve software quality and responsiveness to changing customer requirements through continuous feedback.

j) Define: Prototyping.

  • Answer: Prototyping is a software development approach where a prototype (an early, incomplete version of the system) is built, tested, and refined based on user feedback. It helps in understanding user requirements more clearly and allows for rapid iterations.

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

a) Explain in brief about waterfall model.

  • Answer: The Waterfall Model is a linear and sequential approach to software development, where each phase (requirements, design, implementation, testing, deployment, maintenance) is completed before moving on to the next. It is simple and easy to understand, but inflexible as it doesn’t easily accommodate changes in requirements during development.

b) State any two symbols with an example for developing use cases.

  • Answer:
    1. Actor Symbol: Represented as a stick figure, it indicates a user or external system interacting with the system.
      • Example: A Customer actor interacting with an online shopping system.
    2. Use Case Symbol: Represented as an oval, it defines the functionality or service that the system provides.
      • Example: Place Order use case for an online shopping system.

c) State the disadvantages of Incremental model.

  • Answer: Some disadvantages of the Incremental Model are:
    1. Complex system architecture: Each increment might introduce new changes, making the system architecture complex.
    2. Hard to manage: With multiple increments being developed in parallel, managing the progress can be difficult.
    3. Integration issues: Combining different increments into a final system can pose integration problems if not carefully planned.

d) What is the difference between system and application software?

  • Answer:
    • System Software: Software that manages and controls computer hardware, e.g., operating systems, device drivers, utility programs.
    • Application Software: Software designed to perform specific tasks or applications for the user, e.g., word processors, web browsers, spreadsheets.

e) Explain the purpose of class diagram.

  • Answer: The Class Diagram in UML represents the static structure of a system by showing its classes, attributes, methods, and relationships (such as inheritance, association, and dependency). It helps in visualizing the structure and organization of the system and is crucial for understanding and designing the system’s architecture.

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

a) List the activities of spiral model in detail.

  • Answer: The Spiral Model consists of four key activities in each iteration:
    1. Planning: Involves defining the objectives, constraints, and risks of the project.
    2. Risk Analysis: Identifying and evaluating potential risks, and developing strategies to mitigate them.
    3. Engineering: The actual development and testing of the system based on the defined requirements.
    4. Evaluation and Review: Assessing progress, obtaining customer feedback, and refining the requirements for the next iteration.

b) Explain any four symbols of class diagram.

  • Answer:
    1. Class Symbol: Represented as a rectangle divided into three sections. The top section contains the class name, the middle section contains attributes, and the bottom section contains methods.
    2. Association: A solid line connecting two classes, indicating that they are related. It can have multiplicity (e.g., one-to-many).
    3. Inheritance: A solid line with a hollow arrowhead pointing to the parent class, representing the “is-a” relationship.
    4. Aggregation: A diamond shape at the end of the association line, indicating a whole-part relationship where the part can exist independently.

c) Draw an activity diagram for Airline reservation system.

  • Answer: The activity diagram would typically include:
    1. Start (Initial state).
    2. Search Flight (Action node).
    3. Select Flight (Action node).
    4. Enter Passenger Details (Action node).
    5. Payment (Action node).
    6. Confirm Reservation (Action node).
    7. End (Final state).
    Note: This is a simplified version of the activity diagram. It would involve decision nodes for conditional actions like flight availability.

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

a) Explain the purposes served by software requirement specification.

  • Answer: The Software Requirement Specification (SRS) serves several purposes:
    1. Clear Understanding: It provides a clear and detailed description of the software’s functionality and requirements.
    2. Reference for Development: It serves as a reference for the development team to ensure the software meets the specified requirements.
    3. Communication Tool: It acts as a communication tool between stakeholders (e.g., customers, developers, testers).
    4. Contract: It can serve as a formal contract between the client and the development team regarding the software’s capabilities.

b) Write in detail for Dynamic system development model.

  • Answer: The Dynamic System Development Method (DSDM) is an agile software development methodology that emphasizes rapid delivery of high-quality systems through incremental development and iterative cycles. It focuses on:
    1. Active user involvement: Users are engaged throughout the development cycle.
    2. Frequent delivery: Systems are delivered incrementally to allow for early feedback.
    3. Iterative development: Each iteration improves and refines the system based on user feedback.
    4. Time-boxed approach: Development is done within fixed time constraints.

c) Explain a software process framework in detail.

  • Answer: A software process framework provides a structure for organizing and managing the activities involved in software development. It typically includes:
    1. Core Process: Involves requirements gathering, design, implementation, and testing.
    2. Support Process: Includes project management, configuration management, and quality assurance.
    3. Phases: Software development is broken into phases such as planning, analysis, design, coding, testing, and maintenance.
    4. Feedback Loops: Continuous feedback is provided to refine and improve the process.

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

a) Draw a sequence diagram for student registration system.

  • Answer: The Sequence Diagram for a student registration system could include the following steps:
    1. Student requests to Register.
    2. System checks if the student is eligible.
    3. System presents a registration form to the student.
    4. Student enters details and submits

. 5. System validates and processes the data. 6. System confirms registration and displays success.

b) State any six attributes of good software.

  • Answer:
    1. Functionality: The software should meet all functional requirements and perform the desired tasks correctly.
    2. Usability: It should be easy to use and understand by end-users.
    3. Efficiency: The software should perform tasks efficiently in terms of speed and resource usage.
    4. Reliability: The software should perform consistently under expected conditions without failure.
    5. Maintainability: The software should be easy to modify and update as needed.
    6. Portability: The software should work across different platforms and environments.

This concludes the solution to the exam paper.

Scroll to Top