Exercises for Software Acquisition and Requirements (SANS)

4

Exercises for Software Acquisition and Requirements (SANS)

© Soren Lauesen 2017

Contents

Exercises for the Danish IT case 2

Exercises in data modeling 3

Case study: Web site for Danish IT 5

1. Background 5

2. Member activities 5

3. What should the site be used for? 6

4. General office and management of Danish IT 7

5. Existing IT systems 7

The exercises are used as assignments throughout the course.

Exercises for the Danish IT case

(Exercise numbers correspond to the chapters of the SR textbook)

Exercise 1.8. Project type, etc. (an expanded version of the textbook’s exercise 1.8)

Contract-wise three parties are involved: (1) The general office and management of Danish IT. (2) The internal IT department. (3) One or more CMS suppliers, etc. Notice that the IT department has to deliver something in this project. They are not just consultants.

a) Who is customer and who is supplier? As things are right now, the project type is "unknown" and it blocks further work. Which project type would you suggest? (see the SR textbook 1.2)

b) Give an example of a relevant requirement on goal level, on domain level, on product level and on design level. (Choose a complex task to illustrate the domain level. Otherwise the difference between domain and product level is too small. See SR1.6.)

c) Which project model would you suggest? (Project model is not the same as project type. See SR 1.7.)

d) Make two context diagrams for the system: one for the present situation and one for the future. Figure SR 1.3 and SL-07 A1 show examples. Make sure to show some data on the arrows as in SL-07 A1.

Exercise 2.4. Data requirements

In this and the following exercises consider only what members and potential members can see and do.

a) Write data requirements as an E/R data model.

b) Write data descriptions (data dictionary) for interesting parts of the model.

c) Write some data requirements as virtual windows.

d) Which kind of data requirement is best in this case?

Exercise 3.7. Functional requirements

a) Write the functional requirements as task descriptions. Use the format from SL-07 C. Remember to record the present problems. Only look at the member’s and potential member's needs. Ignore section 4 of the case.

b) Write at least one high-level task (also called flow).

Exercise 6.9. Quality requirements

a) Set up a quality grid. What are the most important quality factors in this project?

b) Define the usability requirements for the system. Justify them briefly. For usability tests, take care to specify good test tasks.

c) Security

1.  Find the most important security threats and set up a matrix for risk assessment (for the web-site only).

2.  Define some security requirements to protect against the threats.

3.  Define requirements for managing the access rights.

Exercise (7.6) Acquisition plan (the book doesn't cover this area; section 7.6 is the closest we get)

a) Write an acquisition plan for the project. What should be done by whom and in which sequence. Don't try to specify dates. Pay particular attention to how the external suppliers are involved.
Use SR7_LifeCycle, slide 23 and 24, for inspiration.

Exercise 8.4. Elicitation

a) Assume that we only know what is in the case description. Which elicitation techniques will you recommend?

b) What are the business goals of the project?

c) Show the relation between business goals, visions and requirements (see SL-07, B2). Use the teacher's suggested tasks as some of the requirements, or hand in your own tasks. Are all the business goals covered?

Exercise 9.6. Check the requirements for Danish IT

a) Find defects in the E/R model by comparing it with the screens shown in the case (a virtual windows check).

b) Carry out a CRUD/CREDO check.

Exercises in data modeling

(Source: Lauesen: User Interface Design)

4

16.1. Persons, rooms and phones

Make an E/R data model for how employees, rooms and phone numbers relate to each other in a company.

Consider only traditional, wired phones where each telephone socket on the wall has a wire to a number in the telephone exchange. In order to change the phone number of the socket, a technician has to move the wire to another number in the exchange.

Use your common sense of how these things relate. However, notice some special things that apply in some companies: several persons, for instance staff in the store room, may share a phone number. There are also cases where two rooms share a phone number, so that you may answer the phone in either room. Assume that each person has only one room number in the database – the room in which his snail-mail will be delivered.

a) Show the E/R model when each person has only one phone number. (Don't show foreign keys and artificial primary keys in E/R models. Use the notation from SL-07 or UID16, slide 8).

b) Show the E/R model when a person may have several phone numbers.

c) For question b show the table model with illustrative data (e.g. two rooms sharing a phone number). In the table model include the necessary primary and foreign keys.

16.2 Data model for an evening school

Make an E/R model for courses in an evening school. The data to be included are illustrated by this list of participants for a course. Notice that prices may vary from participant to participant.

Course: 2305 Greek for beginners
Teacher: Ted Petrides Period: Spring 2004
Participants: Civ.reg. Name Price
100830-0217 Peter Hansen 260
160950-0128 Kirsten Schou 520
......

a) Show the E/R model when each participant can negotiate his own price depending on his specific situation. Also assume that a course has only one teacher.

b) Change the model so that prices aren't individual. Courses are now divided into groups, e.g. short courses, long courses and advanced courses. In the same way, participants are divided into groups. The price for participation depends on the course group and the participant group as shown in the table below. The school can define the groups and prices on its own.

c) Extend the model so that a course may have more than one teacher. Also ensure that a teacher can be an ordinary participant on other courses without having to record his name and civil registration number twice.

d) For question c, show a table model with illustrative data and the necessary keys.

