Software documentation: Difference between revisions

Content deleted Content added
m Expanded on the user story section of the requirements docs. This is related to the agile development methodology, which is a newer way of developing software.
Line 13:
== Types ==
=== Requirements documentation ===
[[Requirement]]s documentation is the description of what a particular software does or shallshould do. It is used throughout [[Software development|development]] to communicate how the software functions or how it is intended to operate. It is also used as an agreement or as the foundation for agreement on what the software will do. Requirements are produced and consumed by everyone involved in the production of software, including: [[end user]]s, [[customer]]s, [[project manager]]s, [[sales]], [[marketing]], [[software architect]]s, [[usability engineering|usability engineers]], [[interaction design]]ers, [[software developer|developer]]s, and [[Software testing|testers]].
 
Requirements come in a variety of styles, notations and formality. Requirements can be goal-like (e.g., ''distributed work environment''), close to design (e.g., ''builds can be started by right-clicking a configuration file and selecting the 'build' function''), and anything in between. They can be specified as statements in [[natural language]], as drawn figures, as detailed [[mathematical formula]]s, or as a combination of them all.
Line 23:
Traditionally, requirements are specified in requirements documents (e.g. using word processing applications and spreadsheet applications). To manage the increased complexity and changing nature of requirements documentation (and software documentation in general), database-centric systems and special-purpose [[requirements management]] tools are advocated.
 
In Agile software development, requirements are often expressed as [[User Storiesstory|''user stories'']] with accompanying acceptance criteria. User stories are typically part of a feature, or an epic, which is a broader functionality or set of related functionalities that deliver a specific value to the user based on the business requirements.
 
=== Architecture design documentation ===