Computer Science and Software Engineering 371

Software Requirements and Specification

Fall 2005

Exam 1 Solution

 

1.    Using the “triangle” of the relative cost to repair a defect at different life cycle phases (Figure 1-2, page 10 of the requirements text, and shown in a slightly different form in the lecture slides for September 2), we know that at each phase of the lifecycle, the cost of fixing a requirements error at least doubles when left uncorrected until the next phase.  So if you can reduce by one the average number of “phases” a requirements error goes through before it is found, the reduction in the total costs of fixing requirements errors has been reduced in half as well.


For instance, the cost of fixing errors at the maintenance phase is four times that of fixing them at the acceptance test phase.  So, if two-thirds of the requirements errors that occur at the maintenance phase were found at the acceptance test phase instead, that would reduce the total cost of fixing those errors by 50%.  This is because

 

                             [(2/3 * CM) * (1/4)] + (1/3 * CM) = 1/2 * CM

      

where CM = current total costs for fixing a requirements errors during maintenance.  (Yes, this does assume that the errors found earlier are on the average just as expensive to fix as the ones still not found.)  Similar formulae could be developed for reducing the costs of fixing requirements errors in each of the other development phases.  All quality assurance techniques (e.g. reviews or testing) implemented at each phase should be done with the goals in mind.

 

Alternatively, the requirements phase could be improved to reduce the number of errors such that the costs of fixing requirements errors in each lifecycle phase are reduced by half.

 

2.    (Sorry - it’s not the best of scans!)


3.    Answer in boldface, with comments in italics.

 

Form/NA     Southwest School Corporation needs an online Maintenance Order System for the custodial staff. [Note: This could also be used in the High Level Problem Summary, which is why the NA – for Not Applicable – is included.]

 

Time            When teachers, principals, or other staff needs a maintenance item installed or a problem addressed such as a new light bulb, pencil sharpener, etc, they have to contact the office and/or fill out an AVO (Avoid Verbal Order) form to be left where a custodian will find it.

 

Time            The maintenance workers have radios, but usually only one person in each of the five buildings has a radio to communicate with the custodian.

 

Time            This is usually the secretary’s job.

 

Time            The superintendent also oversees larger projects and needs to communicate important details and information to the maintenance personnel that might not be remembered if it was given over a radio.

 

Form            All custodial staff has access to a computer with Internet.

 

Form            They also all have e-mail addresses.

 

Function     It would be extremely more efficient if they could log onto the SWSC network and see what jobs are needed and what the priority might be for them.

 

Function     It would also be wonderful for all staff to be able to request minor installations such as a light bulb without having to leave their room.

 

Economy   It would absolutely be a powerful tool for the superintendent and principals to keep the custodial staff informed and visa versa.

 

Function     Custodial staff could document completed jobs and also request the need for outside vendors to be called in to assist on more complex problems.

 

4.    Although two is definitely not the optimal size for a software engineering team, it could be done by having for each phase of the software life cycle one person responsible for development and one person responsible for quality assurance.  In that manner, there is always a person who is not checking their own artifacts for errors.


 

5.    “Yes, But” syndrome – You can see that this syndrome is a definite possibility because new functions keep being suggested throughout the narrative.  Getting the scope of the project in check early is important.

 

“Undiscovered Ruins” syndrome – In this case, since time is limited, and the software is effectively being done pro bono for a non-profit organization, it is likely that neither developers nor stakeholders will go too far in their search for the optimal solution to the problem.

 

“The User and the Developer” syndrome – The stakeholders and developers are different groups in age and experience, work background, and technical knowledge.  Regular meetings at the beginning of the project, a requirements workshop (if possible within time and distance limitations) and storyboarding are possible solutions.

 

6.    Users – Teachers, Principals, (possibly) Secretaries, Custodians, (possibly) Maintenance Workers, Superintendent, Other Staff

 

       Stakeholders – Southwest School Corporation, Teachers, Principals, Secretaries, Custodians, Maintenance Workers, Superintendent, Other Staff

 

7.    Storyboarding

      

(I)    Is extremely inexpensive, because it is usually done on paper and involves rough sketches which can be done quickly.

 

(ii)   Is user friendly, informal, and interactive, because showing the storyboards involves the user in a low-tech environment.

 

(iii)  Provides and early review of the user interfaces of the system, since the storyboards will be used to create the use cases, and eventually the user interface.

 

(iv)  Is easy to create and easy to modify, because it only requires pen (or pencil) and paper to create, and since only rough sketches are involved, the storyboards are easy to “mark up”.


 

8.   

Name of Use Case

Finding a Schedule

Brief Description

 

Find a student’s class schedule for a particular term.

Actor(s)

System User

Basic Flow

1.  Position the cursor on the textbox labeled “ID/Username”.

 

2.  Enter the username of the student whose schedule you want.

 

3.  Click the button labeled “ID/Username”.

 

Alternate Flow(s)

1.  Select the proper term and year, if the default values are not desired.

 

2.  An incorrect username is supplied.

 

3.  The username supplied is for someone did not attend/is not attending during that term.

 

Pre-conditions

Must be at the Schedule Lookup Page, which means that the user must have input a valid Kerberos username and password at some point.

Post-conditions

The student’s name, username and advisor is output, along with the student’s schedule and course grid

or

The student’s name and username is output, with empty values for advisor, schedule and course grid

or

The username is not found, and a table (possibly empty) of students which have the input name as a prefix (e.g. johnzz for input of john) is displayed.  

 

9.    The requirements elicitation yields a set of features desired by the stakeholders, plus some idea of how important those features are.  (For instance, brainstorming and idea reduction during a requirements workshop will yield both the features that “made the cut” plus some idea of their importance through the voting during idea reduction.)