+ All Categories
Home > Documents > Requirement Engineering Summary

Requirement Engineering Summary

Date post: 03-Apr-2015
Category:
Upload: bob-chan
View: 124 times
Download: 0 times
Share this document with a friend
17
Requirement engineering Summary by Bob Chan System engineering process System requirements engineering → Architectural design → Requirements partitioning → Software requirements engineering → Sub-system development → System integration → System validation RE process Main process: Elicitation → Analysis and negotiation → Documentation → Validation RE models Coarse-grain activity model Waterfall model (usually for brand-new system) Spiral model (for continuous improvement) Role and stakeholders
Transcript
Page 1: Requirement Engineering Summary

Requirement engineering Summary by Bob Chan

System engineering process

System requirements engineering → Architectural design → Requirements partitioning → Software requirements engineering → Sub-system development → System integration → System validation

RE process

Main process: Elicitation → Analysis and negotiation → Documentation → Validation

RE models

Coarse-grain activity modelWaterfall model (usually for brand-new system)Spiral model (for continuous improvement)

Role and stakeholders

Fig. RAD (Role action development)

Page 2: Requirement Engineering Summary

Influential factors Personality and status Personal goal / agenda Degree of political influence

Requirement problems

Lack of stakeholder involvementCall meeting which the leaders of stakeholders and domain experts should participate. Then

arrange for elicitation, which mainly use interview and scenarios to increase interactions and awareness of stakeholders.

Lack of management supportHire third-party organization/company as the auditor, defining policies and procedures for

requirement management, and monitoring the whole RE process including all actions underneath.

Lack of defined responsibilitiesGroup the develop team together and discuss about the issue of division of labor, and

enforce the outcome afterwards.

Over-long schedules and poor quality requirements documentsSchedule management should be implemented at the starting point; Requirement document

should refer to the standard (IEEE/ANSI 830-1993) if facing difficulties. Also, it should be written in natural language and try to avoid multiple writer, in order to make the document easy to read for everyone.

RE process maturity levels

Initial levelNo defined RE process. Suffer from requirements problems such as requirements volatility,

unsatisfied stakeholders and high rework costs. Dependent on individual skills and experience.

Repeatable levelDefined standards for requirements documents and policies and procedures for requirements

management.

Defined levelDefined RE process based on good practices and techniques. Active process improvement

process in place.

Elicitation, analysis and negotiation

Activities: Application domain understanding Problem understanding Business understanding Stakeholders needs and constraints understanding

Looping steps: Elicitation → Draft statement of requirements → Analysis → Problems → Negotiation → Document → Elicitation

Page 3: Requirement Engineering Summary

Elicitation process (ideal form)

Problems: Not enough time for elicitation Inadequate preparation by engineers Stakeholders are unconvinced of the need for a new system

Techniques Interviews

Open-minded Starting-point Political awareness

Scenarios (use-case) Explain how system might be used Example of interaction session

Soft systems methods Problem situation assessment Problem situation description Abstract system definition from selected viewpoints Conceptual system modeling Model/real-world comparison Change identification Recommendations for action

Observations and social analysis (Ethnography) Know people and establish relationship Analyze work practice notes Combine observation with open ended interviewing De-briefing

Requirements reuse Application domain Style Company policies Save time, effort and cost

Page 4: Requirement Engineering Summary

Analysis and negotiation process

Goal Discover problems, incompleteness and inconsistencies Discover interactions, conflicts and overlaps between requirements

* Analysis is interleaved with elicitation as problems are discovered when the requirements are elicited.

Checklist Premature design Combined requirements Unnecessary requirements Use of non-standard hardware Conformance with business goals Requirements ambiguity Requirements realism Requirements testability

Negotiation Discussing requirements conflicts and reaching a compromise that all stakeholders can agree

to. Leave enough time for negotiation. Meetings (Information stage → Discussion stage → Resolution stage)

Page 5: Requirement Engineering Summary

Prototyping

Initial version of a system which may be used for experimentation.Experiment with the system and point out its strengths and weaknesses.

Benefits The prototype allows users to experiment and discover what they really need to support their

work Establishes feasibility and usefulness before high development costs are incurred Essential for developing the ‘look and feel’ of a user interface Can be used for system testing and the development of documentation Forces a detailed study of the requirements which reveals inconsistencies and omissions

Types Throw-away prototyping

Help elicit and develop the system requirements. The requirements which should be prototyped are those which cause most difficulties to

customers and which are the hardest to understand. Evolutionary prototyping

Deliver a workable system quickly to the customer. Therefore, the requirements which should be supported by the initial versions of this

prototype are those which are well-understood and which can deliver useful end-user functionality.

Problems and costs Training cost

Time/money to acquire skill for special tools Development cost Extended development schedules

Extra time spent Incompleteness

Impossible to critical requirements

Approaches Paper prototyping

Story board Wizard of Oz prototyping

Human response instead of system Executable prototyping

4th generation language

NFR and FR

Non-functional requirements define the overall qualities or attributes of the resulting system.

Non-functional requirements place restrictions on the product being developed, the development process, and specify external constraints that the product must meet.

There is no a clear distinction between functional and non-functional requirements, but depends on the level of details and degree of trust.

Page 6: Requirement Engineering Summary

Types: Performance requirements Interface requirements Operational requirements Resource requirements Verification requirements Acceptance requirements Documentation requirements Security requirements Portability requirements Quality requirements Reliability requirements Maintainability requirements Safety requirements

Classification

