Beruflich Dokumente
Kultur Dokumente
Requirement Engineering can be divided into two parts: 1. Requirements Definition 2. Requirements Management Requirements Definition consists of following stages: 1. Requirements Elicitation, concerned with gathering of requirements. 2. Requirement Analysis, concerned with modeling the requirements to identify errors, inconsistencies, and other defects. The models used are Use-cases, DFDs, ER diagrams, State Transition diagrams. 3. Requirement Documentation, the requirements document is called as SRS(Software Requirements Specification) 4. Requirement Review, deals with how to handle changes in requirements.
50
domain. For example, if a system for a supermarket is required, the analyst must find out how supermarket s operate.
2. Requirements collection: This is the is the process of interacting with stakeholders in the
system to discover their requirements. Obviously, domain understanding develops furher during this activity.
3. Classification: This activity takes the unstructured collection of requirements and
will conflict. This activity is concerned with finding and resolving conflicts.
5. Prioritization: In any set of requirements some will be more important than others. This
stage involves interaction with stakeholders to discover the most important requirements.
6. Requirements checking: The requirements are checked to discover if they are complete,
consistent and in accordance with what stakeholders really want from the system.
51
52
Viewpoint Identification, which involves discovering viewpoints that receive system services and identifying the specific services provided to each viewpoint. Viewpoint structuring, which involves grouping related viewpoints into a hierarchy. Common services are provided at higher levels in the hierarchy and are inherited by lower-level viewpoints. Viewpoint documentation, which involves defining the description of the identified viewpoints and services. Viewpoint system mapping, which involves identifying objects in an object oriented design using service information which is encapsulated in viewpoints.
Viewpoint and service information in VORD is collected using standard forms. The forms used for Viewpoint information and Service information are shown in Figure below
2. Scenarios People find it easy to understand and criticize a scenario of how they might interact with a software system. Requirements engineers can use the information gained from this discussion to formulate the actual system requirements. The scenario based approaches used are Event scenarios or Use Cases.
Each distinct interaction event such as inserting a card into an ATM or selecting an ATM service may be documented with a separate event scenario. To illustrate event scenarios, consider Figure which shows the scenario to Start Transaction event.
53
Figure shows that when a card is inserted, the customers PIN is requested. The customer inputs his/her PIN, if the card is valid control can move to the next stage. In first stage i.e. Request PIN, there are three possible exceptions: Timeout, Invalid Card, and Stolen Card. For the first two exceptions, the action taken is to return card. For the third exception, the card is retained by the machine. The second stage i.e. Validate user, has exception Incorrect PIN, for which PIN is requested again. If an incorrect PIN is again input, the card is returned.
Use cases are a scenario-based technique for requirements elicitation which were first introduced in the Objectory method (Jacobson et al., 1993). In their simplest form, a use-case identifies the actors involved in an interaction and names the type of interaction. A use case encapsulates all possible scenarios for that specific use-case. 3. Ethnography Ethnography is an observational technique that can be used to understand social and organizational requirements. An analyst immerses himself in the working environment where the system will be used. The day-to-day work is observed and notes made of actual tasks in which the participants are involved. The value of ethnography is that it helps discover implicit system requirements which reflects the actual rather than formal processes in which people are involved.
54
Ethnography is particularly effective at discovering two types of requirements: i) Requirements that are derived from the way in which people actually work rather than the way in which process definitions say they ought to work. For example, air traffic controllers may switch off an aircraft conflict alert system which detects aircraft with intersecting flight paths even though normal control procedures specify that it should be used. Their control strategy is designed to ensure that these aircraft are moves apart before problems occur and they find that the conflict alert alarm distracts them from their work. ii) Requirements that are derived from cooperation and awareness of other peoples activities. For example, air traffic controller may use an awareness of other controllers work to predict the number of aircraft which will be entering their control sector. They then modify their control strategies depending on that predicted workload. Therefore, an automated ATC system should allow controllers in a sector to have some visibility of the work in adjacent sectors. Ethnography is not a complete approach to elicitation and it should be used with other approaches such as use-case analysis, as it cannot always identify new features which should be added to a system.
55
Requirement Classification
1. Enduring requirements: Stable requirements derived from the core activity of the
customer organization. e.g. a hospital will always have doctors, nurses, etc.
2. Volatile requirements. Requirements which change during development or when the
Mutable requirements: requirements that change due to the changing of systems environment Emergent requirements: requirements that emerge as understanding of the system develops during the system development. Consequential requirements: requirements that result from the introduction of the computer system that result to new process which may generate new requirements. Compatibility requirements: requirements that depend on other systems
ii.
iii.
iv.
Conflict Resolution
Basic approaches to conflict resolution 1) Negotiation: participants attempt to find a settlement that satisfies all parties as much as possible. 2) Competition: maximizing your own gain, no regard for the degree of satisfaction of other parties. 3) Third Party Resolution: participants appeal to outside source Types of third party resolution i) Judicial: cases presented by each participant are taken into account ii) Extra-judicial: a decision is determined by factors other than the cases presented (e.g. relative status of participants). iii) Arbitrary: e.g. toss of a coin
56
Requirement Prioritization
Customer may have way too much requirements. For each requirement, we have to decide: How important is this to the customer? How much will it cost to implement? How risky will it be to attempt to build it? The most basic approach for requirement prioritization is Cost-Value approach.
The requirements having high importance and low cost is given higher priority.
57
Requirements Management
Requirements Management deals with how to handle the changes in requirements . The requirements management process consists of following steps:
1. Initiation: A change in requirement is initiated by filling up the Change Requirement
Form(CRF). The initiator describes the changes required with respect to what is documented in SRS. The initiator also describes why such a change is required to the system, what benefits are expected with changes, what difficulties will be faced without the change.
2. Impact Analysis: After initiation, the Configuration Controller along with the project
manager hands over the CRF to various members of project team to evaluate the proposed change from various perspectives e.g. technical feasibility, additional resources, additional time, impact on current activities, etc.
3. Evaluation: The Configuration Controller collects the impact analysis and calls for a
meeting of Change Control Board(CCB). The CCB comprises of Project Manager, Configuration Controller, and senior designers from the development team. The CCB may take one of the following decisions: Approve, Reject, Partially Approved, Keep Pending for next CCB or performs further impact analysis.
4. Planning: Once the CRF is fully or partially approved, the Configuration Controller fills
up the Implementation Plan including the base-lined items need to be changed, what versions will be changed and what quality control steps will be taken on each item that will be changed.
5.
Execution: Execution phase includes all the quality control steps that were planned in the Implementation Plan for the CRF. have been made.
6. Closing: The CRF is marked as closed after verifying that all changes that were required
58