You are a software engineer and you get a new assignment from your boss:

You need to develop a program for a satellite TV contractor who needs to keep track of his customers.

a. Describe at least five features of the system that you definitely will implement. For each feature, write one or two sentences that explain why the feature is needed. Think about the functional specification of the system that you will develop.

b. Assume that you would like to implement the system so that several crews of the contractor can use it simultaneously. The crews are working at different locations. Describe at least three properties of the system that you would like to strive for. For each property, write one or two sentences to substantiate the necessity of this property.
 

Note This homework is meant to be a warm-up. It does not turn out this way as far as the results show. It might be that the wording of the problem is somewhat different with the textbook.

Answer/Grading

a. (2 points for each) Such a system should allow the contractor to add/delete/update information about his customers. As such, features such as

bulletAdd customer
bulletDelete customer 
bulletUpdate customer
bulletMaintaining balance of a customer
bulletLookup information about customer
bulletetc.

should be included in the answer. The reasons for these features are clear and should be added.

b. (3/3/4 points, gets one correct: 4 points, 3 each for the other) The system is supposed to be available for use in different locations and by several crews. Furthermore, no contractor wants to pay for the implementation of a system that can be used in only one day. Thus, it is reasonable to strive for 

bullethigh availability (high reliability) - this also means that it has high throughput, low response (so, only one of these will be counted in the grading)
bulletsecure
bulletlong lifetime