Knowledge

Software documentation

Source đź“ť

979:. This documentation may be used by developers, testers, and also end-users. Today, a lot of high-end applications are seen in the fields of power, energy, transportation, networks, aerospace, safety, security, industry automation, and a variety of other domains. Technical documentation has become important within such organizations as the basic and advanced level of information may change over a period of time with architecture changes. There is evidence that the existence of good code documentation actually reduces maintenance costs for software. 815:
mechanical equipment), more formal requirements documentation is often required. If the software is expected to live for only a month or two (e.g., very small mobile phone applications developed specifically for a certain campaign) very little requirements documentation may be needed. If the software is a first release that is later built upon, requirements documentation is very helpful when managing the change of the software and verifying that nothing has been broken in the software when it is modified.
2183: 36: 2173: 803:
difficult to know how to document requirements considering the variety of people who shall read and use the documentation. Thus, requirements documentation is often incomplete (or non-existent). Without proper requirements documentation, software changes become more difficult — and therefore more error prone (decreased
849:
being second derivative, and code documents being first). Very little in the architecture documents is specific to the code itself. These documents do not describe how to program a particular routine, or even why that particular routine exists in the form that it does, but instead merely lays out the
1104:
are usually part of several software development activities, such as code walks and porting, where third-party source code is analysed in a functional way. Annotations can therefore help the developer during any stage of software development where a formal documentation system would hinder progress.
871:
A very important part of the design document in enterprise software development is the Database Design Document (DDD). It contains Conceptual, Logical, and Physical Design Elements. The DDD includes the formal information that the people who interact with the database need. The purpose of preparing
1167:
approach, where chapters or sections concentrate on one particular area of interest, is of more general use to an intermediate user. Some authors prefer to convey their ideas through a knowledge based article to facilitate the user needs. This approach is usually practiced by a dynamic industry,
802:
The variation and complexity of requirement documentation make it a proven challenge. Requirements may be implicit and hard to uncover. It is difficult to know exactly how much and what kind of documentation is needed and how much can be left to the architecture and design documentation, and it is
1130:
Typically, the user documentation describes each feature of the program, and assists the user in realizing these features. It is very important for user documents to not be confusing, and for them to be up to date. User documents do not need to be organized in any particular way, but it is very
867:
to dazzle the reader), and most importantly is impartial. It should honestly and clearly explain the costs of whatever solution it offers as best. The objective of a trade study is to devise the best solution, rather than to push a particular point of view. It is perfectly acceptable to state no
818:
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
814:
of the software. If the software is very complex or developed by many people (e.g., mobile phone software), requirements can help better communicate what to achieve. If the software is safety-critical and can have a negative impact on human life (e.g., nuclear power systems, medical equipment,
1267:
A survey among software engineering experts revealed, however, that documentation is by no means considered unnecessary in agile development. Yet it is acknowledged that there are motivational problems in development, and that documentation methods tailored to agile development (e.g. through
1178:
The final type of organizing principle is one in which commands or tasks are simply listed alphabetically or logically grouped, often via cross-referenced indexes. This latter approach is of greater use to advanced users who know exactly what sort of information they are looking
739:
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:
863:, code, design, or even architectural level. It will outline what the situation is, describe one or more alternatives, and enumerate the pros and cons of each. A good trade study document is heavy on research, expresses its idea clearly (without relying heavily on obtuse 1331:: Encourages contributions from various team members, including developers, testers, and product managers.Combining Docs as Code with Agile methodologies creates a robust framework for maintaining high-quality, up-to-date documentation. Here's how to integrate the two: 850:
general requirements that would motivate the existence of such a routine. A good architecture document is short on details but thick on explanation. It may suggest approaches for lower level design, but leave the actual exploration trade studies to other documents.
974:
documentation) to be thorough, but not so verbose that it becomes overly time-consuming or difficult to maintain them. Various how-to and overview documentation guides are commonly found specific to the software application or software product being documented by
1192:
that gives only reference information on commands or menu items. The job of tutoring new users or helping more experienced users get the most out of a program is left to private publishers, who are often given significant assistance by the software developer.
832:
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.
1201:
Like other forms of technical documentation, good user documentation benefits from an organized process of development. In the case of user documentation, the process as it commonly occurs in industry consists of five steps:
1183:
A common complaint among users regarding software documentation is that only one of these three approaches was taken to the near-exclusion of the other two. It is common to limit provided software documentation for
1096:
Elucidative Programming is the result of practical applications of Literate Programming in real programming contexts. The Elucidative paradigm proposes that source code and documentation be stored separately.
1053:), the programmer can write it while referring to the code, and use the same tools used to create the source code to make the documentation. This makes it much easier to keep the documentation up-to-date. 1263:
advocates valuing "working software over comprehensive documentation", which could be interpreted cynically as "We want to spend all our time coding. Remember, real programmers don't write documentation."
868:
conclusion, or to conclude that none of the alternatives are sufficiently better than the baseline to warrant a change. It should be approached as a scientific endeavor, not as a marketing technique.
1236:
For many applications it is necessary to have some promotional materials to encourage casual observers to spend more time learning about the product. This form of documentation has three purposes:
1448:"RH Earle, MA Rosso, KE Alexander (2015) User preferences of software documentation genres. Proceedings of the 33rd Annual International Conference on the Design of Communication (ACM SIGDOC)" 952:
It is very important to include all information that is to be used by all actors in the scene. It is also very important to update the documents as any change occurs in the database as well.
1049:
The idea of auto-generating documentation is attractive to programmers for various reasons. For example, because it is extracted from the source code itself (for example, through
686:
or is embedded in the source code. The documentation either explains how the software operates or how to use it, and may mean different things to people in different roles.
1139:
are very well accomplished towards writing good user documents as they would be well aware of the software architecture and programming techniques used. See also
1127:, the code documents and user documents could in some cases be effectively equivalent and worth conjoining, but for a general application this is not often true. 699:– Statements that identify attributes, capabilities, characteristics, or qualities of a system. This is the foundation for what will be or has been implemented. 1146:
User documentation can be produced in a variety of online and print formats. However, there are three broad ways in which user documentation can be organized.
666: 1056:
A possible downside is that only programmers can edit this kind of documentation, and it depends on them to refresh the output (for example, by running a
702:
Architecture/Design – Overview of software. Includes relations to an environment and construction principles to be used in design of software components.
620: 1135:. Consistency and simplicity are also very valuable. User documentation is considered to constitute a contract specifying what the software will do. 1659: 587: 1351:: Assign roles and responsibilities for documentation within the Agile team. Ensure everyone understands the importance of documentation. 1100:
Often, software developers need to be able to create and access information that is not going to be part of the source file itself. Such
17: 659: 439: 1255:"The resistance to documentation among developers is well known and needs no emphasis." This situation is particularly prevalent in 100: 1157:
approach is considered the most useful for a new user, in which they are guided through each step of accomplishing particular tasks.
1537: 72: 810:
The need for requirements documentation is typically related to the complexity of the product, the impact of the product, and the
53: 1372: 577: 429: 79: 2176: 2042: 1971: 652: 552: 308: 293: 1243:
To inform them about what exactly the product does, so that their expectations are in line with what they will be receiving.
1865: 1768: 572: 610: 1259:
because these methodologies try to avoid any unnecessary activities that do not directly bring value. Specifically, the
86: 1652: 908: 519: 283: 1845: 1712: 1697: 842: 386: 119: 2212: 1038:, or Universal Report can be used to auto-generate the code documents—that is, they extract the comments and 509: 504: 260: 68: 1287:
is an approach to documentation that treats it with the same rigor and processes as software code. This includes:
1227:, is the final step in which the information collected in steps three and four is used to produce the final draft. 2207: 1614:
Prause, Christian R., and Zoya Durdik. "Architectural design and documentation: Waste in agile development?" In:
638: 853:
Another type of design document is the comparison document, or trade study. This would often take the form of a
2001: 1928: 1918: 1763: 1692: 1534: 1522: 1081: 1050: 529: 242: 222: 57: 1215:
Draft review, is a self-explanatory phase where feedback is sought on the draft composed in the previous step.
391: 2186: 2052: 1981: 1923: 1645: 904: 845:) is a special type of design document. In a way, architecture documents are third derivative from the code ( 328: 318: 268: 1240:
To excite the potential user about the product and instill in them a desire to become more involved with it.
1991: 1850: 1717: 1339:: Start by placing your documentation in a version control system. Structure it similarly to your codebase. 615: 343: 159: 1913: 1908: 1722: 434: 406: 859:. It focuses on one specific aspect of the system and suggests alternate approaches. It could be at the 783:
Requirements come in a variety of styles, notations and formality. Requirements can be goal-like (e.g.,
735:
documentation is the description of what a particular software does or should do. It is used throughout
2108: 1956: 1951: 1903: 1880: 1860: 1256: 557: 401: 288: 278: 217: 1306:: Enabling multiple contributors to work on documentation simultaneously, similar to code development. 1088:
have built-in support for a simple form of literate programming, but this support is not widely used.
2113: 2103: 1412: 872:
it is to create a common source to be used by all players within the scene. The potential users are:
323: 303: 93: 2016: 1815: 1798: 1707: 464: 333: 313: 1966: 1810: 1031: 995: 961: 820: 592: 474: 353: 227: 46: 2021: 1778: 1773: 1169: 1114: 882: 789:
builds can be started by right-clicking a configuration file and selecting the 'build' function
534: 444: 338: 1042:, where available, from the source code and create reference manuals in such forms as text or 1840: 1793: 1023: 765: 358: 174: 164: 1072:
has noted that documentation can be a very difficult afterthought process and has advocated
2138: 1976: 1835: 1825: 1737: 1682: 1668: 1397: 1073: 1060:
to update the documents nightly). Some would characterize this as a pro rather than a con.
796: 736: 454: 298: 232: 199: 179: 140: 1487: 1113:
This section is about consumable guides for software usage. For more general systems, see
966:
It is important for the code documents associated with the source code (which may include
8: 2158: 2143: 2011: 1875: 1783: 1727: 1124: 897: 449: 368: 194: 1514: 2148: 1788: 1377: 1164: 1132: 1039: 773: 769: 761: 567: 2062: 1820: 1530: 1526: 1269: 1218: 1185: 1140: 706: 2133: 2077: 1855: 1747: 1742: 1518: 1345:: Implement CI/CD tools to automate the generation and deployment of documentation. 804: 792: 777: 524: 487: 469: 459: 184: 1602: 2153: 2006: 1986: 1870: 1732: 1541: 1462: 1407: 1382: 1325:: Automated tools can handle repetitive tasks, such as formatting and deployment. 1260: 846: 749: 411: 363: 247: 169: 986:
style, allowing a programmer to quickly look up an arbitrary function or class.
2057: 1961: 1702: 1433: 860: 1357:: Schedule regular documentation reviews as part of the sprint retrospectives. 692:
is an important part of software engineering. Types of documentation include:
2201: 2037: 1805: 1392: 1206: 1120:
Unlike code documents, user documents simply describe how a program is used.
1007: 689: 154: 1447: 2072: 2067: 1996: 1273: 1246:
To explain the position of this product with respect to other alternatives.
1085: 1069: 1019: 811: 237: 1319:: Documentation can be kept in sync with the codebase, ensuring accuracy. 1189: 1077: 732: 696: 718:
Marketing – How to market the product and analysis of the market demand.
2082: 2047: 1637: 1367: 1136: 1101: 976: 890: 855: 827: 911:
or not), including following information and their clear definitions:
1492: 1483: 1387: 757: 189: 715:– Manuals for the end-user, system administrators and support staff. 35: 1830: 1154: 1057: 1035: 826:
In Agile software development, requirements are often expressed as
791:), and anything in between. They can be specified as statements in 745: 741: 712: 683: 562: 514: 499: 494: 1250: 989: 1300:: Automating the process of documentation generation and updates. 1224: 1027: 1011: 999: 1687: 1402: 967: 864: 705:
Technical – Documentation of code, algorithms, interfaces, and
273: 1294:: Using systems like Git to track changes and manage versions. 1221:, whereby the usability of the document is tested empirically. 1887: 1015: 753: 348: 1080:
and extracted by automatic means. The programming languages
2098: 1043: 1003: 582: 682:
is written text or illustration that accompanies computer
971: 1616:
International Conference on Software and System Process
900:
Systems, the document should include following parts:
928:
Relational Schema, including following information:
836: 60:. Unsourced material may be challenged and removed. 2199: 1627:Selic, Bran. "Agile documentation, anyone?" In: 1488:"Knowledge Base Articles for Driver Development" 1251:Documentation and agile development controversy 1196: 1076:, written at the same time and location as the 990:Technical documentation embedded in source code 937:Constraints such as primary keys, foreign keys, 1653: 1588:Herbsleb, James D. and Moitra, Dependra. In: 727: 660: 1434:"How to get a budget for code documentation" 1212:Planning, or the actual documentation phase. 943:Cascading Policy for referential constraints 1521:Series in Technical Communication, 2nd ed. 1310: 1660: 1646: 1605:IEEE Computer, vol. 34, no. 12, p. 4, 2001 1592:, vol. 18, no. 2, pp. 16-20, Mar/Apr 2001 1231: 1209:, the basic research phase of the process. 1091: 982:Code documents are often organized into a 955: 841:Architecture documentation (also known as 667: 653: 120:Learn how and when to remove this message 1851:Software development process/methodology 1667: 931:Tables, Attributes, and their properties 1063: 14: 2200: 1373:Comparison of documentation generators 1131:important for them to have a thorough 940:Cardinality of referential constraints 621:Electrical and electronics engineering 27:Explains the functionality of software 1641: 1482: 1108: 923:Attribute and Tuple based constraints 2172: 1866:Software verification and validation 1769:Component-based software engineering 58:adding citations to reliable sources 29: 1476: 799:, or as a combination of them all. 24: 1454: 920:Candidate keys for each entity set 917:Relationships and their attributes 807:) and time-consuming (expensive). 25: 2224: 1846:Software configuration management 1713:Search-based software engineering 1698:Experimental software engineering 1631:, vol. 26, no. 6, pp. 11-12, 2009 1460: 843:software architecture description 837:Architecture design documentation 547:Standards and bodies of knowledge 2182: 2181: 2171: 914:Entity Sets and their attributes 795:, as drawn figures, as detailed 34: 1621: 1608: 1595: 1582: 1279: 639:Outline of software development 45:needs additional citations for 1693:Empirical software engineering 1573: 1564: 1555: 1546: 1515:Writing Software Documentation 1507: 1463:"The KDE Documentation Primer" 1440: 1426: 13: 1: 1603:"Manifesto elicits cynicism." 1517:, Preface, xxiv. Part of the 1068:Respected computer scientist 1718:Site reliability engineering 1197:Composing user documentation 905:Entity - Relationship Schema 785:distributed work environment 7: 1723:Social software engineering 1361: 18:Software user documentation 10: 2229: 1861:Software quality assurance 1257:agile software development 1112: 959: 787:), close to design (e.g., 728:Requirements documentation 402:Software quality assurance 2167: 2126: 2091: 2030: 1944: 1937: 1896: 1756: 1675: 1413:Unified Modeling Language 2017:Model-driven engineering 1816:Functional specification 1799:Software incompatibility 1708:Requirements engineering 1419: 1311:Benefits of Docs as Code 722: 387:Configuration management 69:"Software documentation" 2213:Technical communication 1811:Enterprise architecture 1232:Marketing documentation 1092:Elucidative programming 962:Technical documentation 956:Technical documentation 821:requirements management 611:Artificial intelligence 2208:Software documentation 2022:Round-trip engineering 1779:Backward compatibility 1774:Software compatibility 1298:Continuous Integration 1170:Information technology 1115:End user documentation 883:Database administrator 680:Software documentation 535:Infrastructure as code 381:Supporting disciplines 1841:Software architecture 1794:Forward compatibility 1540:May 13, 2013, at the 1337:Setup Version Control 891:Application developer 823:tools are advocated. 797:mathematical formulas 770:interaction designers 392:Deployment management 2139:Computer engineering 1836:Software archaeology 1826:Programming paradigm 1738:Software maintenance 1683:Computer programming 1669:Software engineering 1618:(ICSSP), IEEE, 2012. 1398:Literate programming 1074:literate programming 1064:Literate programming 887:Application designer 212:Paradigms and models 141:Software development 54:improve this article 2159:Systems engineering 2144:Information science 1924:Service orientation 1876:Structured analysis 1784:Compatibility layer 1728:Software deployment 1601:Rakitin, Steven. , 898:Relational Database 896:When talking about 766:usability engineers 762:software architects 135:Part of a series on 2149:Project management 1914:Object orientation 1881:Essential analysis 1789:Compatibility mode 1523:Upper Saddle River 1513:Thomas T. Barker, 1378:Design by contract 1343:Automate Processes 1270:Reputation systems 1186:personal computers 1176:List or Reference: 1109:User documentation 1040:software contracts 879:Database developer 530:Release automation 407:Project management 2195: 2194: 2122: 2121: 2063:Information model 1967:Incremental model 1821:Modeling language 1527:Pearson Education 1519:Allyn & Bacon 1276:) may be needed. 1219:Usability testing 1141:technical writing 1123:In the case of a 876:Database designer 677: 676: 568:ISO/IEC standards 130: 129: 122: 104: 16:(Redirected from 2220: 2185: 2184: 2175: 2174: 2134:Computer science 1942: 1941: 1856:Software quality 1748:Systems analysis 1743:Software testing 1662: 1655: 1648: 1639: 1638: 1632: 1625: 1619: 1612: 1606: 1599: 1593: 1586: 1580: 1579:Barker, pg. 240. 1577: 1571: 1570:Barker, pg. 217. 1568: 1562: 1561:Barker, pg. 173. 1559: 1553: 1552:Barker, pg. 118. 1550: 1544: 1511: 1505: 1504: 1502: 1500: 1480: 1474: 1473: 1471: 1469: 1458: 1452: 1451: 1444: 1438: 1437: 1430: 1125:software library 819:special-purpose 805:software quality 793:natural language 750:project managers 669: 662: 655: 616:Computer science 525:Build automation 132: 131: 125: 118: 114: 111: 105: 103: 62: 38: 30: 21: 2228: 2227: 2223: 2222: 2221: 2219: 2218: 2217: 2198: 2197: 2196: 2191: 2163: 2154:Risk management 2118: 2087: 2026: 2007:Waterfall model 1977:Prototype model 1972:Iterative model 1933: 1909:Aspect-oriented 1892: 1871:Software system 1752: 1733:Software design 1671: 1666: 1636: 1635: 1626: 1622: 1613: 1609: 1600: 1596: 1587: 1583: 1578: 1574: 1569: 1565: 1560: 1556: 1551: 1547: 1542:Wayback Machine 1512: 1508: 1498: 1496: 1481: 1477: 1467: 1465: 1461:Woelz, Carlos. 1459: 1455: 1446: 1445: 1441: 1432: 1431: 1427: 1422: 1408:User Assistance 1383:Design document 1364: 1355:Regular Reviews 1313: 1292:Version Control 1282: 1261:Agile Manifesto 1253: 1234: 1199: 1118: 1111: 1094: 1066: 992: 984:reference guide 964: 958: 847:design document 839: 812:life expectancy 730: 725: 673: 644: 643: 634: 626: 625: 606: 598: 597: 548: 540: 539: 490: 480: 479: 425: 417: 416: 412:User experience 382: 374: 373: 264: 253: 252: 213: 205: 204: 150: 149:Core activities 126: 115: 109: 106: 63: 61: 51: 39: 28: 23: 22: 15: 12: 11: 5: 2226: 2216: 2215: 2210: 2193: 2192: 2190: 2189: 2179: 2168: 2165: 2164: 2162: 2161: 2156: 2151: 2146: 2141: 2136: 2130: 2128: 2127:Related fields 2124: 2123: 2120: 2119: 2117: 2116: 2111: 2106: 2101: 2095: 2093: 2089: 2088: 2086: 2085: 2080: 2075: 2070: 2065: 2060: 2058:Function model 2055: 2050: 2045: 2040: 2034: 2032: 2028: 2027: 2025: 2024: 2019: 2014: 2009: 2004: 1999: 1994: 1989: 1984: 1979: 1974: 1969: 1964: 1962:Executable UML 1959: 1954: 1948: 1946: 1939: 1935: 1934: 1932: 1931: 1926: 1921: 1916: 1911: 1906: 1900: 1898: 1894: 1893: 1891: 1890: 1885: 1884: 1883: 1873: 1868: 1863: 1858: 1853: 1848: 1843: 1838: 1833: 1828: 1823: 1818: 1813: 1808: 1803: 1802: 1801: 1796: 1791: 1786: 1781: 1771: 1766: 1760: 1758: 1754: 1753: 1751: 1750: 1745: 1740: 1735: 1730: 1725: 1720: 1715: 1710: 1705: 1703:Formal methods 1700: 1695: 1690: 1685: 1679: 1677: 1673: 1672: 1665: 1664: 1657: 1650: 1642: 1634: 1633: 1620: 1607: 1594: 1581: 1572: 1563: 1554: 1545: 1506: 1475: 1453: 1439: 1424: 1423: 1421: 1418: 1417: 1416: 1410: 1405: 1400: 1395: 1390: 1385: 1380: 1375: 1370: 1363: 1360: 1359: 1358: 1352: 1346: 1340: 1333: 1332: 1326: 1320: 1312: 1309: 1308: 1307: 1301: 1295: 1281: 1278: 1252: 1249: 1248: 1247: 1244: 1241: 1233: 1230: 1229: 1228: 1222: 1216: 1213: 1210: 1198: 1195: 1181: 1180: 1173: 1158: 1110: 1107: 1093: 1090: 1065: 1062: 991: 988: 960:Main article: 957: 954: 950: 949: 948: 947: 944: 941: 938: 935: 932: 926: 925: 924: 921: 918: 915: 894: 893: 888: 885: 880: 877: 861:user interface 838: 835: 729: 726: 724: 721: 720: 719: 716: 710: 703: 700: 675: 674: 672: 671: 664: 657: 649: 646: 645: 642: 641: 635: 632: 631: 628: 627: 624: 623: 618: 613: 607: 604: 603: 600: 599: 596: 595: 590: 585: 580: 575: 570: 565: 560: 558:IEEE standards 555: 549: 546: 545: 542: 541: 538: 537: 532: 527: 522: 517: 512: 507: 502: 497: 491: 486: 485: 482: 481: 478: 477: 472: 467: 462: 457: 452: 447: 442: 437: 432: 426: 423: 422: 419: 418: 415: 414: 409: 404: 399: 394: 389: 383: 380: 379: 376: 375: 372: 371: 366: 361: 356: 351: 346: 341: 336: 331: 326: 321: 316: 311: 306: 301: 296: 291: 286: 281: 276: 271: 265: 263:and frameworks 259: 258: 255: 254: 251: 250: 245: 240: 235: 230: 225: 220: 214: 211: 210: 207: 206: 203: 202: 197: 192: 187: 182: 177: 172: 167: 162: 157: 151: 148: 147: 144: 143: 137: 136: 128: 127: 42: 40: 33: 26: 9: 6: 4: 3: 2: 2225: 2214: 2211: 2209: 2206: 2205: 2203: 2188: 2180: 2178: 2170: 2169: 2166: 2160: 2157: 2155: 2152: 2150: 2147: 2145: 2142: 2140: 2137: 2135: 2132: 2131: 2129: 2125: 2115: 2112: 2110: 2107: 2105: 2102: 2100: 2097: 2096: 2094: 2090: 2084: 2081: 2079: 2078:Systems model 2076: 2074: 2071: 2069: 2066: 2064: 2061: 2059: 2056: 2054: 2051: 2049: 2046: 2044: 2041: 2039: 2036: 2035: 2033: 2029: 2023: 2020: 2018: 2015: 2013: 2010: 2008: 2005: 2003: 2000: 1998: 1995: 1993: 1990: 1988: 1985: 1983: 1980: 1978: 1975: 1973: 1970: 1968: 1965: 1963: 1960: 1958: 1955: 1953: 1950: 1949: 1947: 1945:Developmental 1943: 1940: 1936: 1930: 1927: 1925: 1922: 1920: 1917: 1915: 1912: 1910: 1907: 1905: 1902: 1901: 1899: 1895: 1889: 1886: 1882: 1879: 1878: 1877: 1874: 1872: 1869: 1867: 1864: 1862: 1859: 1857: 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1837: 1834: 1832: 1829: 1827: 1824: 1822: 1819: 1817: 1814: 1812: 1809: 1807: 1806:Data modeling 1804: 1800: 1797: 1795: 1792: 1790: 1787: 1785: 1782: 1780: 1777: 1776: 1775: 1772: 1770: 1767: 1765: 1762: 1761: 1759: 1755: 1749: 1746: 1744: 1741: 1739: 1736: 1734: 1731: 1729: 1726: 1724: 1721: 1719: 1716: 1714: 1711: 1709: 1706: 1704: 1701: 1699: 1696: 1694: 1691: 1689: 1686: 1684: 1681: 1680: 1678: 1674: 1670: 1663: 1658: 1656: 1651: 1649: 1644: 1643: 1640: 1630: 1629:IEEE Software 1624: 1617: 1611: 1604: 1598: 1591: 1590:IEEE Software 1585: 1576: 1567: 1558: 1549: 1543: 1539: 1536: 1532: 1528: 1524: 1520: 1516: 1510: 1495: 1494: 1489: 1485: 1479: 1464: 1457: 1449: 1443: 1435: 1429: 1425: 1414: 1411: 1409: 1406: 1404: 1401: 1399: 1396: 1394: 1393:Documentation 1391: 1389: 1386: 1384: 1381: 1379: 1376: 1374: 1371: 1369: 1366: 1365: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1334: 1330: 1329:Collaboration 1327: 1324: 1321: 1318: 1315: 1314: 1305: 1304:Collaboration 1302: 1299: 1296: 1293: 1290: 1289: 1288: 1286: 1277: 1275: 1271: 1265: 1262: 1258: 1245: 1242: 1239: 1238: 1237: 1226: 1223: 1220: 1217: 1214: 1211: 1208: 1207:User analysis 1205: 1204: 1203: 1194: 1191: 1187: 1177: 1174: 1171: 1166: 1162: 1159: 1156: 1152: 1149: 1148: 1147: 1144: 1142: 1138: 1134: 1128: 1126: 1121: 1116: 1106: 1103: 1098: 1089: 1087: 1083: 1079: 1075: 1071: 1061: 1059: 1054: 1052: 1047: 1045: 1041: 1037: 1033: 1029: 1025: 1021: 1017: 1013: 1009: 1008:Visual Expert 1005: 1001: 997: 987: 985: 980: 978: 973: 969: 963: 953: 945: 942: 939: 936: 933: 930: 929: 927: 922: 919: 916: 913: 912: 910: 906: 903: 902: 901: 899: 892: 889: 886: 884: 881: 878: 875: 874: 873: 869: 866: 862: 858: 857: 851: 848: 844: 834: 831: 830: 824: 822: 816: 813: 808: 806: 800: 798: 794: 790: 786: 781: 779: 775: 771: 767: 763: 759: 755: 751: 747: 743: 738: 734: 717: 714: 711: 708: 704: 701: 698: 695: 694: 693: 691: 690:Documentation 687: 685: 681: 670: 665: 663: 658: 656: 651: 650: 648: 647: 640: 637: 636: 630: 629: 622: 619: 617: 614: 612: 609: 608: 602: 601: 594: 591: 589: 586: 584: 581: 579: 576: 574: 571: 569: 566: 564: 561: 559: 556: 554: 551: 550: 544: 543: 536: 533: 531: 528: 526: 523: 521: 518: 516: 513: 511: 508: 506: 503: 501: 498: 496: 493: 492: 489: 484: 483: 476: 473: 471: 468: 466: 463: 461: 458: 456: 453: 451: 448: 446: 443: 441: 438: 436: 433: 431: 428: 427: 421: 420: 413: 410: 408: 405: 403: 400: 398: 397:Documentation 395: 393: 390: 388: 385: 384: 378: 377: 370: 367: 365: 362: 360: 357: 355: 352: 350: 347: 345: 342: 340: 337: 335: 332: 330: 327: 325: 322: 320: 317: 315: 312: 310: 307: 305: 302: 300: 297: 295: 292: 290: 287: 285: 282: 280: 277: 275: 272: 270: 267: 266: 262: 261:Methodologies 257: 256: 249: 246: 244: 241: 239: 236: 234: 231: 229: 226: 224: 221: 219: 216: 215: 209: 208: 201: 198: 196: 193: 191: 188: 186: 183: 181: 178: 176: 173: 171: 168: 166: 163: 161: 158: 156: 155:Data modeling 153: 152: 146: 145: 142: 139: 138: 134: 133: 124: 121: 113: 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: â€“  70: 66: 65:Find sources: 59: 55: 49: 48: 43:This article 41: 37: 32: 31: 19: 2073:Object model 2068:Metamodeling 1997:Spiral model 1897:Orientations 1628: 1623: 1615: 1610: 1597: 1589: 1584: 1575: 1566: 1557: 1548: 1509: 1497:. Retrieved 1491: 1478: 1466:. Retrieved 1456: 1442: 1428: 1403:README files 1354: 1349:Define Roles 1348: 1342: 1336: 1328: 1322: 1316: 1303: 1297: 1291: 1285:Docs as Code 1284: 1283: 1280:Docs as Code 1274:Gamification 1266: 1254: 1235: 1200: 1182: 1175: 1160: 1150: 1145: 1129: 1122: 1119: 1099: 1095: 1086:CoffeeScript 1070:Donald Knuth 1067: 1055: 1048: 1020:EiffelStudio 993: 983: 981: 965: 951: 946:Primary keys 895: 870: 854: 852: 840: 829:user stories 828: 825: 817: 809: 801: 788: 784: 782: 733:Requirements 731: 697:Requirements 688: 679: 678: 515:UML Modeling 510:GUI designer 396: 175:Construction 165:Requirements 116: 107: 97: 90: 83: 76: 64: 52:Please help 47:verification 44: 1764:Abstraction 1317:Consistency 1190:online help 1137:API Writers 1102:annotations 1078:source code 977:API writers 737:development 233:Prototyping 228:Incremental 200:Maintenance 180:Engineering 2202:Categories 2083:View model 2048:Data model 1535:0321103289 1368:API Writer 1323:Automation 1024:Sandcastle 970:files and 856:whitepaper 774:developers 605:Glossaries 195:Deployment 110:March 2013 80:newspapers 2092:Languages 1493:Microsoft 1484:Microsoft 1388:Docstring 1161:Thematic: 1151:Tutorial: 758:marketing 746:customers 742:end users 424:Practices 248:Waterfall 223:Cleanroom 190:Debugging 160:Processes 2187:Category 2053:ER model 1919:Ontology 1831:Software 1757:Concepts 1538:Archived 1529:, 2003. 1362:See also 1168:such as 1165:thematic 1155:tutorial 1058:cron job 1051:comments 1036:TwinText 998:such as 909:enhanced 713:End user 684:software 633:Outlines 563:ISO 9001 505:Profiler 500:Debugger 495:Compiler 470:Stand-up 2177:Commons 2002:V-model 1499:15 June 1468:15 June 1225:Editing 1082:Haskell 1046:files. 1028:ROBODoc 1012:Javadoc 1000:Doxygen 994:Often, 778:testers 304:Lean SD 243:V model 185:Testing 94:scholar 1938:Models 1688:DevOps 1676:Fields 1533:  968:README 865:jargon 776:, and 578:SWEBOK 299:Kanban 274:DevOps 238:Spiral 170:Design 96:  89:  82:  75:  67:  2114:SysML 2038:SPICE 2031:Other 1992:Scrum 1952:Agile 1904:Agile 1888:CI/CD 1420:Notes 1133:index 1016:JSDoc 996:tools 934:Views 754:sales 723:Types 573:PMBOK 488:Tools 349:SEMAT 344:Scrum 218:Agile 101:JSTOR 87:books 2099:IDEF 2043:CMMI 1929:SDLC 1531:ISBN 1501:2009 1470:2009 1272:and 1179:for. 1084:and 1044:HTML 1004:NDoc 707:APIs 588:IREB 583:ITIL 553:CMMI 430:ATDD 339:SAFe 309:LeSS 284:DSDM 73:news 2109:USL 2104:UML 1982:RAD 1957:EUP 1415:UML 1188:to 1032:POD 972:API 593:OMG 520:IDE 475:TDD 465:SBE 455:DDD 440:CCO 435:BDD 359:TSP 354:TDD 334:RUP 329:RAD 324:PSP 319:MSF 314:MDD 294:IID 289:FDD 279:DAD 269:ASD 56:by 2204:: 2012:XP 1987:UP 1525:: 1490:. 1486:. 1163:A 1153:A 1143:. 1034:, 1030:, 1026:, 1022:, 1018:, 1014:, 1010:, 1006:, 1002:, 780:. 772:, 768:, 764:, 760:, 756:, 752:, 748:, 744:, 460:PP 450:CD 445:CI 369:XP 364:UP 1661:e 1654:t 1647:v 1503:. 1472:. 1450:. 1436:. 1172:. 1117:. 907:( 709:. 668:e 661:t 654:v 123:) 117:( 112:) 108:( 98:· 91:· 84:· 77:· 50:. 20:)

Index

Software user documentation

verification
improve this article
adding citations to reliable sources
"Software documentation"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Software development
Data modeling
Processes
Requirements
Design
Construction
Engineering
Testing
Debugging
Deployment
Maintenance
Agile
Cleanroom
Incremental
Prototyping
Spiral
V model
Waterfall

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