0707.321 Principles of Software Engineering
Homework 2
Software Requirements
Due Date
- Morning Section (02): Monday, February 18 (11:59pm)
- Evening Section (01): Tuesday, February 19 (11:59pm)
Form of Submission
Homework can submitted via email or printout by deadline.
Preparation
This assignment will exercise your knowledge of software
requirements. Before you begin, do the following:
- Read Sommerville's Software Engineering, Chapter 5.
Assignment
- Classify the following requirement specifications
(for a student information system) as one of:
- Functional requirement
- Product requirement (non-functional)
- Organizational requirement (non-functional)
- External requirement (non-functional)
- Users shall authenticate themselves to the System using their
university account and pre-arranged password.
- Until the user has authenticated with the System,
they shall only be able to look at lists of available classes and
whether there is still space available in them.
- When the schedule permits, student users should be able to select
which section of a course they wish to register for.
- Student users should not be able to use the System to register
for a class for which they lack the necessary prerequisites.
- Student users shall be able to use the system after reading a
one-page tutorial and making use of online help pages.
- Instructor users shall be able to waive all or some of the
prerequisites for a course or section.
- Instructor users shall be able to register students in their
sections despite any missing prerequisites.
- The System shall be accessible via the World Wide Web.
- The System shall be able to handle the operation requests of 500
users at a time.
- The System shall be ready to be reployed by Fall semester 2003.
- Rewrite the following non-functional requirement specifications
so that they are verifiable, splitting them into
multiple requirements if you deem that appropriate.
Feel free to assign plausible quantifiable values as necessary.
(See Sommerville Section 5.1.2 for more info.)
- When the computer is powered on, the operating system should boot quickly
- The web server should be able to serve our needs for the next two years.
- The student information system should be up and available for
use throughout the official registration period.
- The user interface of the automatic cinema ticket machine should
be intuitive.
- The video game should be able to run well on consumer computers.
- [Sommerville, Question 5.5a]
Using the technique suggested in Section 5.2 of Sommerville,
where natural language is used in a standard way to make requirements
specifications clearer, write plausible user requirements for the
following function:
An unattended gasoline pump (such as you would find everywhere but in
New Jersey) that accept payments by credit card. To operate, the
customer swipes the card through the reader and specifies the amuont
of fuel required. The fuel is deliver and the customer's credit card
is charged accordingly.