Vous êtes sur la page 1sur 17

Software Requirements;

Collecting and Analysing

Group Assignment Prepared by: Mohammed Saeed Mubarak Al-Awbathani Ali Saeed Mubarak Al-Awbathani

Contents
Introduction Information gathering Requirement Analysis Methods comparison Example of application

INTRODUCTION
Requirement Analysis Key Concept:
The process of understanding what is needed or wanted by users and expressing the results in writing. It will specify what the software application will do to meet the requirements of its users. Includes 3 types of activities: 1. Requirement Gathering: the task of communicating with all stakeholders to determine what their requirements are. 2. Requirement Analysis: the task of making the stated and unstated requirements clear, complete, unambiguous and detailed. 3. Documenting Requirements: Requirements may be documented in various forms, such use cases, process specifications, software requirements specification (SRS), Functional Specifications (FS) etc.. This assignment will discuss the methods of how software requirements are gathered and analysed and what are the advantages and disadvantages of each method.

INTRODUCTION
General process for requirements analysis (Adapted
from M. Maguire and N. Bevan, 2002)

Information Gathering
The first step in user requirements analysis is to gather background information about the users and stakeholders and the processes that currently take place. The following methods may be adopted:
1. Stakeholder analysis To identify all the users and stakeholders who may influence or be impacted by the system. 2. Secondary market research To find out the range of possible user markets through published sources such as research reports, census data and demographic information. 3. Context of use analysis To capture contextual information in order to specify user requirements.

Information Gathering
4. Task analysis To understand the current system, the information flows within it, the problems for people, and opportunities that indicate user needs. 5. Rich pictures To show how people and systems relate to each other in an organisation. They may show peoples roles, power structures, communications and reporting mechanisms.

Requirements Analysis
Involves two main activities
1. User needs identification Once user data has been collected, this stage will concentrate on the process of identifying user needs. 2. Evaluation and Envisioning Once an initial set of user requirements has been developed, it is important to develop a prototype to illustrate them. User feedback can then be obtained on the prototype to validate and refine the user requirements. Potential techniques will be described next

1. User surveys

Requirement Analysis

To help determine the needs of users, current work practices and attitudes to new system ideas. To obtain quantitative and some qualitative data from a large number of users about the problems of existing tasks or the current system. 2. Interviewing a commonly used technique where users, stakeholders and domain experts are questioned to gain information about their needs or requirements in relation to the new system. usually done in semi- structured based on a series of fixed questions with scope for the user to expand on their responses.

Requirement Analysis
3. Scenarios and use cases

To give detailed realistic examples of how users may carry out their tasks in a specified context with the future system. To provide examples of future use as an aid to understanding and clarifying use requirements and to provide a basis for later usability testing. Scenarios of use are sometimes called use cases, although the term is also use by software engineers to refer to the use of functions. In a related method called personas, a character is created to represent each of the most important user groups.

Requirement Analysis
4. Storyboards

- to show sequences of images that show the relationship between user actions or inputs and system outputs. - a typical storyboard will contain a number of images representing menus, dialogue boxes and windows. - storyboard sequences provide a platform for exploring and refining user requirements options via a static representation of the future system

Requirement Analysis
5. Prototyping - is where designers create paper or software-based simulations of user interface elements (menus, icons, windows, dialogue sequences, etc.) - when a paper prototype has been prepared, a member of the design team sits before a user and 'plays the computer' by moving the paper and card interface elements around in response to the user's actions. - the difficulties encountered by the user and user comments, are recorded by an observer. This provide a greater level of realism than is normally possible with simple paper mock- ups.

Methods Comparisons
Information Gathering
Advantages Disadvantages

Methods Comparisons
Requirement Analysis (User Needs Identification)
Advantage(s) Disadvantage(s)

Example of Application
E-Commerce Site. First of all, requirement data will be collected and gathered using the Stakeholder Analysis method because it will ensure all stakeholders are taken into account and has no drawbacks. Stakeholders here are the online customers and web administrator. As for the analysis stage, I will opt for Use Cases/ Scenarios as it is less time consuming and can give a clear future function of the E-commerce website . Use Cases method for an E-Commerce Site; It will be called MHbookstore (selling books on Real-time And Distributed Systems), and it will provide: an interface for customers, to browse the catalogue and to buy books, an interface for bookstore administrators, to examine the inventory and the sales data, databases for the inventory, and the customer accounts, applications to manage customer accounts, shopping cart objects, and inventory, a subsystem to track and fill back-orders (orders to be filled for books that are yet to arrive)

Example of Application
Lets say the requirements specify that the customers are supported by the following set of Use Cases, each of which will be developed as a scenario in the Use Case Map: browse: a list of items is retrieved from the database view_item: a detailed description of an item is retrieved from the database add_to_cart: an item is added to the customers shopping cart remove_from_cart: an item is removed from the customers shopping cart checkout: the customer buys the items contained in the shopping cart login: the customers login is verified in and if valid the customers account information is retrieved from the database register: a new customer is registered with the bookstore The Administrator is supported by two Use Cases/scenarios: update_inventory: the stock for each item is updated fill_backorders: outstanding backorders are filled (following an inventory update)

CONCLUSION
To ensure a successful outcome, the design team must satisfy the needs and wants of the user when the development is complete. To achieve this, user needs should not only be elicited by techniques such as surveys, focus groups, interviews etc., but they should also be reflected back to users via simulations in order to prototype the user requirements. The requirements will of course then evolve as the system develops and more formal user evaluation takes place.

References
1. Maguire, M. and Bevan, N., User requirements analysis A review of supporting methods, in Proceedings of IFIP 17th World Computer Congress, Montreal, Canada, August 2002, pp.133-148. Kluwer Academic Publishers. 2. Petriu D. and Woodside M., Analysing Software Requirements Specifications for Performance, in 3rd Int Workshop on Software and Performance, 2002, pp. 1-9. ACM Press. 3. Wiegers K. E., So You Want To Be a Requirements Analyst?, Process Impact, 2003.

Vous aimerez peut-être aussi