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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.