Requirements engineering

Short description: Defining and maintaining requirements in systems engineering

This article or section contains close paraphrasing of one or more non-free copyrighted sources. Ideas in this article should be expressed in an original manner. (September 2020) (Learn how and when to remove this template message)

|

Requirements engineering (RE)[1] is the process of defining, documenting, and maintaining requirements[2] in the engineering design process. It is a common role in systems engineering and software engineering.

The first use of the term requirements engineering was probably in 1964 in the conference paper "Maintenance, Maintainability, and System Requirements Engineering",[3] but it did not come into general use until the late 1990s with the publication of an IEEE Computer Society tutorial[4] in March 1997 and the establishment of a conference series on requirements engineering that has evolved into the International Requirements Engineering Conference.

In the waterfall model,[5] requirements engineering is presented as the first phase of the development process. Later development methods, including the Rational Unified Process (RUP) for software, assume that requirements engineering continues through a system's lifetime.

Requirements management, which is a sub-function of Systems Engineering practices, is also indexed in the International Council on Systems Engineering (INCOSE) manuals.

## Contents

* 1 Activities
* 2 Problems
* 3 Criticism
* 4 See also
* 5 References
* 6 External links

## Activities

The activities involved in requirements engineering vary widely, depending on the type of system being developed and the organization's specific practice(s) involved.[6] These may include:

1. Requirements inception or requirements elicitation – Developers and stakeholders meet; the latter are inquired concerning their needs and wants regarding the software product.
2. Requirements analysis and negotiation – Requirements are identified (including new ones if the development is iterative), and conflicts with stakeholders are solved. Both written and graphical tools (the latter commonly used in the design phase, but some find them helpful at this stage, too) are successfully used as aids. Examples of written analysis tools: use cases and user stories. Examples of graphical tools: UML[7] and LML.
3. System modeling – Some engineering fields (or specific situations) require the product to be completely designed and modeled before its construction or fabrication starts. Therefore, the design phase must be performed in advance. For instance, blueprints for a building must be elaborated before any contract can be approved and signed. Many fields might derive models of the system with the Lifecycle Modeling Language, whereas others, might use UML. Note: In many fields, such as software engineering, most modeling activities are classified as design activities and not as requirement engineering activities.
4. Requirements specification – Requirements are documented in a formal artifact called a Requirements Specification (RS), which will become official only after validation. A RS can contain both written and graphical (models) information if necessary. Example: Software requirements specification (SRS).
5. Requirements validation – Checking that the documented requirements and models are consistent and meet the stakeholder's needs. Only if the final draft passes the validation process, the RS becomes official.
6. Requirements management – Managing all the activities related to the requirements since inception, supervising as the system is developed, and even until after it is put into use (e. g., changes, extensions, etc.)

These are sometimes presented as chronological stages although, in practice, there is considerable interleaving of these activities.

Requirements engineering has been shown to clearly contribute to software project successes.[8]

## Problems

One limited study in Germany presented possible problems in implementing requirements engineering and asked respondents whether they agreed that they were actual problems. The results were not presented as being generalizable but suggested that the principal perceived problems were incomplete requirements, moving targets, and time boxing, with lesser problems being communications flaws, lack of traceability, terminological problems, and unclear responsibilities.[9]

## Criticism

Problem structuring, a key aspect of requirements engineering, has been speculated to reduce design performance.[10] Some research suggests that it is possible if there are deficiencies in the requirements engineering process resulting in a situation where requirements do not exist, software requirements may be created regardless as an illusion misrepresenting design decisions as requirements [11]

## See also

* List of requirements engineering tools
* Requirements analysis, requirements engineering focused in software engineering.
* Requirements Engineering Specialist Group (RESG)
* International Requirements Engineering Board (IREB)
* International Council on Systems Engineering (INCOSE)
* IEEE 12207 "Systems and software engineering – Software life cycle processes"
* TOGAF (Chapter 17)
* Concept of operations (ConOps)
* Operations management
* Software requirements
* Software requirements specification
* Software Engineering Body of Knowledge (SWEBOK)
* Design specification
* Specification (technical standard)
* Formal specification
* Software Quality
* Quality Management
* Scope Management

