You are on page 1of 17

SWEN 4432 Assignment 3 Name Put your answer to each of the questions below immediately after the question.

n. Chapter 7: 1. Requirements Engineering Processes. 1. Suggest who might be stakeholders in a university student records system? Explain why it is almost inevitable that the requirements of the different stakeholders will conflict in some way. As stakeholders are everyone who will be affected in some way, its fairly hard to list them all, but some examples would be students, teachers, other faculty members relating to the records such as the billing department, government officials in charge of the financial aid given to students who are below a certain number of hours, people of that nature.

The requirements that stakeholders have will conflict in various ways, as different people have different priorities, and some of the stakeholders who influence the design of a system more than others may not know exactly what they really want and need. In the student records system, the requirements of students may be something along the lines of they want to see at any given time what classes are remaining in their curriculum, and the government officials may want to see at any given time the hours of the courses already taken. In an extremely simple records system, these would conflict with each other, and would need each to be built upon to meet the requirements of both parties.

2. A software system is to be developed to manage the records of patients who enter a clinic for treatment. The records include records of the all regular patient monitoring (temperature, blood pressure, etc) treatments given, patient reactions and so on. After treatment, the records of their stay are sent to the patients doctor who maintains their complete medical record. Identify the principal viewpoints which might be taken into account in the specification of this system and organize these using a viewpoint hierarchy diagram.
Hospital Director

Indirect

Interactor

Domain

Patients

Finance

Medical Standards

Medical Coding System

Doctors

Nurses

Med. Coders

Local

Remote

3. For three of the viewpoints identified in the library system, LIBSYS (Figure 7.4), suggest three requirements that could be suggested by the stakeholders associated with that viewpoint. The doctors may require in depth medical analyses of the patients to be displayed so they can give prognoses easier, the nurses may 2

require previous history of medicine and treatments administered, so they can know what to expect from a patient, and the medical coders may require a complete list of individual services provided to the patient, to know what to enter into the database.

4. The LIBSYS system has to include support for cataloguing new documents where the system catalog may be distributed across several machines. What are likely to be the most important types of non-functional requirements associated with the cataloguing facilities? I would say the more important types of non-functional requirements would be those relating to the replication of data of the entire system, to the individual machines. Keeping the data consistent and congruent in the entire system would be one of the top goals of the system, as redundancies and omissions could be highly likely in a distributed environment.

5. Who should be involved in a requirement review? Draw a process model showing how a requirement review might be organized. The primary stakeholders should be involved in the requirements review, as well as those involved with the development of the system, and the project managers who are in charge of the budget and scheduling of the system.

Review Current Requirements

Determine Quality and Importance of Requirements

Determine Main Stakeholders

Interview Stakeholders

Determine Missed Requirements

Update Requirements List

6. Using your knowledge of how an ATM is used, develop a set of usecases that could serve as a basis for understanding the requirements for an ATM system. 1. The user is prompted to enter a card 2. The user enters their card 3. The user is prompted to enter their PIN 4. The user enters their PIN 5. The user is prompted to withdraw or check balance 6. The balance is displayed 7. If withdraw is chosen, the user is prompted to enter the amount to be withdrawn 5

8. If withdraw is chosen, the amount is compared with the balance, and if enough money is available, the money is dispensed 9. If withdraw is chosen, the user is prompted to take the dispensed money 10.The user is prompted to take their card 11.All transactions are complete, and display a happy message for the user Chapter 8: 2. System Models. 1. Based on your experience with a bank ATM, draw a dataflow diagram modeling the data processing involved when a customer withdraws cash from the machine.
User is prompted to enter requested amount of money

Balance is compared to total amount in account

If total is larger than amount requested

If total is smaller than amount requested

Dispense money

Prompt that balance is not large enough for transaction

2. Model the data processing that might take place in an email system. You should model the mail sending and mail receiving processing separately.

User is prompted for username and password

Login successful

Sending Email

Receiving Email

Email is composed

New emails fetched

Connect to remote email server

Display new email

Email Delivered

3. Draw state machine models of control software for: i. An automatic washing machine that has different programs for different types of clothes
Idle Money Inserted Door unlocked Door opened, then closed once Option 1 Options Presented Option 2 Hot Water Only Cold Water Only Hot Then Cold Water Option 3

Hot Water Prepped Cold Water Prepped Hot & Cold Prepped

Door Locked

Door Locked

Door Locked

Wash with 2 cycles of cold Wash with 2 cycles of hot Washing Complete Unlock Door End Wash with 1 cycle of each

ii. The software for a DVD player.


