MET CS 682 – Module 3
Assignment 3 – Requirements
The purpose of this week’s assignment is to give you practice thinking about effective IT system requirements and to give you practice in applying states and Visio. Our goal is for your requirements to be clear and well-regarded by those intended to use from them.
You will provide requirements, including supporting sketches, for a system WithEase that automatically and conveniently launches company-approved applications. The main user (company employee) is presented with a blank window and cursor at top left. She can type, speak, or gesture anything. Example: type “Albert Smith”. Each time the user enters a non-alphanumeric haracter, the system identifies the three company-sanctioned applications most appropriate for the input, launches them, and displays icons for them in order of likelihood. For example, upon typing “Albert Smith”, WithEase launches the company’s employment records app, targeted at Albert Smith, the company’s e-mail platform with message to Albert Smith, and Microsoft Word with “Albert Smith” showing—in that order of priority. The cursor remains in the WithEase window and the user can continue to enter content. WithEase allows the user to click on any of the three icons displayed at any time, transferring control to that application. At that time, WithEase also saves its own record of what has already been entered.
Sanctioned applications can be added to or removed from WithEase without the need for programming.
Remember that you are setting the requirements: you are not being given whole requirements, just this outline. Your requirements should be consistent with it. You may provide additional detail and expand the scope as needed, consistent with this outline and require intelligence from the system such as advice and checklist popups.
- Provide an overview which introduces the system.
- List and describe the different types of system users (actors).
- Specify key functional requirements to be provided by the system to the various types of users.
In doing this, you are not required to distinguish between high-level and detailed requirements. These requirements will be used for the construction of use cases – the next part of this homework.
- Specify two use cases in tabular format, showing actors, preconditions, actor actions and system responses. You may use copies of the following table if you wish. Each of these use cases should have 3-6 steps.
- Develop a state-transition diagram for the system at a high level. Limit this to two or three states, some of which may be composite states (that will be completed in question 6). You can use the next Visio template below as a start if you wish.
- Expand one of the states in the previous question into at least one sub-state. You may use the following template if you wish. Assume that the user can enter data at the same time that it computes the three most appropriate applications.
- Create GUI sketches for two WithEase screens.
- Briefly describe what you consider the two most important non-functional requirements. Explain your choice.
- Describe and contrast two different ways in which the requirements for this system could be organized.
As usual, the notes are a primary source for explanations and examples.
Don’t underestimate the time required to write a clear overview that is short enough to be readable, yet long enough to convey what the system does, structured appropriately.
You do not have to go into the finest requirement but make sure that you describe the major functionality. Enumerate and describe your functions systematically.
Use Case Model Diagram
The notes and the templates provided should be principal sources. Also, see pages 246 – 250 of the textbook for additional detail. If there are relationships between use cases, make a note of them. However, there may be none.
The table provided will be sufficient for your solution. (The use case name, primary actor, precondition, and action/system response steps should be shown.) Use cases are also described, in a non-tabular form, in the “Main Functions and Use Cases: An Introduction “ and the “Use Cases for Video Game” sections of the notes. Backup, additional information is available in the textbook.
The lecture notes and the textbook provide several of examples of use cases. Many of the use case examples in the book could be decomposed into several smaller use cases and many of the textbook’s steps are themselves use cases. necessary.
It is important that the functional requirements, the use case diagram, and the tabular use case descriptions are consistent.
There is no need for elaborate GUI’s here. Decide what information should be contained in each screen and draw rough mockup sketches. Use single rectangles for GUI windows, specify prompts to users, and use rectangles for text fields where users enter data. Indicate system output text to users as a series of x’s. See the “GUI Overviews” section on this week’s module for examples.
The “Non-Functional Requirements” section of this week’s notes provides examples.
Keep in mind that it takes time for an app to launch. When something can be in two states at once, consider making one of these a sub-state of the other.