fbpx
Wikipedia

Requirements engineering

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.

Activities edit

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 edit

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 edit

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 edit

References edit

  1. ^ Nuseibeh, B.; Easterbrook, S. (2000). Requirements engineering: a roadmap (PDF). ICSE'00. Proceedings of the conference on the future of Software engineering. pp. 35–46. CiteSeerX 10.1.1.131.3116. doi:10.1145/336512.336523. ISBN 1-58113-253-0.
  2. ^
  3. ^ Dresner, K. H. Borchers (1964). Maintenance, maintainability, and system requirements engineering. SAE World Congress & Exhibition 1964. SAE Technical Paper 640591. doi:10.4271/640591.
  4. ^ Thayer, Richard H.; Dorfman, Merlin, eds. (March 1997). Software Requirements Engineering (2nd ed.). IEEE Computer Society Press. ISBN 978-0-8186-7738-0.
  5. ^ Royce, W. W. (1970). Managing the Development of Large Software Systems: Concepts and Techniques (PDF). ICSE'87. Proceedings of the 9th international conference on Software Engineering. pp. 1–9.
  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". tynerblain.com. March 7, 2008. Retrieved March 14, 2018.
  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. arXiv:1611.04976. doi:10.1016/j.infsof.2014.05.008. S2CID 1924926.
  10. ^ Ralph, Paul; Mohanani, Rahul (May 2015). "Is Requirements Engineering Inherently Counterproductive?". IEEE. doi:10.13140/2.1.3831.6321. {{cite journal}}: Cite journal requires |journal= (help)
  11. ^ Ralph, P. (September 2013). "The illusion of requirements in software development". Requirements Engineering. 18 (3): 293–296. arXiv:1304.0116. Bibcode:2013AIPC.1516..293R. doi:10.1007/s00766-012-0161-4. S2CID 11499083.

External links edit

requirements, engineering, this, article, contains, close, paraphrasing, free, copyrighted, sources, relevant, discussion, found, talk, page, please, help, rewriting, with, your, words, september, 2020, learn, when, remove, this, template, message, process, de. This article contains close paraphrasing of non free copyrighted sources Relevant discussion may be found on the talk page Please help rewriting it with your own words 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 linksActivities editThe 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 Requirements inception or requirements elicitation Developers and stakeholders meet the latter are inquired concerning their needs and wants regarding the software product 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 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 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 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 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 editOne 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 editProblem 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 editList 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 ManagementReferences edit Nuseibeh B Easterbrook S 2000 Requirements engineering a roadmap PDF ICSE 00 Proceedings of the conference on the future of Software engineering pp 35 46 CiteSeerX 10 1 1 131 3116 doi 10 1145 336512 336523 ISBN 1 58113 253 0 Kotonya Gerald Sommerville Ian September 1998 Requirements Engineering Processes and Techniques John Wiley amp Sons ISBN 978 0 471 97208 2 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 S2CID 19818654 Dresner K H Borchers 1964 Maintenance maintainability and system requirements engineering SAE World Congress amp Exhibition 1964 SAE Technical Paper 640591 doi 10 4271 640591 Thayer Richard H Dorfman Merlin eds March 1997 Software Requirements Engineering 2nd ed IEEE Computer Society Press ISBN 978 0 8186 7738 0 Royce W W 1970 Managing the Development of Large Software Systems Concepts and Techniques PDF ICSE 87 Proceedings of the 9th international conference on Software Engineering pp 1 9 Sommerville Ian 2009 Software Engineering 9th ed Addison Wesley ISBN 978 0 13 703515 1 Uncovering Requirements With UML Class Diagrams Part 1 tynerblain com March 7 2008 Retrieved March 14 2018 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 Mendez Fernandez 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 arXiv 1611 04976 doi 10 1016 j infsof 2014 05 008 S2CID 1924926 Ralph Paul Mohanani Rahul May 2015 Is Requirements Engineering Inherently Counterproductive IEEE doi 10 13140 2 1 3831 6321 a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Ralph P September 2013 The illusion of requirements in software development Requirements Engineering 18 3 293 296 arXiv 1304 0116 Bibcode 2013AIPC 1516 293R doi 10 1007 s00766 012 0161 4 S2CID 11499083 External links editSystems and software engineering Life cycle processes Requirements engineering 2011 pp 1 94 doi 10 1109 IEEESTD 2011 6146379 ISBN 978 0 7381 6591 2 a href Template Cite book html title Template Cite book cite book a journal ignored help 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 Retrieved from https en wikipedia org w index php title Requirements engineering amp oldid 1167033529, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.