Price list / Course type
Participant type / Short / Long / Advanced
Normal / 260 / 350 / 510
Student / 180 / 280 / 380
Retired / 150 / 250 / 380

16.3 Data model for a library

A library has books. Some books exist in several versions, for instance

Patrick James: Travelling in Africa, 1996

Patrick James: Travelling in Africa, 2002

There may also be several copies of a book, for instance if a lot of people want to borrow it. Actually the word "book" is ambiguous. It may mean a specific copy, e.g. the one with a coffee dot on page 115; or a version of the book; or the book in general.

The library has borrowers and it sends out reminders to borrowers who have exceeded the loan period.

The library catalogue lists a lot of key words, organized hierarchically. Each book may have several of these keywords. As an example, here is part of the keyword list for an IT research library (using the Computing Reviews classification):

D. Software

. . .

H. Information systems

H.1 Models and principles

H.2 Database management

H.2.1 Logical design

Make an E/R model that describes the above aspects of the library.

a) First assume that we deal only with proper books and that a book has only one volume.

b) Modify the model so that it also covers books in several volumes, periodicals, pieces of art, and music.

c) Write a data dictionary for your model.

Warning: Question (a) is rather straightforward, but there are many ways to model question (b), and libraries do it differently. If you feel really dedicated, you might interview staff in your local library to find out how they organize things.

16.4 Data model for marriages

Make an E/R data model for persons in a country and who is married to whom. The model should reflect that only people of opposite sex can be married (at least in this exercise). Include some sex-related attributes, for instance done military service (we assume that only men may do this) and number of births (women only – even in these modern days). Use sub-classing in this exercise, although we generally advise against it in data modeling.

a) Assume that we want to record only the present situation.

b) Assume that we also want to keep track of the history, so we can see who was married to whom earlier.

c) For question b, show the table model with illustrative data.

11

Case study: Web site for Danish IT

1. Background

Danish IT is an association for IT professionals. It runs conferences and has a long list of interest groups. There are more than 6000 members and around 15 employees in the general office. The association's web site has become a mess, and members can no longer find what they look for. As a result, staff in the general office is disturbed by a lot of calls that should have been handled through the web-site. The association has two system developers for maintaining the system, and they are very busy. They have heard about usability, but have no experience with it.

One of the problems is that each conference and each interest group has its own web page, but only developers can change it. In addition, the information has to be shown in various lists. For example, figure 1 shows the web-site’s list of upcoming conferences. The details to the left don’t match 100% with the list to the right – a sign that the whole thing is maintained manually. All in all there are about 200 pages on the site.

For this reason, Danish IT has decided to buy or develop a new web-site. The idea is to create a common structure in the web-pages of interest groups, so that they don't need developer assistance for maintenance. The groups themselves should be able to change the name and description of the group, announce meetings, etc. Some staff members suggest that also conferences can be handled in this way, maybe as a kind of meeting.

2. Member activities

Interest groups. An interest group has from 4 to 300 members. Some of them make up the group's board. There is also a chairman. The group organizes meetings that members can sign up for. A meeting may have presentations with files that members can download. There may also be discussion papers without relation to a specific meeting.

Who can sign up for the meetings vary. For some meetings it’s only the group's own members, for other meetings it’s all members of Danish IT, and for board meetings it’s only the board members. It also varies how you get membership of a group. For some interest groups every member of Danish IT can sign up via the web site, for others you have to personally or via email contact the board members. However, you always have to be a member of Danish IT to join an interest group.

Over the years, the association has invented many kinds of interest groups. Some are called active networks. They operate with volunteers in the board and are free. Others charge a fee, for instance competence groups that charge members $900 a year. For these groups the association office takes care of organizing meetings, collecting fees, etc. The virtual networks don't usually run meetings, but debates are done for free on the association's web site. In these networks the chairman is usually called the moderator.

Finally we have the advisory boards, for instance the advisory board for Systems Development. An advisory board has only 4 to 12 members, who in principle all are board members. The advisory board has meetings where they discuss what is hot topics in the area, and they can start conferences and new interest groups. You only obtain membership in an advisory board through invitation from the board itself, for example when a member has retired.

Figure 2 shows an overview of the existing groups. The 14 virtual networks are not shown in this listing and the advisory boards are not mentioned at all. This distinction between different kinds of activities is obvious for the association office, but not for the members. Many members don’t know if it is an active network, a competence network or a virtual network they are a member of, and therefore have a hard time finding it even though there are only around 50 groups.

Some members are very active. They can be in multiple interest groups, board members in some of them, presenters in others, etc.

Conferences. A conference lasts one or a few days. There are several presentations during the conference. Usually the presenter makes his slides and other files available for participants. The participants can download the files themselves. A conference is organized by staff from the general office in cooperation with a couple of members. They are called the organizers, and they make up a kind of board for the conference.

Most conferences charge a fee. Some are only for association members, but most of them are open for the public. In the latter case, members pay a reduced fee. When a non-member signs up, he is recorded as a "temporary" member in order that the system can keep track of participants.

3. What should the site be used for?

The association wants the new site to attract new members and sell "tickets" for the conferences. For this reason it is important that any site visitor can get an overview of activities without being logged on. You should for example be able to see what presentations there are on the conferences, the time, place and who is giving the presentations.