## References

1. ↑ Nuseibeh, B.; Easterbrook, S. (2000). "Requirements engineering: a roadmap". ICSE'00. pp. 35–46. doi:10.1145/336512.336523. ISBN 1-58113-253-0. http://mcs.open.ac.uk/ban25/papers/sotar.re.pdf.
2. ↑
* Kotonya, Gerald; Sommerville, Ian (September 1998). Requirements Engineering: Processes and Techniques. John Wiley & Sons. ISBN 978-0-471-97208-2. https://archive.org/details/requirementsengi1998koto.
* Chemuturi, M. (2013). Requirements Engineering and Management for Software Development Projects. doi:10.1007/978-1-4614-5377-2. ISBN 978-1-4614-5376-5.
3. ↑ Dresner, K. H. Borchers (1964). "Maintenance, maintainability, and system requirements engineering". SAE World Congress & Exhibition 1964. doi:10.4271/640591.
4. ↑ Software Requirements Engineering (2nd ed.). IEEE Computer Society Press. March 1997. ISBN 978-0-8186-7738-0. https://archive.org/details/softwarerequirem2000unse.
5. ↑ Royce, W. W. (1970). "Managing the Development of Large Software Systems: Concepts and Techniques". ICSE'87. pp. 1–9. http://www.serena.com/docs/agile/papers/Managing-The-Development-of-Large-Software-Systems.pdf.
6. ↑ Sommerville, Ian (2009). Software Engineering (9th ed.). Addison-Wesley. ISBN 978-0-13-703515-1.
7. ↑ "Uncovering Requirements With UML Class Diagrams Part 1". 7 March 2008. http://tynerblain.com/blog/2008/03/06/requirements-class-diagrams-1/.
8. ↑ Hofmann, H.F.; Lehner, F. (2001). "Requirements engineering as a success factor in software projects". IEEE Software 18 (4): 58–66. doi:10.1109/MS.2001.936219. ISSN 0740-7459.
9. ↑ Méndez Fernández, Daniel; Wagner, Stefan (2015). "Naming the pain in requirements engineering: A design for a global family of surveys and first results from Germany". Information and Software Technology 57: 616–643. doi:10.1016/j.infsof.2014.05.008.
10. ↑ Ralph, Paul; Mohanani, Rahul (May 2015). Is Requirements Engineering Inherently Counterproductive?. IEEE. doi:10.13140/2.1.3831.6321. https://www.researchgate.net/publication/272793687.
11. ↑ Ralph, P. (September 2013). "The illusion of requirements in software development". Requirements Engineering 18 (3): 293–296. doi:10.1007/s00766-012-0161-4. Bibcode: 2013AIPC.1516..293R.

## External links

* Systems and software engineering -- Life cycle processes --Requirements engineering. 2011. 1–94. doi:10.1109/IEEESTD.2011.6146379. ISBN 978-0-7381-6591-2. http://ieeexplore.ieee.org/servlet/opac?punumber=6146377. ("This standard replaces IEEE 830–1998, IEEE 1233–1998, IEEE 1362-1998 - http://standards.ieee.org/findstds/standard/29148-2011.html")
* Systems Engineering Body of Knowledge
* Requirements Engineering Management Handbook by FAA
* International Requirements Engineering Board (IREB)
* IBM Rational Resource Library by IEEE Spectrum

* v
* t
* e

Software engineering

Fields|

* Computer programming
* Requirements engineering
* Software deployment
* Software design
* Software maintenance
* Software testing
* Systems analysis
* Formal methods

Concepts|

* Data modeling
* Enterprise architecture
* Functional specification
* Modeling language
* Orthogonality
* Programming paradigm
* Software
* Software archaeology
* Software architecture
* Software configuration management
* Software development methodology
* Software development process
* Software quality
* Software quality assurance
* Software verification and validation
* Structured analysis

Orientations|

* Agile
* Aspect-oriented
* Object orientation
* Ontology
* Service orientation
* SDLC

Models|

| Developmental|

* Agile
* EUP
* Executable UML
* Incremental model
* Iterative model
* Prototype model
* RAD
* UP
* Scrum
* Spiral model
* V-Model
* Waterfall model
* XP