Product requirements - Specify the desired characteristics that a systemor subsystem must possess.

Process requirements - Constraints placed upon the development process of the system.

External requirements - Derived from the environment in which thesystem is developed.

Page 7: Requirement Engineering Summary

Expression problem Certain constraints are related to the design solution that is unknown at the requirements

stage Certain constraints, are highly subjective and can only be determined through complex

empirical evaluations Non-functional requirements tend to be related to one or more functional requirements Non-functional requirements tend to conflict and contradict There are no ‘universal’ rules and guidelines for determining when non-functional

requirements are optimally met.

Stakeholders concerns

Concern decomposition

Page 8: Requirement Engineering Summary

Goal-based derivation Identify the enterprise goal Decompose of the goal into sub-goals Identify non-functional requirements.

NFRs for critical systems

System types: Business critical systems Mission critical systems Safety critical systems

Relevant constraints Reliability

Run-time behavior (Availability, Failure rate) Performance

Speed of operation (Response, Throughput, Timing) Security

Unauthorized access, integrity Usability

UI and interaction (well structured user manuals, informative error messages) Safety

Validation

Analysis works with raw requirements as elicited from the system stakeholders.“Have we got the right requirements” is the key question to be answered at this stage.

Validation works with a final draft of the requirements document i.e. with negotiated and agreed requirements.“Have we got the requirements right” is the key question to be answered at this stage.

Page 9: Requirement Engineering Summary

Input and output

Review

A group of people read and analyze the requirements, look for problems, meet and discuss the problems and agree on actions to address these problems.

Problem actions: Requirements clarification

The requirement may be badly expressed or may have accidentally omitted information which has been collected during requirements elicitation.

Missing information Some information is missing from the requirements document. It is the responsibility of

the requirements engineers who are revising the document to discover this information from system stakeholders.

Requirements conflict There is a significant conflict between requirements. The stakeholders involved must

negotiate to resolve the conflict. Unrealistic requirement

The requirement does not appear to be implementable with the technology available or given other constraints on the system. Stakeholders must be consulted to decide how to make the requirement more realistic.

Page 10: Requirement Engineering Summary

Checklist: Understandability (readers understand?) Redundancy (repeated requirements?) Completeness (missing requirements?) Ambiguity (terms clearly defined?) Consistency (contradictions?) Organization (structured in sensible way?) Conformance to standard Traceability

Pre-review

Reviews are expensive because they involve a number of people spending time reading and checking the requirements documentThis expense can be reduced by using pre-review checking where one person checks the document and looks for straightforward problems such as missing requirements, lack of conformance to standards, typographical errors, etc.

Prototype for validation

System model validation To demonstrate that each model is self-consistent If there are several models of the system, to demonstrate that these are internally and

externally consistent To demonstrate that the models accurately reflect the real requirements of system

stakeholders Paraphrasing the model is an effective checking technique

Requirement testingInventing requirements tests is an effective validation technique as missing or ambiguous

Page 11: Requirement Engineering Summary

information in the requirements description may make it difficult to formulate tests.Management

The process of managing change to the requirements for a system The principal concerns of requirements management are:

Managing changes to agreed requirements Managing the relationships between requirements Managing the dependencies between the requirements document and other documents

produced in the systems engineering process Requirements cannot be managed effectively without requirements traceability.

Stable and volatile requirements

Stable requirements are concerned with the essence of a system and itsapplication domain. They change more slowly than volatilerequirements.

Volatile requirements are specific to the instantiation of the system in aparticular environment and for a particular customer. (Mutable, Emergent, Consequential, Computability)

Change factors Requirement errors, conflicts and inconsistencies Evolving customer/end-user knowledge of the system Technical, schedule or cost problems Changing customer priorities Environmental changes Organizational changes

Requirements identification

It is essential for requirements management that every requirement should have a unique identification.

Page 12: Requirement Engineering Summary

Techniques: Dynamic numbering Database record identification Symbolic identification

Requirements storage

Word processor

Advantages Requirements are all stored in the same place Requirements may be accessed by anyone with the right word processor It is easy to produce the final requirements document

Disadvantages Requirements dependencies must be externally maintained Search facilities are limited Not possible to link requirements with proposed requirements changes Not possible to have version control on individual requirements No automated navigation from one requirement to another

Database

Advantages Good query and navigation facilities Support for change and version management

Disadvantages Readers may not have the software/skills to access the requirements database The link between the database and the requirements document must be maintained

Change management

Page 13: Requirement Engineering Summary

Traceability

Traceability information is information which helps you assess the impact of requirements change. It links related requirements and the requirements and other system representations.

Types Requirements-sources traceability

Links the requirement and the people or documents which specified the requirement Requirements-rationale traceability

Links the requirement with a description of why that requirement has been specified. Requirements-requirements traceability

Links requirements with other requirements which are, in some way, dependent on them. This should be a two-way link (dependents and independent on).

Requirements-architecture traceability Links requirements with the sub-systems where these requirements are implemented.

This is particularly important where sub-systems are being developed by different sub-contractors

Requirements-design traceability Links requirements with specific hardware or software components in the system which

are used to implement the requirement Requirements-interface traceability

Links requirements with the interfaces of external systems which are used in the provision of the requirements

Traceability policies

Traceability policies define what and how traceability information should be maintained, including

Page 14: Requirement Engineering Summary

information, techniques, timing, roles, and process.

Influencing factors Number of requirements Estimated system lifetime Level of organizational maturity Project team size and composition Type of system Specific customer requirements


Recommended