DISCUSSION QUESTIONS
DQ #1
The following questions are taken from Sommervilles's "Software Engineering".
Suggest the most appropriate generic software process model that might be used as a basis for managing the development of the following systems. Explain your answer according to the type of system being developed:
- A system to control antilock braking in a car.
- A virtual reality system to support software maintenance
- A university accounting system that replaces an existing system
- An interactive travel planning system that helps users plan journeys with the lowest environmental impact
Give an example of each of the systems above, if they exist in real life. Here's a link to different (specific) software process models for you to explore if you want to be more precise: Types of Software Process Model.
DQ #2
The following are terms used in the Agile Software Development model, define each one of them and bring your definitions to the class for discussion:
- User Story
- Sprint
- Scrum
- Backlog
- Sprint Retrospective
- Sprint Review
- Definition of Done (DoD)
- Epic
- Kanban
- Kanban Board
- Minimum Viable Product (MVP)
- Timeboxing
- Gantt chart
- Workflow
- XP
For reference or further reading, you can take a look a the Agile Manifesto and the Twelve Principles of Agile Software.
DQ #3
Download and read the Mentcare System SRS document, part of a case study from the class textbook. Here's a little excerpt about the system (Mentcare) and the case study:
You can read more about the system and case study in Section 1.3.2 (pp. 34-36).This case study focuses on the requirements for a system that I have called the Mentcare system, which is a real system (although that is not its real name) which was used in a number of UK hospitals, including hospitals in Scotland. The system is designed for use in clinics attended by patients suffering from mental health problems and records details of their consultations and conditions. It is separate from a more general patient records system as more detailed information has to be maintained and the system has to be set up to generate letters and reports of different types and to help ensure that the laws pertaining to mental health are maintained by staff treating patients. This is a secondary safety-critical system as system failure can lead to decisions that compromise the safety of the patient or the medical staff caring for the patient. There are also significant security and privacy considerations that have to be taken into account in the Mentcare system.
Answer the following questions based on your reading of the SRS document:
- Who are the primary and secondary users of the system?
- Are there any non-human stakeholders (e.g., regulatory bodies, reporting systems)?
- What do different stakeholders want from the system?
- What specific functions does the system need to perform (e.g., record keeping, reporting)?
- How are these functions broken down or grouped in the SRS?
- What non-functional (performance, usability, security, or legal requirements) are specified?
-
Reflection questions for building your own SRS:
- What elements of the Mentcare SRS should you include in your own SRS?
- What kinds of user interactions and scenarios do you need to define?
- How can you clearly differentiate functional and non-functional requirements?
- How can you structure your document so it's useful both for users and developers?