540 likes | 569 Views
Chapter 7 R equirements E ngineering Processes Haya Sammaneh. Objectives. To describe the principal of requirements engineering activities and their relationship To introduce techniques for requirements elicitation and analysis To understand the importance of requirements validation.
E N D
Objectives • To describe the principal of requirements engineering activities and their relationship • To introduce techniques for requirements elicitation and analysis • To understand the importance of requirements validation
Topics covered • Feasibility studies • Requirements elicitation and analysis • Requirements validation • Requirements management
Requirements Engineering processes • The processes used for RE vary widely depending on the application domain, the people involved and the organization developing the requirements • However, there are a number of generic activitiescommon to all processes • Feasibility study • Requirements elicitation and analysis • requirements specification and system modeling. • Requirements validation • Requirements management
7.1 Feasibility studies • A feasibility study decides whether or not the proposed system is worthwhile • A short focused study that checks • If the system contributes to organizational objectives • If the system can be engineered using current technology and within budget • If the system can be integrated with other systems that are used
Feasibility study implementation • Based on information assessment , information collection and report writing • Questions for people in the organization • What if the system wasn’t implemented? • What are current process problems? • How will the proposed system help? • What will be the integration problems? • Is new technology needed? • What facilities must be supported by the proposed system?
7.2 Requirements Elicitation (discovery) and analysis • Involvestechnical staff working with customers, the services that the system should provide and the system’s operational constraints • May involveend-users, managers, engineersThese are called stakeholders
Problems of requirements analysis • Stakeholders don’t know what they really want • Stakeholders express requirements in their own terms • Different stakeholders may have conflicting requirements • Organizational and politicalfactors may influence the system requirements • The requirements change during the analysis process. New stakeholders may emerge and the business environment change
requirements analysis Process (activities) • Requirements collection, interact with stakeholders, domain requirements (understanding). • Classification and organization, organize requirement in a structure one (coherent cluster). • Conflict resolution, resolving the conflict. • Prioritization, prioritize requirements. • Requirements checking and documentation, checking for completion, consistency, and in accordance with what stakeholder really wants, then documented for the next phase.
7.2.1 Requirements discovery(Viewpoints, interview , scenario, use case) • The process of gathering information about the proposed and existing systems and eliciting the user and system requirements from this information. • Sources of information include documentation, system stakeholders and the specifications of similar systems.
a. Viewpoint-oriented approach • Stakeholdersrepresent different ways of looking at a problem • Viewpoints are a way of structuring the requirements to represent the perspectives of different stakeholders.. • This multi-perspective analysisis important as there is no single correct way to analyze system requirements.
Example - Banking (auto-teller system )ATM system • The example used here is an auto-teller system which provides some automated banking services • we use a very simplified system which offers some services to customers of the bank who own the system and a narrower range of services to other customers • Services include cash withdrawal, message passing (send a message to request a service), ordering a statement and transferring funds
Auto-tellerviewpoints • Bank customers • Representatives of other banks: allow other ATM to be used • Hardware and software maintenance engineers • Marketing department • Bank managers and staff • Database administrators and security staff • Communications engineers • Personnel department Stakeholder + domain + system can be represented as system viewpoints
Types (Models) of viewpoint • Interactor viewpoints • People or other systems that interact directly with the system. • In an ATM, the customer’sand the account database are interactor VPs. • Indirect viewpoints • Stakeholders who do not use the system themselves but who influence the requirements. • In an ATM, managementand security staff are indirect viewpoints. • Domain viewpoints • Domain characteristics and constraintsthat influence the requirements. • In an ATM, the standards for inter-bank communications.
Viewpoint process model • Viewpoint identification: discover viewpoints which receive system services and identify the services provided to each viewpoint using: • Providers and receivers of system services; • Systems that interact directly with the system being specified; • Regulations and standards; • Engineers who have to develop and maintain the system; • Marketing and other business viewpoints.
Viewpoint process model, cont • Viewpoint structuring, group related viewpoints into a hierarchy. Common services are provided at higher-levels in the hierarchy • Viewpoint documentation, refine the description of the identified viewpoints and services • Viewpoint-system mapping, transform the analysis to an object-oriented design
b. Interviewing • In formal or informal interviewing, the RE teamputs questions to stakeholdersabout the system. • There are two types of interview • Closed interviews where a pre-defined set of questions are answered. • Open interviews where there is no pre-defined agenda and a range of issues are explored with stakeholders.
Interviews in practice • Normally a mix of closed and open-ended interviewing. • Interviews are good for getting an overall understanding of what stakeholders do and how they interact with the system.
Effective interviewers • Interviewers should be open-minded, willing to listen to stakeholders and should not have pre- ideas about the requirements. • They should prompt the interviewee with a question or a proposal and should not simply expect them to respond to a question such as ‘what do you want’.
c. Scenarios • Scenarios are descriptions ofhow a system is used in practice, a real-life examples of how a system can be used. • Scenarios are particularly useful for adding detail to an outline requirements description
Scenario include: • description of the system state at the beginning of the scenario • Normal flow of events in the scenario • What can go wrong and how this is handled • Other concurrent activities • description of the System state on completion of the scenario
Event scenarios • Event scenarios may be used to describe how a system responds to the occurrence of some particular event such as ‘start transaction’
Event scenarios, cont… • The diagrammatic notations used in event scenarios are: • Data provided and deliveredfrom/to a viewpoint is shown in ellipses. • Control information, enter and leave at the top of each box. • Exception processing, shown at the bottom of the box. • Name of the next expected event is shown in a shaded box
Exception description • In the previous example, exceptions are: • Timeout, customer fails to enter a PIN within the allowed time limit • Invalid card, the card is not recognized and is returned • Stolen card, the card has been registered as stolen and is retained by the machine
c. Use cases • Use-cases are a scenario based technique for requirement elicitation in the UML notations that used in object-oriented system model (Unified Modelling Language) which identify the actors in an interaction and which describe the interaction itself • A set of use cases should describe all possible interactions with the system • Sequence diagrams may be used to add detail to use-cases by showing the sequence of event in the system
Use cases, cont.. • The sequence diagram (ch 6) is used to add information to use-case. • The sequence diagram shows the: 1- actors used in the interaction 2- objects that the actors interact with. 3- operation associated with these objects.
Library system , example. • Interaction for downloading and printing article. • Objects used in this interaction are: 1. Article 2. Form 3. workspace 4. printer
7.3 Requirements validation • Concerned with demonstrating that the requirements define the system that the customer really wants • Requirements error costs are high so validation is very important • Fixing a requirements errorafter deliverymay cost up to 100 times the cost of fixing an implementation error • Change requirement error means change system design and implementation
Requirements checking(types of checks should be carried out on requirements) • Validity. Does the system provide the functions which best support the customer’s needs? • Consistency. Are there any requirements conflicts? • Completeness. Are all functions required by the customer included? • Realism. Can the requirements be implemented given available budget and technology • Verifiability. Can the requirements be checked? In order to reduce potential dispute نزاع between customers. Should be write a set of test that can be demonstrate that the delivered system meet each specified requirements.
Requirements validationtechniques • Requirements reviews, systematic manual analysis of the requirements • Prototyping, using an executable model of the system to check requirements. • Test-case generation, developing tests for requirements to check testability of requirement. • Automated consistency analysis , checking the consistency of a structured requirements description, if the requirements are expressed in structured or formal notation, then CASE tool may be used to check the consistency.
6.3.1 Requirementsreviews • Regular reviews should be held while the requirements definition is being formulated • Both client and contractor staff should be involved in reviews • Reviews may be formal (with completed documents) or informal. • Good communications between developers, customers can resolve problems at an early stage
Review checks: • Verifiability. Is the requirement realistically testable? • Comprehensibility. Is the requirement properly understood? • Trace-ability. Is the source of the requirement clearly stated? • Adaptability. Can the requirement be changed without a large impact on other requirements?
7.4 Requirements management • Requirements management is the process of managing changing requirementsduring the requirements engineering process andsystem development • Requirements are inevitably incomplete and inconsistent because: • New requirements emerge during the process because business needs change and a better understanding of the system is developed • Different viewpoints have different requirements and these are often contradictory
Requirements change because of: • Thepriority of requirements from different viewpoints changes during the development process • System customers may specify requirements from a business perspective that conflict with end-user requirements. • (customers-people who pay for the system- and end-user - people who use the system- usually different) • The business and technical environment of the system changes during its development
7.4.1 Enduring and volatile requirements • Enduring requirements.Stable requirements derived from the core activity of the customer organization. E.g. a hospital will always have doctors, nurses, etc. • Volatile requirements. Requirements which changeduring development or when the system is in use. In a hospital, requirements derived from health-care policy
Classification of Volatile requirements • Mutable متقلب requirements, requirements that change due to the changing of system’s environment • Emergent requirements, requirements that emerge as understanding of the system develops during the system development.
Classification of Volatile requirements • Consequential requirements, requirements that result from the introduction of the computersystem that result to new process which may generate new requirements. • Compatibility requirements, requirements that depend on other systems
7.4.2 Requirements management planning • During the requirements engineering process, you have to plan on: • Requirements identification, how requirements are individually identified • A change management process, the process followed when analyzing a requirements change (the impact and cost of change)
Requirements management planning, cont.. • Traceability policies, the amount of information about requirements relationships are recorded and how it should be maintained • CASE toolsupport which required to help manage requirements change, using spreadsheets and databases.
Traceability • Traceability is concerned with the relationships between requirements, their sources andrelationships between requirements and the system design • There are three types of traceability: • Source traceability, links from requirements to stakeholders who proposed these requirements • Requirements traceability, links between dependent requirements • Design traceability, links from the requirements to the design,