Anda di halaman 1dari 9

Requirements Analysis

OOA- UWS- Spring 2013

Introduction

The client and software developer have to work together to get to a situation where each party fully understands what is required by the software. We call this requirements analysis. Requirements analysis is important because the client and developer might have different understanding of what the system has to do. Consider this example: Age and DOB are the same from the clients point of view (the client is only interested in verifying that his or her customers are adults.) But from the developer point of view these are different. (with age you only need to record a number, with a DOB you might need to input the day, month and year.) Successful software development relies on having a clear and detailed understanding of what is required.
Object Oriented Analysis- UWS- 2013

1. Specifying Software

The Problem Statement

The starting point of any software project is the statement of requirements (Problem statement).

It is usually written in a natural language such as English and can be a few pages in length. It is written using terms of the clients business rather than in computing terms. Its primary purpose is to describe the application area (the realworld context within which the system is required to operate) and what the client requires of the system.

Normally, the less experienced in computing a client is, the smaller the statement of requirements will be. There are two types of information in the problem statement that need to be identified using requirements analysis:

3

Behavioral requirements: What the client wants the system to do. Constraints: The limitations on the system.
Object Oriented Analysis- UWS- 2013

2. Example

In this section a problem statement is provided by the client to the analyst (that is us.) The problem statement is brief, and our aim is to do a requirements analysis so we can understand exactly what the system should do.

Object Oriented Analysis- UWS- 2013

3. The Hospital Admission and Treatment System (The problem statement)

We start by giving you a statement of requirements for part of a software system to deal with the treatment of patients in a hospital: This part of the system is concerned with the admission, treatment and discharge of patients. When a patient is admitted to the hospital, he or she is placed in the care of a team of doctors. Each team is headed by a consultant doctor who is responsible for the patients assigned to that team. A record has to be kept of the doctors in a team who have actually treated the patient. The system should be able to:

Record the admission of a patient to the hospital; Give a list of the doctors who have treated a patient; Give a list of the patients that a team cares for together with the ward that each patient is in; Process the discharge of a patient from the hospital.

Object Oriented Analysis- UWS- 2013

HAT Problem statement

Now the analyst did not understand the requirements of the system properly and decided to do a requirement analysis. The analyst has prepared a set of questions to be asked to the client and called the client for a meeting. The analyst is hoping that this meeting will help him understand what exactly the client wants the system to do. So the analyst went to the client and the following questions were asked:

3. The Hospital Admission and Treatment System (Asking Questions)


Analyst: What information do you need to record about patients when they are admitted to the hospital? Admin (client): Well, their name and address. Oh, and their age. Analyst: you want that in number. Admin: No, not their age, their date of birth. Analyst: Dont you record whats supposed to be wrong with them? Admin: No, the consultant looks after that side of things. All we need to do is to note who the consultant is. Analyst: Im confused what is a consultant ? Admin: Each patient is under the responsibility of a particular consultant. We are told which one when the patient is admitted. Analyst: So how do you identify which consultant it is? Do they have some kind of identification numbers? Admin: No. We just use their team code. Analyst: So you make a note of the consultant responsible for the patient by recording their team code? Admin: Thats it.
7

3. The Hospital Admission and Treatment System (Asking Questions)


Analyst: Does this mean that all the consultants on a team are responsible for the patient? Admin: No, you dont understand. There is only one consultant on each team. The consultant is the leader of the team. I thought Ive made that clear in my problem statement. Analyst: Well, yes, it did say that each team was headed by a consultant. I just hadnt realized that there werent any other consultants on the team. Now then, lets see You say you record the team code. What exactly is a team code? Admin: Its just a name we use for the team. For example we have an A & E Emergency team, a Pediatrics team, an Orthopedics A team, an Orthopedics B team and so on. Analyst: Right, I think Ive got that. So lets just check. When a patient is admitted you need to note their name, address and date of birth as well the code of the team that cares for the patient. Is that all? Admin: Well, of course, we need to know what ward the patient is on. Analyst: ok so I will add the ward number And so on
8

Results
After asking these questions. The analyst understands now what the system should do. Here are some examples of Information learnt from the requirements analysis which are not clear in the problem statement: 1. Behavioral requirements (what the system should do): The system should record the name, address and DOB of patients. 2. Constraints: A team can only have one consultant

and so on

Anda mungkin juga menyukai