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) List the activities of Spiral Model.
- Answer: The Spiral Model involves the following activities in each iteration:
- Planning: Define objectives, constraints, and risks.
- Risk Analysis: Identify potential risks and prepare mitigation strategies.
- Engineering: Develop and test the system based on defined requirements.
- Evaluation: Get feedback from the customer and refine the requirements for the next iteration.
b) What is class & object?
- Answer:
- Class: A blueprint or template for creating objects, defining their attributes and behaviors.
- Object: An instance of a class. It is a real entity with a defined state and behavior.
c) What does ASD stand for?
- Answer: ASD stands for Agile Software Development. It is an iterative and incremental approach to software development that emphasizes flexibility, collaboration, and customer feedback.
d) Define Agility.
- Answer: Agility refers to the ability of a software development process to adapt to changes quickly and efficiently. Agile methodologies focus on flexibility, iterative development, and frequent communication with stakeholders.
e) Draw a symbol of component.
- Answer:
- The component symbol in UML is represented as a rectangle with two smaller rectangles (one on the left side and one on the top right) that visually signify the modular nature of the component.
- Diagram:
------------------------- | <<component>> | | ComponentName | -------------------------
f) Name any two key XP activities.
- Answer:
- Pair Programming: Two developers work together on the same code, promoting collaboration and knowledge sharing.
- Test-Driven Development (TDD): Writing tests before the code, ensuring that the system is built to meet the test cases.
g) “A design notation is a symbolic representational system”. Justify.
- Answer: A design notation provides a visual language for representing software system design in a standardized way. It uses symbols and diagrams (like UML) to describe components, relationships, and workflows, which helps communicate complex systems in a more understandable and clear manner.
h) What is meant by structural analysis?
- Answer: Structural analysis refers to the process of analyzing the internal structure of a software system, identifying components, modules, and their relationships. It is essential for ensuring that the software architecture is well-designed and maintainable.
i) Define Pattern.
- Answer: A Pattern is a reusable solution to a commonly occurring problem in software design. Patterns provide proven solutions and guidelines for solving design issues in a system.
j) What are the common notations for deployment diagram?
- Answer: Common notations in a Deployment Diagram include:
- Node: Represented by a 3D box, representing hardware or a machine in the system.
- Artifact: Represented as a rectangle with a folded corner, depicting a piece of code (e.g., a file or executable).
- Communication path: A line with an arrow indicating interaction between nodes.
Q2) Attempt any Four of the following. [4 × 2 = 8]
a) What is negotiation?
- Answer: Negotiation is the process of discussing and reaching an agreement between stakeholders (e.g., customers, developers) about the project requirements, priorities, and constraints. It helps ensure that the final product meets the needs of the stakeholders while adhering to time and budget constraints.
b) Describe the terms cohesion & coupling.
- Answer:
- Cohesion: Refers to the degree to which the elements of a module or class are related to each other. High cohesion means that a class or module performs a single, well-defined task.
- Coupling: Refers to the degree to which one module or class depends on another. Low coupling means that modules are independent and can operate without affecting each other, which improves maintainability.
c) State the purpose of use case diagram.
- Answer: A Use Case Diagram is used to visually represent the interactions between users (actors) and the system. It helps define the system’s functional requirements by depicting use cases that describe how users will interact with the system.
d) Write a short note on concurrent deployment model.
- Answer: The Concurrent Deployment Model refers to the simultaneous development and deployment of different components of a software system. This model is used when different teams work in parallel on different system components, which are later integrated into the final system.
e) What are the elements which are used in activity diagram?
- Answer: The key elements in an Activity Diagram are:
- Action/Activity: Represents a task or operation.
- Decision Node: Represents a point where the flow splits based on a condition.
- Initial Node: Denotes the start of the process.
- Final Node: Denotes the end of the process.
- Fork/Join: Splits or synchronizes parallel activities.
- Control Flow: Arrows representing the flow of activities.
Q3) Attempt any Two of the following. [2 × 4 = 8]
a) State difference between structured & unstructured Interviews.
- Answer:
- Structured Interviews: These follow a predefined set of questions and are more focused on gathering specific information. The questions are standardized, making it easier to compare responses.
- Unstructured Interviews: These are more conversational and flexible, allowing the interviewer to ask open-ended questions. The flow of the conversation can change based on the responses.
b) Draw sequence diagram for student registration system.
- Answer:
The Sequence Diagram for a student registration system would involve the following actors:- Student initiates the process by requesting registration.
- System checks student eligibility.
- System presents a registration form.
- Student fills in the registration details.
- System validates the entered details.
- System confirms successful registration.
Student System | | |--Request--> | | |--Check Eligibility--> | |<--Response--> |--Fill Form--> | | |--Validate--> | |<--Response--> |--Confirm--> |
c) Explain umbrella activities of software engineering.
- Answer: Umbrella Activities are activities that are conducted throughout the software development lifecycle and support the primary development tasks. These include:
- Project Management: Managing time, budget, resources, and scope.
- Configuration Management: Managing changes to the software and keeping track of different versions.
- Quality Assurance: Ensuring that the software meets the required standards and performs correctly.
- Risk Management: Identifying, analyzing, and mitigating potential risks.
- Documentation: Creating and maintaining necessary documentation throughout the development process.
Q4) Attempt any Two of the following. [2 × 4 = 8]
a) Explain RAD model with diagram.
- Answer: RAD (Rapid Application Development) model emphasizes quick development and iteration, with prototypes built and reviewed quickly.
- Diagram:
[Requirement Planning] --> [User Design] --> [Construction] --> [Cutover]
- Explanation:
- Requirement Planning: The initial phase where requirements are gathered and understood.
- User Design: Users and developers work together to create prototypes.
- Construction: The actual system is developed based on the prototypes.
- Cutover: The system is deployed, and final adjustments are made.
- Diagram:
b) What is an agile process model?
- Answer: The Agile Process Model focuses on iterative development, flexibility, and collaboration with customers. It encourages rapid prototyping, continuous feedback, and adaptive planning. Agile methods include Scrum, Extreme Programming (XP), and Kanban. Agile development cycles, called sprints, result in small, functional software releases that can be improved with each iteration.
c) Define: Software Requirements Specification (SRS).
- Answer: Software Requirements Specification (SRS) is a detailed document that describes the functional and non-functional requirements of a software system. It includes:
- Functional Requirements: Specific functions and operations that the system must perform.
- Non-Functional Requirements: Performance, security, and usability standards.
- System Constraints: Limitations such as hardware and software dependencies.
Q5) Attempt any one of the following. [1 × 3 = 3]
a) **Draw UML class diagram for railway reservation system.
**
- Answer: A UML Class Diagram for a railway reservation system would include:
- Classes:
Passenger
,Ticket
,Train
,Reservation
. - Relationships:
Passenger
has aTicket
,Train
has multipleSeats
,Reservation
links aPassenger
to aTrain
.
+-----------------+ +-------------------+ | Passenger | | Ticket | +-----------------+ +-------------------+ | -passengerID | | -ticketID | | -name | | -dateIssued | | -email | | -seatNumber | +-----------------+ +-------------------+ | | | 1 | 1 | | v v +-----------------+ +-------------------+ | Reservation | | Train | +-----------------+ +-------------------+ | -reservationID | | -trainID | | -reservationDate| | -trainName | +-----------------+ +-------------------+
- Classes:
b) Explain any three different types of design classes in software engineering.
- Answer:
- Entity Classes: Represent real-world entities (e.g., Customer, Product).
- Boundary Classes: Represent user interface elements or system boundaries (e.g., LoginPage, UserForm).
- Control Classes: Coordinate activities between entity and boundary classes, and handle system behavior (e.g., OrderProcessing).
This concludes the solution to the exam paper.