Idle Eject Pressed No DVD Present Open Tray Eject Pressed Close Tray DVD Present Settings Go to Menu Play Pressed (Chapter 1) Move to Chapter Specified Play Movie Eject Pressed

Bonus Features Settings Menu Change Options and Return To Settings

Jump To Chapter Return to Menu

Movie Ended

iii. A telephone answering system that records incoming messages and displays the number of accepted messages on an LED. The system should allow the telephone customer to dial in from any location, type a sequence of numbers (identified as tones) and play the recorded messages.
Idle Incoming Call Play button pressed Identify Caller Ring Begin Voicemail Play back recording Reduce # of Calls for Each Message Played Back Record Voicemail Allow user to record a message Update # Of Calls Play Recorded Voicemail Return to Idle State Reduce # of Calls for Each Message Played Back

Play Recorded Voicemail

10

4. Model the object classes that might be used in an email system. If you have tried Exercise 8.3 (Question 2.2 here) describe the differences between the data processing model and the object model.
User Attributes userID userName userPass userLastLogin Methods Login Logout GetMail SendMail Mail Attributes mailFrom mailTo mailCC mailBCC mailSubject mailBody No Methods

They differ in that the data processing model shows how the system would operate; the object model shows the details of the individual components. Both of them together would allow a developer to appropriately produce a system that functions with the properties described in the object model, with the actions described in the data processing model.

11

5. Develop an object model, including a class hierarchy diagram and an aggregation diagram showing the principal components of a personal computer system and its system software.
Processor Memory Controller

Power Supply

Motherboard

Memory

PCIE Cards

North Bridge

I/O Cards USB / Firewire Ports Onboard Sound

South Bridge

IRDA Devices Ethernet Ports BIOS

Hard & Optical Drives Operating System

Supporting Software

Supporting Software

Supporting Software

12

Chapter 11: 3. Architectural design. 1. Explain why it may be necessary to design the system architecture before the specifications are written. It may be necessary to make some decisions on what fundamental designs of system architecture will be implemented, before any specification can be written, as the specifications may rely on the architecture itself, in whole on in part.

2. Construct a table showing the advantages and disadvantages of the structural models discussed in the chapter. Model Type Repository Strengths Efficient way to share large amounts of data Distributed design, easy to add and integrate new servers to the system Supports incremental development of systems, very changeable and portable Weaknesses Subsystems must compromise between specific needs of tools Changes to clients may be necessary to fully utilize new servers Difficult to structure, subsystems may have to circumvent model to be effective

Client-Server

Layered

3. Giving reasons for your answer, suggest an appropriate structural model for the following systems: i. An automated ticket issuing system at a railway system. Repository. The remote systems would be the actual ticket issuing systems that users will use, and the servers will be central to some location. A minimum of compromises with tools would be necessary.

13

ii. A computer-controlled video conferencing system that allows video, audio and computer data to be visible to several participants at the same time. Client-Server. The video conferencing system would need to collect a large amount of information, and share it to all involved with great speed. Using a central server, with clients connected to it would suit the system well. Changing to a new server wouldnt affect the clients, so the disadvantages are minimized.

14

4. Explain why it may be necessary to design the system architecture before the specifications are written. Same question as #1.

5. Design an architecture for the above systems based on your choice of model. Made reasonable assumptions about the system requirements.
Client (Ticket Dispenser) Client (Ticket Dispenser) Client (Ticket Dispenser)

Central Location Server

Client (Ticket Dispenser)

Client (Ticket Dispenser)

Client (Ticket Dispenser)

15

Client 1

Client 2

Client 3

Server 1

The Internet

Server 2

Client 4

Client 5

Client 6

6. Giving reasons for your answer, suggest an appropriate control model for the following systems? i. A batch processing system that takes information about hours worked and pay rates and prints salary slips and bank credit transfer information. The Call-Return model. Efficiency would be better than the other models, as the entire process of calculating and printing can be repeated continuously until all are done, rather than doing each step as a whole, then moving to the next one. ii. A set of software tools that are produced by different vendors, but which must work together. Broadcast model. So long as a system can handle all of the events that the individual tools transmit, the entire system as a whole will work well. iii. A television controller that responds to signals from a remote control unit. 16

Interrupt-driven model. The system does not need to do anything until an event is given as an interrupt to its current state. When an interrupt is given, the appropriate action can be taken.

7. You are given two integrated CASE toolsets and are asked to compare them. Explain how you could use a reference model for CASE (Brown, et al., 1992) to make this comparison. CASE tools dont always have to contain the same types of tools or work in the same way. Using the reference model with its five sets of services would allow the user to determine what CASE tools are missing, and what has been added as extra services to the reference, which could then be used to compare the two toolsets.

17

You might also like