Software Engineering Questions - Summary Answers
1. Validating Requirements in the Reporting Module
To validate conflicting requirements for the reporting module:
- Engage in Stakeholder Analysis: Discuss the specific needs of each group - daily reports for store managers, weekly
trends for sales, and data security concerns for IT.
- Define Compromises and Flexibility: Design the module to allow flexibility in report generation (both daily and weekly
options).
- Ensure Data Security Compliance: Incorporate security features (e.g., access control, data masking) to meet IT's
security needs.
2. Role of Stereotypes in UML
Stereotypes in UML allow custom extensions of standard UML elements by adding specific metadata. They enable
enhanced readability and customization. For instance, in a class diagram, using stereotypes like <<Entity>> for
data-centric classes or <<Controller>> for control classes clarifies their roles, aiding in design clarity and maintainability.
3. Importance of Requirements Monitoring
Requirements monitoring is crucial for maintaining project relevance. It ensures the system aligns with stakeholder
needs and adapts to changes. Challenges include tracking evolving needs, preventing scope creep, and managing
documentation updates.
4. Role of UML in Software Engineering
UML aids in all phases of development, providing a common language for design and documentation. Use cases help in
requirements gathering, class diagrams assist in design, and sequence diagrams clarify interactions. Throughout the
lifecycle, UML diagrams ensure a shared understanding among developers and stakeholders.
5. Resolving Conflicting Requirements
To resolve conflicts:
1. Gather Clear Requirements: Understand each stakeholder's needs.
2. Prioritize and Negotiate: Prioritize requirements based on business impact and reach compromises.
3. Document Agreements: Record all decisions to prevent future misunderstandings.
6. Ensuring Consistency in Large-scale Projects
For consistent UML documentation:
- Define a Style Guide for diagram notations.
- Regular Peer Reviews to ensure uniformity across diagrams.
- Tool Integration to automate consistency checks across diagrams in the model.
7. Car Rental System UML Class Diagram
Classes:
- Vehicle: Attributes - vehicle ID, make, model, year.
- Customer: Attributes - customer ID, name, license number, contact.
- Rental: Attributes - start date, end date, total cost; Associations - 1 Customer rents 1 Vehicle.
Explanation: This design enforces one-to-one relationships for each rental, supporting business rules for tracking rentals
and managing data integrity.