|

Other|

* SPICE
* CMMI
* Data model
* ER model
* Function model
* Information model
* Metamodeling
* Object model
* Systems model
* View model

Languages|

* IDEF
* UML
* USL
* SysML

Software
engineers

* Victor Basili
* Kent Beck
* Grady Booch
* Fred Brooks
* Barry Boehm
* Peter Chen
* Danese Cooper
* Ward Cunningham
* Tom DeMarco
* Edsger W. Dijkstra
* Delores M. Etter
* Martin Fowler
* Adele Goldstine
* Margaret Hamilton
* C. A. R. Hoare
* Lois Haibt
* Mary Jean Harrold
* Grace Hopper
* Watts Humphrey
* Michael A. Jackson
* Ivar Jacobson
* Alan Kay
* Nancy Leveson
* Stephen J. Mellor
* Bertrand Meyer
* David Parnas
* Trygve Reenskaug
* Winston W. Royce
* James Rumbaugh
* Mary Shaw
* Peri Tarr
* Elaine Weyuker
* Niklaus Wirth
* Edward Yourdon

Related fields|

* Computer science
* Computer engineering
* Project management
* Risk management
* Systems engineering

* Category
* Commons

* v
* t
* e

IEEE standards

Current|

* 488
* 730
* 754
* Revision
* 854
* 828
* 829
* 896
* 1003
* 1014
* 1016
* 1076
* 1149.1
* 1154
* 1164
* 1275
* 1278
* 1284
* 1355
* 1394
* 1451
* 1497
* 1516
* 1541
* 1547
* 1584
* 1588
* 1596
* 1603
* 1613
* 1666
* 1667
* 1675
* 1685
* 1722
* 1733
* 1800
* 1801
* 1815
* 1850
* 1900
* 1901
* 1902
* 1904
* 1905
* 2030
* 2050
* 11073
* 12207
* 14764
* 16085
* 16326
* 29148
* 42010

802 series|

| 802.1|

* D
* p
* Q
* Qat
* Qay
* w
* X
* ab
* ad
* AE
* ag
* ah
* ak
* aq
* AS
* ax
* az
* BA

|

802.3|

* -1983
* a
* b
* d
* e
* i
* j
* u
* x
* y
* z
* ab
* ac
* ad
* ae
* af
* ah
* ak
* an
* aq
* at
* av
* az
* ba
* bt
* by

802.11|

* legacy mode
* a
* b
* c
* d
* e
* f
* g
* h
* i
* j
* k
* n
* p
* r
* s
* u
* v
* w
* y
* ac
* ad
* af
* ah
* ai
* ax
* ay

* .2
* .4
* .5
* .6
* .7
* .8
* .9
* .10
* .12
* .14
* .15
* .1
* .4
* .4a
* .6
* .16
* Original · d · e
* .17
* .18
* .20
* .21
* .22

Proposed|

* P1363
* P1619
* P1699
* P1823
* P1906.1

Superseded|

* 754-1985
* 830
* 1219
* 1233
* 1362
* 1364
* 1471

See also
IEEE Standards Association
Category:IEEE standards

* v
* t
* e

ISO standards by standard number

List of ISO standards / ISO romanizations / IEC standards

1–9999|

* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 9
* 16
* 17
* 31
* -0
* -1
* -2
* -3
* -4
* -5
* -6
* -7
* -8
* -9
* -10
* -11
* -12
* -13
* 128
* 216
* 217
* 226
* 228
* 233
* 259
* 269
* 302
* 306
* 361
* 428
* 500
* 518
* 519
* 639
* -1
* -2
* -3
* -5
* -6
* 646
* 657
* 668
* 690
* 704
* 732
* 764
* 838
* 843
* 860
* 898
* 965
* 999
* 1000
* 1004
* 1007
* 1073-1
* 1155
* 1413
* 1538
* 1629
* 1745
* 1989
* 2014
* 2015
* 2022
* 2033
* 2047
* 2108
* 2145
* 2146
* 2240
* 2281
* 2533
* 2709
* 2711
* 2720
* 2788
* 2848
* 2852
* 3029
* 3103
* 3166
* -1
* -2
* -3
* 3297
* 3307
* 3601
* 3602
* 3864
* 3901
* 3950
* 3977
* 4031
* 4157
* 4165
* 4217
* 4909
* 5218
* 5426
* 5427
* 5428
* 5725
* 5775
* 5776
* 5800
* 5807
* 5964
* 6166
* 6344
* 6346
* 6385
* 6425
* 6429
* 6438
* 6523
* 6709
* 6943
* 7001
* 7002
* 7010
* 7027
* 7064
* 7098
* 7185
* 7200
* 7498
* -1
* 7637
* 7736
* 7810
* 7811
* 7812
* 7813
* 7816
* 7942
* 8000
* 8093
* 8178
* 8217
* 8373
* 8501-1
* 8571
* 8583
* 8601
* 8613
* 8632
* 8651
* 8652
* 8691
* 8805/8806
* 8807
* 8820-5
* 8859
* -1
* -2
* -3
* -4
* -5
* -6
* -7
* -8
* -8-I
* -9
* -10
* -11
* -12
* -13
* -14
* -15
* -16
* 8879
* 9000/9001
* 9036
* 9075
* 9126
* 9141
* 9227
* 9241
* 9293
* 9314
* 9362
* 9407
* 9506
* 9529
* 9564
* 9592/9593
* 9594
* 9660
* 9797-1
* 9897
* 9899
* 9945
* 9984
* 9985
* 9995

10000–19999|

* 10005
* 10006
* 10007
* 10116
* 10118-3
* 10160
* 10161
* 10165
* 10179
* 10206
* 10218
* 10303
* -11
* -21
* -22
* -28
* -238
* 10383
* 10487
* 10585
* 10589
* 10646
* 10664
* 10746
* 10861
* 10957
* 10962
* 10967
* 11073
* 11170
* 11179
* 11404
* 11544
* 11783
* 11784
* 11785
* 11801
* 11898
* 11940 (-2)
* 11941
* 11941 (TR)
* 11992
* 12006
* 12182
* 12207
* 12234-2
* 13211
* -1
* -2
* 13216
* 13250
* 13399
* 13406-2
* 13450
* 13485
* 13490
* 13567
* 13568
* 13584
* 13616
* 14000
* 14031
* 14224
* 14289
* 14396
* 14443
* 14496
* -2
* -3
* -6
* -10
* -11
* -12
* -14
* -17
* -20
* 14644
* 14649
* 14651
* 14698
* 14750
* 14764
* 14882
* 14971
* 15022
* 15189
* 15288
* 15291
* 15292
* 15398
* 15408
* 15444
* -3
* 15445
* 15438
* 15504
* 15511
* 15686
* 15693
* 15706
* -2
* 15707
* 15897
* 15919
* 15924
* 15926
* 15926 WIP
* 15930
* 16023
* 16262
* 16355-1
* 16612-2
* 16750
* 16949 (TS)
* 17024
* 17025
* 17100
* 17203
* 17369
* 17442
* 17799
* 18000
* 18004
* 18014
* 18245
* 18629
* 18916
* 19005
* 19011
* 19092 (-1
* -2)
* 19114
* 19115
* 19125
* 19136
* 19407
* 19439
* 19500
* 19501
* 19502
* 19503
* 19505
* 19506
* 19507
* 19508
* 19509
* 19510
* 19600
* 19752
* 19757
* 19770
* 19775-1
* 19794-5
* 19831

20000+|

* 20000
* 20022
* 20121
* 20400
* 21000
* 21047
* 21500
* 21827:2002
* 22000
* 23270
* 23271
* 23360
* 24517
* 24613
* 24617
* 24707
* 25178
* 25964
* 26000
* 26262
* 26300
* 26324
* 27000 series
* 27000
* 27001
* 27002
* 27006
* 27729
* 28000
* 29110
* 29148
* 29199-2
* 29500
* 30170
* 31000
* 32000
* 37001
* 38500
* 40500
* 42010
* 45001
* 50001
* 55000
* 80000
* -1
* -2
* -3

* Category

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Requirements engineering. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Requirements_engineering&oldid=235506"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template