词条 | Software requirements |
释义 |
The activities related to working with software requirements can broadly be broken down into elicitation, analysis, specification, and management.[2] Elicitation{{main|Requirements elicitation}}Elicitation is the gathering and discovery of requirements from stakeholders and other sources. A variety of techniques can be used such as joint application design (JAD) sessions, interviews, document analysis, focus groups, etc. Elicitation is the first step of requirements development. Analysis{{main|Requirements analysis}}Analysis is the logical breakdown that proceeds from elicitation. Analysis involves reaching a richer and more precise understanding of each requirement and representing sets of requirements in multiple, complementary ways. Specification{{main|Software requirements specification}}Specification involves representing and storing the collected requirements knowledge in a persistent and well-organized fashion that facilitates effective communication and change management. Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification. ValidationValidation involves techniques to confirm that the correct set of requirements has been specified to build a solution that satisfies the project's business objectives. Management{{main|Requirements management}}Requirements change during projects and there are often many of them. Management of this change becomes paramount to ensuring that the correct software is built for the stakeholders. Tool support for Requirements EngineeringTools for Requirements Elicitation, Analysis and, ValidationTaking into account that these activities may involve some artifacts such as observation reports (user observation), questionnaires (interviews, surveys and polls), use cases, user stories; activities such as requirement workshops (charrettes), brainstorming, mind mapping, role-playing; and even, prototyping[3]; software products providing some or all of these capabilities can be used to help achieve these tasks. There is at least one author who advocates, explicitly, for mind mapping tools such as FreeMind; and, alternatively, for the use of specification by example tools such as Concordion.[4] Additionally, the ideas and statements resulting from these activities may be gathered and organized with wikis and other collaboration tools such as [https://trello.com Trello]. The features actually implemented and standards compliance vary from product to product. Example of free tool: Use Case Maker Examples of paid tools: IdeaShare, Justinmind, [https://www.onedesk.com/product-management-software/ OneDesk Product Management], [https://www.osseno.de/en/requirements-management-tool/ ReqSuite]; and, IRise. Tools for Requirements SpecificationA Software Requirement Specification document (SRS) might be created using a software tool as general as a word processor or an electronic spreadsheet; but, there are several specialized tools to carry out this activity. Some of these tools can import, edit, export and publish SRS documents. They may or not help the user to follow standards such as IEEE 2918-2011 to compose the requirements according to some structure. Likewise, the tool may or not use some standard to import or export requirements (such as ReqIF); or, not allow these exchanges at all. Examples of free tools: Eclipse RMF and ProR; FormalMind [https://reqif.academy/software/reqif-studio/ ReqIF Studio], PolarSys [https://www.polarsys.org/projects/polarsys.reqcycle ReqCycle] (donated by AGeSys[5]), [https://www.reqview.com ReqView] (free version); and, rmToo Example of paid tool: [https://www.reqview.com ReqView] Tools for Requirements Document VerificationTools of this kind verify if there are any errors in a requirements document according to some expected structure or standard. Example of free tool: [https://reqif.academy/software/consequent/ Consequent], [https://reqchecker.eu/ Reqchecker] Tools for Requirements ComparisonTools of this kind compare two requirement sets according to some expected document structure and standard. Example of paid tool: [https://reqif.academy/software/binom/ Binom] Tools for Requirements Merge and UpdateTools of this kind allow the merging and update of requirement documents. Example of paid tool: [https://reqif.academy/software/axiom/ Axiom] Tools for Requirements TraceabilityTools of this kind allow to trace requirements to other artifacts such as models and source code (forward traceability) or, to previous ones such as business rules and constraints (backwards traceability). Examples of free tools: PolarSys [https://www.polarsys.org/projects/polarsys.reqcycle ReqCycle], Reqchecker (works directly on MS Word), OpenETCS tool (it can link ProR or ReqCycle requirements with SysML models by means of its built-in traceability plug-in[6], [https://www.reqview.com ReqView] (free vervion), JavaRequirementsTracer; and, Traceclipse. A very promising free tool that would allow traceability among all artifacts along the whole software development cycle, but still under development, is Eclipse [https://projects.eclipse.org/projects/modeling.capra Capra]. Besides, there is another Eclipse-based project, also in incubation state, that aims to provide end-to-end traceability for Systems Engineering projects; it is called [https://eclipse.org/osee/ OSEE][7]. Example of free library: TraceLab is an open-source project that provides a library of reusable trace algorithms and utilities, a benchmarked repository of trace-related datasets, tasks, metrics, and experimental results, a plug-and-play environment for conducting trace-related experiments, and predefined experimental templates representing common types of empirical traceability experiments. Examples of paid tools: Reqtify, [https://www.mbtech-group.com/eu-en/electronics_solutions/tools_equipment/provetechr2a_traceability_management/traceability_management.html PROVEtech:R2A], [https://www.reqview.com ReqView], [https://www.itemis.com/en/yakindu/traceability/ YAKINDU Traceability]; and, agosense.symphony (via a plug-in called agosense.traceability). Tools for Model-Based Software or Systems Requirement EngineeringModel-based systems engineering (MBSE) is the formalised application of modelling to support system requirements, design, analysis, measurement,[8] verification and validation activities beginning in the conceptual design phase and continuing throughout development and later lifecycle phases. It is also possible to take a model-based approach for some stages of the requirements engineering and, a more traditional one, for others. All kinds of combinations might be possible. Examples of free tools: OPCAT, [https://se.cs.toronto.edu/trac/ome/ OpenOME] and RE-Tools Example of paid tool: [https://www.threesl.com/ 3SL Cradle] The level of formality and complexity depends on the underlying methodology involved (for instance, i* is much more formal than SysML and, even more formal than UML) Tools for general Requirements EngineeringTools in this category may provide some mix of the capabilities mentioned previously and others such as requirement configuration management and collaboration. The features actually implemented and standards compliance vary from product to product. Examples of free tools: Open Source Requirements Management Tool and its successor [https://sourceforge.net/projects/nimble/ aNimble Platform] (not compatible); Requirement Heap, [https://sourceforge.net/projects/rth/ RTH - Requirements and Testing Hub], rth-turbo and SLAM Software Lifecycle Artefact Manager Examples of paid tools: [https://www.threesl.com/ 3SL Cradle], BluePrint (its community edition in the form of an Eclipse plug-in is not maintained any longer[9]), [https://www.microfocus.com/products/requirements-management/caliber/ MicroFocus Caliber], CASE Spec, IBM Rational DOORS, IBM Rational RequisitePro (end-of-life status)[10][11], GatherSpace, LDRA tool suite (with even more functionality with its TBvision plug-in), Modern Requirements Suite, QFDcapture, ReQtest, ReqMan, RequirementONE; and, Visure Requirements Issue trackers implementing the Volere Requirements template have been used successfully in distributed environments.[12] There are even more capable or general tools that support other stages and activities. They are classified as ALM tools. See also
References1. ^{{cite journal|last=IEEE Computer Society|title=IEEE Standard Glossary of Software Engineering Terminology|journal=IEEE Standard|year=1990|url=http://standards.ieee.org/findstds/standard/610.12-1990.html}} 2. ^{{cite web|title=Guide to the Software Engineering Body of Knowledge|url=http://www.computer.org/portal/web/swebok/html/contents|publisher=IEEE Computer Society|accessdate=11 January 2013}} 3. ^https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-requirements/ 4. ^{{cite web|title=Requirements Engineering for Software and Systems|last1=Laplante|first1=Phillip A.|year=2009|publisher=CRC Press|accessdate=February 4, 2013}} 5. ^https://eclipse.org/proposals/polarsys.reqcycle/ 6. ^https://github.com/openETCS/toolchain/wiki/User-Documentation) 7. ^https://www.eclipse.org/forums/index.php/t/181296/ 8. ^{{cite journal|last1=Monperrus|first1=M.|last2=Baudry|first2=B.|last3=Champeau|first3=J.|last4=Hoeltzener|first4=B.|last5=Jézéquel|first5=J. M.|title=Automated measurement of models of requirements|journal=Software Quality Journal|volume=21|issue=1|year=2011|pages=3–22|url=https://hal.archives-ouvertes.fr/hal-00646876/document|doi=10.1007/s11219-011-9163-6}} 9. ^https://marketplace.eclipse.org/content/solution-blueprint-community-edition 10. ^http://www-01.ibm.com/support/docview.wss?uid=swg3c035052a38122i57 11. ^https://www-01.ibm.com/software/support/lifecycleapp/PLCSearch.wss?q=Rational+RequisitePro&ibm-search=Search 12. ^{{cite web |url=http://hydramiddleware.eu/hydra_papers/Managing_the_Iterative_Requirements_Process_in_a_Multi-National_Project.pdf|title=Managing the Iterative Requirements Process in a Multi-National Project using an Issue Tracker|last1=Prause|first1=Christian|year=2008|publisher=IEEE Computer Society|accessdate=February 5, 2013|display-authors=etal}} Further reading
External links
1 : Software requirements |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。