CINXE.COM

Software design - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Software design - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"2b9c9243-c80b-4364-ae50-55855b9f759e","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Software_design","wgTitle":"Software design","wgCurRevisionId":1249782715,"wgRevisionId":1249782715,"wgArticleId":223325,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","Commons category link is on Wikidata","Software engineering","Software design","Software architecture","Computer occupations"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Software_design","wgRelevantArticleId":223325,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[], "wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q857102","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false, "wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init", "ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Software design - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Software_design"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Software_design&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Software_design"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Software_design rootpage-Software_design skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Software+design" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Software+design" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Software+design" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Software+design" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-General_process" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#General_process"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>General process</span> </div> </a> <ul id="toc-General_process-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Value" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Value"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Value</span> </div> </a> <ul id="toc-Value-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Requirements_analysis" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Requirements_analysis"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Requirements analysis</span> </div> </a> <ul id="toc-Requirements_analysis-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Artifacts" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Artifacts"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Artifacts</span> </div> </a> <ul id="toc-Artifacts-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_principles" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_principles"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Design principles</span> </div> </a> <ul id="toc-Design_principles-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_concepts" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_concepts"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Design concepts</span> </div> </a> <ul id="toc-Design_concepts-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_considerations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_considerations"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Design considerations</span> </div> </a> <ul id="toc-Design_considerations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Modeling_language" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Modeling_language"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Modeling language</span> </div> </a> <ul id="toc-Modeling_language-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Design_patterns" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Design_patterns"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Design patterns</span> </div> </a> <ul id="toc-Design_patterns-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Code_as_design" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Code_as_design"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Code as design</span> </div> </a> <ul id="toc-Code_as_design-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Software design</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 30 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-30" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">30 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B5%D9%85%D9%8A%D9%85_%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA" title="تصميم البرمجيات – Arabic" lang="ar" hreflang="ar" data-title="تصميم البرمجيات" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Proqram_dizayn%C4%B1" title="Proqram dizaynı – Azerbaijani" lang="az" hreflang="az" data-title="Proqram dizaynı" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%B8%E0%A6%AB%E0%A6%9F%E0%A6%93%E0%A6%AF%E0%A6%BC%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B0_%E0%A6%A1%E0%A6%BF%E0%A6%9C%E0%A6%BE%E0%A6%87%E0%A6%A8" title="সফটওয়্যার ডিজাইন – Bangla" lang="bn" hreflang="bn" data-title="সফটওয়্যার ডিজাইন" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Softwaredesign" title="Softwaredesign – Danish" lang="da" hreflang="da" data-title="Softwaredesign" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Softwaredesign" title="Softwaredesign – German" lang="de" hreflang="de" data-title="Softwaredesign" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Tarkvara_disain" title="Tarkvara disain – Estonian" lang="et" hreflang="et" data-title="Tarkvara disain" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Dise%C3%B1o_de_software" title="Diseño de software – Spanish" lang="es" hreflang="es" data-title="Diseño de software" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1" title="طراحی نرم‌افزار – Persian" lang="fa" hreflang="fa" data-title="طراحی نرم‌افزار" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Conception_de_logiciel" title="Conception de logiciel – French" lang="fr" hreflang="fr" data-title="Conception de logiciel" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%84%A4%EA%B3%84" title="소프트웨어 설계 – Korean" lang="ko" hreflang="ko" data-title="소프트웨어 설계" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Hugb%C3%BAna%C3%B0arh%C3%B6nnun" title="Hugbúnaðarhönnun – Icelandic" lang="is" hreflang="is" data-title="Hugbúnaðarhönnun" data-language-autonym="Íslenska" data-language-local-name="Icelandic" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Progettazione_(ingegneria_del_software)" title="Progettazione (ingegneria del software) – Italian" lang="it" hreflang="it" data-title="Progettazione (ingegneria del software)" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A2%D7%99%D7%A6%D7%95%D7%91_%D7%AA%D7%95%D7%9B%D7%A0%D7%94" title="עיצוב תוכנה – Hebrew" lang="he" hreflang="he" data-title="עיצוב תוכנה" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Desain_piranti_alus_komputer" title="Desain piranti alus komputer – Javanese" lang="jv" hreflang="jv" data-title="Desain piranti alus komputer" data-language-autonym="Jawa" data-language-local-name="Javanese" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Szoftvertervez%C3%A9s" title="Szoftvertervezés – Hungarian" lang="hu" hreflang="hu" data-title="Szoftvertervezés" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%B0%D1%9A%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B0_%D0%BE%D0%BF%D1%80%D0%B5%D0%BC%D0%B0" title="Проектирање на програмска опрема – Macedonian" lang="mk" hreflang="mk" data-title="Проектирање на програмска опрема" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Reka_bentuk_perisian" title="Reka bentuk perisian – Malay" lang="ms" hreflang="ms" data-title="Reka bentuk perisian" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%A8%AD%E8%A8%88" title="ソフトウェア設計 – Japanese" lang="ja" hreflang="ja" data-title="ソフトウェア設計" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Programvaredesign" title="Programvaredesign – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Programvaredesign" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Projeto_de_software" title="Projeto de software – Portuguese" lang="pt" hreflang="pt" data-title="Projeto de software" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Proiectare_de_program" title="Proiectare de program – Romanian" lang="ro" hreflang="ro" data-title="Proiectare de program" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F" title="Проектирование программного обеспечения – Russian" lang="ru" hreflang="ru" data-title="Проектирование программного обеспечения" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Dizajnimi_i_softuerit" title="Dizajnimi i softuerit – Albanian" lang="sq" hreflang="sq" data-title="Dizajnimi i softuerit" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D1%80%D1%81%D0%BA%D0%B8_%D0%B4%D0%B8%D0%B7%D0%B0%D1%98%D0%BD" title="Софтверски дизајн – Serbian" lang="sr" hreflang="sr" data-title="Софтверски дизајн" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Yaz%C4%B1l%C4%B1m_tasar%C4%B1m%C4%B1" title="Yazılım tasarımı – Turkish" lang="tr" hreflang="tr" data-title="Yazılım tasarımı" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%94%D0%BA%D1%82%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F" title="Проєктування програмного забезпечення – Ukrainian" lang="uk" hreflang="uk" data-title="Проєктування програмного забезпечення" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Thi%E1%BA%BFt_k%E1%BA%BF_ph%E1%BA%A7n_m%E1%BB%81m" title="Thiết kế phần mềm – Vietnamese" lang="vi" hreflang="vi" data-title="Thiết kế phần mềm" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E8%BB%9F%E4%BB%B6%E8%A8%AD%E8%A8%88" title="軟件設計 – Cantonese" lang="yue" hreflang="yue" data-title="軟件設計" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-diq mw-list-item"><a href="https://diq.wikipedia.org/wiki/Dizayn%C3%AA_software" title="Dizaynê software – Zazaki" lang="diq" hreflang="diq" data-title="Dizaynê software" data-language-autonym="Zazaki" data-language-local-name="Zazaki" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1" title="软件设计 – Chinese" lang="zh" hreflang="zh" data-title="软件设计" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q857102#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Software_design" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Software_design" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Software_design"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Software_design&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Software_design&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Software_design"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Software_design&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Software_design&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Software_design" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Software_design" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Software_design&amp;oldid=1249782715" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Software_design&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Software_design&amp;id=1249782715&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSoftware_design"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSoftware_design"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Software_design&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Software_design&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Software_design" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q857102" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Process of planning software solutions</div> <style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1246091330">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}</style><table class="sidebar sidebar-collapse nomobile"><tbody><tr><td class="sidebar-pretitle">Part of a series on</td></tr><tr><th class="sidebar-title-with-pretitle"><a href="/wiki/Software_development" title="Software development">Software development</a></th></tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible"><div class="sidebar-list-title" style="color: var(--color-base)">Core activities</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Data_modeling" title="Data modeling">Data modeling</a></li> <li><a href="/wiki/Software_development_process" title="Software development process">Processes</a></li> <li><a href="/wiki/Requirements_analysis" title="Requirements analysis">Requirements</a></li> <li><a class="mw-selflink selflink">Design</a></li> <li><a href="/wiki/Software_construction" title="Software construction">Construction</a></li> <li><a href="/wiki/Software_engineering" title="Software engineering">Engineering</a></li> <li><a href="/wiki/Software_testing" title="Software testing">Testing</a></li> <li><a href="/wiki/Debugging" title="Debugging">Debugging</a></li> <li><a href="/wiki/Software_deployment" title="Software deployment">Deployment</a></li> <li><a href="/wiki/Software_maintenance" title="Software maintenance">Maintenance</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Paradigms and models</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Agile_software_development" title="Agile software development">Agile</a></li> <li><a href="/wiki/Cleanroom_software_engineering" title="Cleanroom software engineering">Cleanroom</a></li> <li><a href="/wiki/Incremental_build_model" title="Incremental build model">Incremental</a></li> <li><a href="/wiki/Software_prototyping" title="Software prototyping">Prototyping</a></li> <li><a href="/wiki/Spiral_model" title="Spiral model">Spiral</a></li> <li><a href="/wiki/V-model_(software_development)" title="V-model (software development)">V model</a></li> <li><a href="/wiki/Waterfall_model" title="Waterfall model">Waterfall</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)"><a href="/wiki/Software_development_methodology" class="mw-redirect" title="Software development methodology">Methodologies</a> and frameworks</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Adaptive_software_development" title="Adaptive software development">ASD</a></li> <li><a href="/wiki/DevOps" title="DevOps">DevOps</a></li> <li><a href="/wiki/Disciplined_agile_delivery" title="Disciplined agile delivery">DAD</a></li> <li><a href="/wiki/Dynamic_systems_development_method" title="Dynamic systems development method">DSDM</a></li> <li><a href="/wiki/Feature-driven_development" title="Feature-driven development">FDD</a></li> <li><a href="/wiki/Iterative_and_incremental_development" title="Iterative and incremental development">IID</a></li> <li><a href="/wiki/Kanban_(development)" title="Kanban (development)">Kanban</a></li> <li><a href="/wiki/Lean_software_development" title="Lean software development">Lean SD</a></li> <li><a href="/wiki/Scrum_(software_development)#Large-scale_Scrum" title="Scrum (software development)">LeSS</a></li> <li><a href="/wiki/Model-driven_development" class="mw-redirect" title="Model-driven development">MDD</a></li> <li><a href="/wiki/Microsoft_Solutions_Framework" title="Microsoft Solutions Framework">MSF</a></li> <li><a href="/wiki/Personal_software_process" title="Personal software process">PSP</a></li> <li><a href="/wiki/Rapid_application_development" title="Rapid application development">RAD</a></li> <li><a href="/wiki/Rational_Unified_Process" class="mw-redirect" title="Rational Unified Process">RUP</a></li> <li><a href="/wiki/Scaled_agile_framework" title="Scaled agile framework">SAFe</a></li> <li><a href="/wiki/Scrum_(software_development)" title="Scrum (software development)">Scrum</a></li> <li><a href="/wiki/SEMAT" title="SEMAT">SEMAT</a></li> <li><a href="/wiki/Test-driven_development" title="Test-driven development">TDD</a></li> <li><a href="/wiki/Team_software_process" title="Team software process">TSP</a></li> <li><a href="/wiki/Unified_Process" class="mw-redirect" title="Unified Process">UP</a></li> <li><a href="/wiki/Extreme_programming" title="Extreme programming">XP</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Supporting disciplines</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Software_configuration_management" title="Software configuration management">Configuration management</a></li> <li><a href="/wiki/Deployment_management#Computer_science" title="Deployment management"> Deployment management</a></li> <li><a href="/wiki/Software_documentation" title="Software documentation">Documentation</a></li> <li><a href="/wiki/Software_quality_assurance" title="Software quality assurance">Software quality assurance</a></li> <li><a href="/wiki/Software_project_management" title="Software project management">Project management</a></li> <li><a href="/wiki/User_experience" title="User experience">User experience</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Practices</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Acceptance_test%E2%80%93driven_development" class="mw-redirect" title="Acceptance test–driven development">ATDD</a></li> <li><a href="/wiki/Behavior-driven_development" title="Behavior-driven development">BDD</a></li> <li><a href="/wiki/Extreme_programming_practices#Collective_code_ownership" title="Extreme programming practices">CCO</a></li> <li><a href="/wiki/Continuous_integration" title="Continuous integration">CI</a></li> <li><a href="/wiki/Continuous_delivery" title="Continuous delivery">CD</a></li> <li><a href="/wiki/Domain-driven_design" title="Domain-driven design">DDD</a></li> <li><a href="/wiki/Pair_programming" title="Pair programming">PP</a></li> <li><a href="/wiki/Specification_by_example" title="Specification by example">SBE</a></li> <li><a href="/wiki/Stand-up_meeting" title="Stand-up meeting">Stand-up</a></li> <li><a href="/wiki/Test-driven_development" title="Test-driven development">TDD</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)"><a href="/wiki/Programming_tool" title="Programming tool">Tools</a></div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Compiler" title="Compiler">Compiler</a></li> <li><a href="/wiki/Debugger" title="Debugger">Debugger</a></li> <li><a href="/wiki/Profiling_(computer_programming)" title="Profiling (computer programming)">Profiler</a></li> <li><a href="/wiki/Graphical_user_interface_builder" title="Graphical user interface builder">GUI designer</a></li> <li><a href="/wiki/UML_tool" title="UML tool">UML Modeling</a></li> <li><a href="/wiki/Integrated_development_environment" title="Integrated development environment">IDE</a></li> <li><a href="/wiki/Build_automation" title="Build automation">Build automation</a></li> <li><a href="/wiki/Application-release_automation" title="Application-release automation">Release automation</a></li> <li><a href="/wiki/Infrastructure_as_code" title="Infrastructure as code">Infrastructure as code</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Standards and bodies of knowledge</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Capability_Maturity_Model_Integration" title="Capability Maturity Model Integration">CMMI</a></li> <li><a href="/wiki/IEEE_Standards_Association" title="IEEE Standards Association">IEEE standards</a></li> <li><a href="/wiki/ISO_9001" class="mw-redirect" title="ISO 9001">ISO 9001</a></li> <li><a href="/wiki/ISO/IEC_JTC_1/SC_7" title="ISO/IEC JTC 1/SC 7">ISO/IEC standards</a></li> <li><a href="/wiki/Project_Management_Body_of_Knowledge" title="Project Management Body of Knowledge">PMBOK</a></li> <li><a href="/wiki/Software_Engineering_Body_of_Knowledge" title="Software Engineering Body of Knowledge">SWEBOK</a></li> <li><a href="/wiki/ITIL" title="ITIL">ITIL</a></li> <li><a href="/wiki/International_Requirements_Engineering_Board" title="International Requirements Engineering Board">IREB</a></li> <li><a href="/wiki/Object_Management_Group" title="Object Management Group">OMG</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Glossaries</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Glossary_of_artificial_intelligence" title="Glossary of artificial intelligence">Artificial intelligence</a></li> <li><a href="/wiki/Glossary_of_computer_science" title="Glossary of computer science">Computer science</a></li> <li><a href="/wiki/Glossary_of_electrical_and_electronics_engineering" title="Glossary of electrical and electronics engineering">Electrical and electronics engineering</a></li></ul></div></div></td> </tr><tr><td class="sidebar-content"> <div class="sidebar-list mw-collapsible mw-collapsed"><div class="sidebar-list-title" style="color: var(--color-base)">Outlines</div><div class="sidebar-list-content mw-collapsible-content hlist"> <ul><li><a href="/wiki/Outline_of_software_development" title="Outline of software development">Outline of software development</a></li></ul></div></div></td> </tr><tr><td class="sidebar-navbar"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Software_development_process" title="Template:Software development process"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Software_development_process" title="Template talk:Software development process"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Software_development_process" title="Special:EditPage/Template:Software development process"><abbr title="Edit this template">e</abbr></a></li></ul></div></td></tr></tbody></table> <p><b>Software design</b> is the process of conceptualizing how a <a href="/wiki/Software_system" title="Software system">software system</a> will work before it is <a href="/wiki/Implementation" title="Implementation">implemented</a> or modified. <sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> Software design also refers to the direct result of the design process – the concepts of how the software will work which consists of both design documentation and undocumented concepts. </p><p>Software design usually is directed by <a href="/wiki/Goal" title="Goal">goals</a> for the resulting system and involves problem-solving and planning – including both high-level <a href="/wiki/Software_architecture" title="Software architecture">software architecture</a> and low-level component and <a href="/wiki/Algorithm_design" class="mw-redirect" title="Algorithm design">algorithm design</a>. </p><p>In terms of the <a href="/wiki/Waterfall_model" title="Waterfall model">waterfall development process</a>, software design is the activity of following <a href="/wiki/Software_requirements" title="Software requirements">requirements specification</a> and before <a href="/wiki/Computer_programming" title="Computer programming">coding</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="General_process">General process</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=1" title="Edit section: General process"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The design process enables a designer to model various aspects of a software system before it exists. </p><p>Creativity, past experience, a sense of what makes "good" software, and a commitment to quality are success factors for a competent design. However, the design process is not always a straightforward procedure. </p><p>The software design model can be compared to an architected plan for a house. High-level plans represent the totality of the house (e.g., a three-dimensional rendering of the house). Lower-level plans provide guidance for constructing each detail (e.g., the plumbing lay). Similarly, the software design model provides a variety of views of the proposed software solution. </p> <div class="mw-heading mw-heading2"><h2 id="Value">Value</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=2" title="Edit section: Value"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Software_design_document" class="mw-redirect" title="Software design document">Software design documentation</a> may be reviewed or presented to allow constraints, specifications and even requirements to be adjusted prior to <a href="/wiki/Computer_programming" title="Computer programming">coding</a>. Redesign may occur after a review of a programmed <a href="/wiki/Simulation" title="Simulation">simulation</a> or <a href="/wiki/Prototype" title="Prototype">prototype</a>. It is possible to design software in the process of coding, without a plan or requirement analysis,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> but for more complex projects this is less feasible. A separate design prior to coding allows for <a href="/wiki/Multidisciplinary" class="mw-redirect" title="Multidisciplinary">multidisciplinary</a> designers and <a href="/wiki/Subject-matter_expert" title="Subject-matter expert">subject-matter experts</a> (SMEs) to collaborate with programmers in order to produce software that is useful and technically sound. </p> <div class="mw-heading mw-heading2"><h2 id="Requirements_analysis">Requirements analysis</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=3" title="Edit section: Requirements analysis"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>One component of software design is <a href="/wiki/Software_requirements_analysis" class="mw-redirect" title="Software requirements analysis">software requirements analysis</a> (SRA). SRA is a part of the <a href="/wiki/Software_development_process" title="Software development process">software development process</a> that lists <a href="/wiki/Specifications" class="mw-redirect" title="Specifications">specifications</a> used in <a href="/wiki/Software_engineering" title="Software engineering">software engineering</a>. </p><p>The output of the analysis is smaller problems to solve. In contrast, the design focuses on capabilities, and thus multiple designs for the same problem can exist. Depending on the environment, the design often varies, whether it is created from reliable <a href="/wiki/Software_framework" title="Software framework">frameworks</a> or implemented with suitable <a href="/wiki/Design_patterns" class="mw-redirect" title="Design patterns">design patterns</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Artifacts">Artifacts</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=4" title="Edit section: Artifacts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A design process may include the production of artifacts such as <a href="/wiki/Flow_chart" class="mw-redirect" title="Flow chart">flow chart</a>, <a href="/wiki/Use_case" title="Use case">use case</a>, <a href="/wiki/Pseudocode" title="Pseudocode">Pseudocode</a>, <a href="/wiki/Unified_Modeling_Language" title="Unified Modeling Language">Unified Modeling Language</a> model and other <a href="/wiki/Fundamental_modeling_concepts" title="Fundamental modeling concepts">Fundamental modeling concepts</a>. For <a href="/wiki/User_centered_design" class="mw-redirect" title="User centered design">user centered</a> software, design may involve <a href="/wiki/User_experience_design" title="User experience design">user experience design</a> yielding a <a href="/wiki/Storyboard" title="Storyboard">storyboard</a> to help determine those specifications. </p><p>Sometimes the output of a design process is design <a href="/wiki/Documentation" title="Documentation">documentation</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Design_principles">Design principles</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=5" title="Edit section: Design principles"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Basic design principles enable a software engineer to navigate the design process. Davis<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> suggests a set of principles for software design, which have been adapted and extended in the following list: </p> <ul><li><b>The design process should not suffer from "tunnel vision".</b> A good designer should consider alternative approaches, judging each based on the requirements of the problem, the resources available to do the job.</li> <li><b>The design should be traceable to the analysis model.</b> Because a single element of the design model can often be traced back to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model.</li> <li><b>The design should not reinvent the wheel.</b> Systems are constructed using a set of design patterns, many of which have likely been encountered before. These patterns should always be chosen as an alternative to reinvention. Time is short and resources are limited; design time should be invested in representing (truly new) ideas by integrating patterns that already exist (when applicable).</li> <li><b>The design should "minimize the intellectual distance" between the software and the problem as it exists in the real world.</b> That is, the structure of the software design should, whenever possible, mimic the structure of the problem domain.</li> <li><b>The design should exhibit uniformity and integration.</b> A design is uniform if it appears fully coherent. In order to achieve this outcome, rules of style and format should be defined for a design team before design work begins. A design is integrated if care is taken in defining interfaces between design components.</li> <li><b>The design should be structured to accommodate change.</b> The design concepts discussed in the next section enable a design to achieve this principle.</li> <li><b>The design should be structured to degrade gently, even when aberrant data, events, or operating conditions are encountered.</b> Well-designed software should never "bomb"; it should be designed to accommodate unusual circumstances, and if it must terminate processing, it should do so in a graceful manner.</li> <li><b>Design is not coding, coding is not design.</b> Even when detailed procedural designs are created for program components, the level of abstraction of the design model is higher than the source code. The only design decisions made at the coding level should address the small implementation details that enable the procedural design to be coded.</li> <li><b>The design should be assessed for quality as it is being created, not after the fact.</b> A variety of design concepts and design measures are available to assist the designer in assessing quality throughout the development process.</li> <li><b>The design should be reviewed to minimize conceptual (semantic) errors.</b> There is sometimes a tendency to focus on minutiae when the design is reviewed, missing the forest for the trees. A design team should ensure that major conceptual elements of the design (omissions, ambiguity, inconsistency) have been addressed before worrying about the syntax of the design model.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Design_concepts">Design concepts</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=6" title="Edit section: Design concepts"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Design concepts provide a designer with a foundation from which more sophisticated methods can be applied. A set of design concepts has evolved including: </p> <ul><li><a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">Abstraction</a> - Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically to retain only information that is relevant for a particular purpose. It is an act of Representing essential features without including the background details or explanations.</li> <li><a href="/wiki/Program_refinement" class="mw-redirect" title="Program refinement">Refinement</a> - It is the process of elaboration. A hierarchy is developed by decomposing a macroscopic statement of function in a step-wise fashion until programming language statements are reached. In each step, one or several instructions of a given program are decomposed into more detailed instructions. Abstraction and Refinement are complementary concepts.</li> <li><a href="/wiki/Modularity" title="Modularity">Modularity</a> - Software architecture is divided into components called modules.</li> <li><a href="/wiki/Software_Architecture" class="mw-redirect" title="Software Architecture">Software Architecture</a> - It refers to the overall structure of the software and the ways in which that structure provides conceptual integrity for a system. Good software architecture will yield a good return on investment with respect to the desired outcome of the project, e.g. in terms of performance, quality, schedule and cost.</li> <li><a href="/w/index.php?title=Control_Hierarchy&amp;action=edit&amp;redlink=1" class="new" title="Control Hierarchy (page does not exist)">Control Hierarchy</a> - A program structure that represents the organization of a program component and implies a hierarchy of control.</li> <li><a href="/w/index.php?title=Structural_Partitioning&amp;action=edit&amp;redlink=1" class="new" title="Structural Partitioning (page does not exist)">Structural Partitioning</a> - The program structure can be divided horizontally and vertically. Horizontal partitions define separate branches of modular hierarchy for each major program function. Vertical partitioning suggests that control and work should be distributed top-down in the program structure.</li> <li><a href="/wiki/Data_Structure" class="mw-redirect" title="Data Structure">Data Structure</a> - It is a representation of the logical relationship among individual elements of data.</li> <li><a href="/w/index.php?title=Software_Procedure&amp;action=edit&amp;redlink=1" class="new" title="Software Procedure (page does not exist)">Software Procedure</a> - It focuses on the processing of each module individually.</li> <li><a href="/wiki/Information_Hiding" class="mw-redirect" title="Information Hiding">Information Hiding</a> - Modules should be specified and designed so that information contained within a module is inaccessible to other modules that have no need for such information.</li></ul> <p>In his object model, <a href="/wiki/Grady_Booch" title="Grady Booch">Grady Booch</a> mentions <a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">Abstraction</a>, <a href="/wiki/Encapsulation_(computer_programming)" title="Encapsulation (computer programming)">Encapsulation</a>, <a href="/wiki/Modularity" title="Modularity">Modularisation</a>, and <a href="/wiki/Hierarchy" title="Hierarchy">Hierarchy</a> as fundamental software design principles.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> The acronym PHAME (Principles of Hierarchy, Abstraction, Modularisation, and Encapsulation) is sometimes used to refer to these four fundamental principles.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Design_considerations">Design considerations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=7" title="Edit section: Design considerations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are many aspects to consider in the design of a piece of software. The importance of each consideration should reflect the goals and expectations that the software is being created to meet. Some of these aspects are: </p> <ul><li>Compatibility - The software is able to operate with other products that are designed for interoperability with another product. For example, a piece of software may be backward-compatible with an older version of itself.</li> <li><a href="/wiki/Extensibility" title="Extensibility">Extensibility</a> - New capabilities can be added to the software without major changes to the underlying architecture.</li> <li><a href="/wiki/Modularity" title="Modularity">Modularity</a> - the resulting software comprises well defined, independent components which leads to better maintainability. The components could be then implemented and tested in isolation before being integrated to form a desired software system. This allows division of work in a software development project.</li> <li><a href="/wiki/Fault-tolerance" class="mw-redirect" title="Fault-tolerance">Fault-tolerance</a> - The software is resistant to and able to recover from component failure.</li> <li><a href="/wiki/Maintainability" title="Maintainability">Maintainability</a> - A measure of how easily bug fixes or functional modifications can be accomplished. High maintainability can be the product of modularity and extensibility.</li> <li>Reliability (<a href="/wiki/Software_durability" title="Software durability">Software durability</a>) - The software is able to perform a required function under stated conditions for a specified period of time.</li> <li><a href="/wiki/Reusability" title="Reusability">Reusability</a> - The ability to use some or all of the aspects of the preexisting software in other projects with little to no modification.</li> <li><a href="/wiki/Fault-tolerant_system" class="mw-redirect" title="Fault-tolerant system">Robustness</a> - The software is able to operate under stress or tolerate unpredictable or invalid input. For example, it can be designed with resilience to low memory conditions.</li> <li><a href="/wiki/Computer_security" title="Computer security">Security</a> - The software is able to withstand and resist hostile acts and influences.</li> <li><a href="/wiki/Usability" title="Usability">Usability</a> - The software <a href="/wiki/User_interface" title="User interface">user interface</a> must be usable for its target user/audience. Default values for the parameters must be chosen so that they are a good choice for the majority of the users.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Computer_performance" title="Computer performance">Performance</a> - The software performs its tasks within a time-frame that is acceptable for the user, and does not require too much memory.</li> <li><a href="/wiki/Software_portability" title="Software portability">Portability</a> - The software should be usable across a number of different conditions and environments.</li> <li><a href="/wiki/Scalability" title="Scalability">Scalability</a> - The software adapts well to increasing data or added features or number of users. According to Marc Brooker: "a system is scalable in the range where <a href="/wiki/Marginal_cost" title="Marginal cost">marginal cost</a> of additional workload is nearly constant." <a href="/wiki/Serverless_computing" title="Serverless computing">Serverless</a> technologies fit this definition but you need to consider total cost of ownership not just the infra cost. <sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Modeling_language">Modeling language</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=8" title="Edit section: Modeling language"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <a href="/wiki/Modeling_language" title="Modeling language">modeling language</a> can be used to express information, knowledge or systems in a structure that is defined by a consistent set of rules. These rules are used for interpretation of the components within the structure. A modeling language can be graphical or textual. Examples of graphical modeling languages for software design include: </p> <ul><li><a href="/wiki/Architecture_description_language" title="Architecture description language">Architecture description language</a> (ADL) is a language used to describe and represent the <a href="/wiki/Software_architecture" title="Software architecture">software architecture</a> of a <a href="/wiki/Software_system" title="Software system">software system</a>.</li> <li><a href="/wiki/Business_Process_Modeling_Notation" class="mw-redirect" title="Business Process Modeling Notation">Business Process Modeling Notation</a> (BPMN) is an example of a <a href="/wiki/Process_Modeling" class="mw-redirect" title="Process Modeling">Process Modeling</a> language.</li> <li><a href="/wiki/EXPRESS_(data_modeling_language)" title="EXPRESS (data modeling language)">EXPRESS</a> and EXPRESS-G (ISO 10303-11) is an international standard general-purpose <a href="/wiki/Data_modeling" title="Data modeling">data modeling</a> language.</li> <li><a href="/wiki/Extended_Enterprise_Modeling_Language" title="Extended Enterprise Modeling Language">Extended Enterprise Modeling Language</a> (EEML) is commonly used for business process modeling across a number of layers.</li> <li><a href="/wiki/Flowchart" title="Flowchart">Flowcharts</a> are schematic representations of algorithms or other step-wise processes.</li> <li><a href="/wiki/Fundamental_Modeling_Concepts" class="mw-redirect" title="Fundamental Modeling Concepts">Fundamental Modeling Concepts</a> (FMC) is modeling language for software-intensive systems.</li> <li><a href="/wiki/IDEF" title="IDEF">IDEF</a> is a family of modeling languages, the most notable of which include <a href="/wiki/IDEF0" title="IDEF0">IDEF0</a> for functional modeling, <a href="/wiki/IDEF1X" title="IDEF1X">IDEF1X</a> for information modeling, and <a href="/wiki/IDEF5" title="IDEF5">IDEF5</a> for modeling <a href="/wiki/Ontology_(information_science)" title="Ontology (information science)">ontologies</a>.</li> <li><a href="/wiki/Jackson_Structured_Programming" class="mw-redirect" title="Jackson Structured Programming">Jackson Structured Programming</a> (JSP) is a method for structured programming based on correspondences between data stream structure and program structure.</li> <li><a href="/w/index.php?title=Lepus3&amp;action=edit&amp;redlink=1" class="new" title="Lepus3 (page does not exist)">LePUS3</a> is an <a href="/wiki/Object-oriented" class="mw-redirect" title="Object-oriented">object-oriented</a> visual Design Description Language and a <a href="/wiki/Formal_specification" title="Formal specification">formal specification</a> language that is suitable primarily for modeling large object-oriented (<a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="/wiki/C%2B%2B" title="C++">C++</a>, <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>) programs and <a href="/wiki/Design_patterns" class="mw-redirect" title="Design patterns">design patterns</a>.</li> <li><a href="/wiki/Unified_Modeling_Language" title="Unified Modeling Language">Unified Modeling Language</a> (UML) is a general modeling language to describe software both structurally and behaviorally. It has a graphical notation and allows for extension with a <a href="/wiki/Profile_(UML)" title="Profile (UML)">Profile (UML)</a>.</li> <li><a href="/wiki/Alloy_(specification_language)" title="Alloy (specification language)">Alloy (specification language)</a> is a general purpose specification language for expressing complex structural constraints and behavior in a software system. It provides a concise language base on first-order relational logic.</li> <li><a href="/wiki/Systems_Modeling_Language" class="mw-redirect" title="Systems Modeling Language">Systems Modeling Language</a> (SysML) is a new <a href="/wiki/General-purpose_modeling" title="General-purpose modeling">general-purpose modeling</a> language for systems engineering.</li> <li><a href="/wiki/Service-oriented_modeling#Service-oriented_modeling_framework" title="Service-oriented modeling">Service-oriented modeling framework (SOMF)</a><sup id="cite_ref-Bell_9-0" class="reference"><a href="#cite_note-Bell-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Design_patterns">Design patterns</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=9" title="Edit section: Design patterns"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A software designer may identify a design aspect which has been visited and perhaps even solved by others in the past. A template or pattern describing a solution to a common problem is known as a <a href="/wiki/Design_pattern_(computer_science)" class="mw-redirect" title="Design pattern (computer science)">design pattern</a>. The reuse of such patterns can increase software development velocity.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Code_as_design">Code as design</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=10" title="Edit section: Code as design"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The difficulty of using the term "design" in relation to software is that in some senses, the source code of a program <i>is</i> the design for the program that it produces. To the extent that this is true, "software design" refers to the design of the design. <a href="/wiki/Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Edsger W. Dijkstra</a> referred to this layering of semantic levels as the "radical novelty" of computer programming,<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> and <a href="/wiki/Donald_Knuth" title="Donald Knuth">Donald Knuth</a> used his experience writing <a href="/wiki/TeX" title="TeX">TeX</a> to describe the futility of attempting to design a program prior to implementing it: </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"> <p>T<sub>E</sub>X would have been a complete failure if I had merely specified it and not participated fully in its initial implementation. The process of implementation constantly led me to unanticipated questions and to new insights about how the original specifications could be improved.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> </p> </blockquote> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=11" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" decoding="async" width="30" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span></div> <div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Software_design" class="extiw" title="commons:Category:Software design">Software design</a></span>.</div></div> </div> <ul><li><a href="/wiki/Aspect-oriented_software_development" class="mw-redirect" title="Aspect-oriented software development">Aspect-oriented software development</a></li> <li><a href="/wiki/Design" title="Design">Design</a></li> <li><a href="/wiki/Design_rationale" title="Design rationale">Design rationale</a></li> <li><a href="/wiki/Graphic_design" title="Graphic design">Graphic design</a></li> <li><a href="/wiki/Interaction_design" title="Interaction design">Interaction design</a></li> <li><a href="/wiki/Icon_design" title="Icon design">Icon design</a></li> <li><a href="/wiki/Outline_of_software" title="Outline of software">Outline of software</a></li> <li><a href="/wiki/Outline_of_software_development" title="Outline of software development">Outline of software development</a></li> <li><a href="/wiki/Outline_of_software_engineering" title="Outline of software engineering">Outline of software engineering</a></li> <li><a href="/wiki/Search-based_software_engineering" title="Search-based software engineering">Search-based software engineering</a></li> <li><a href="/wiki/Software_Design_Description" class="mw-redirect" title="Software Design Description">Software Design Description</a> (IEEE 1016)</li> <li><a href="/wiki/Software_development" title="Software development">Software development</a></li> <li><a href="/wiki/User_experience" title="User experience">User experience</a></li> <li><a href="/wiki/User_interface_design" title="User interface design">User interface design</a></li> <li><a href="/wiki/Web_design" title="Web design">Web design</a></li> <li><a href="/wiki/Zero_One_Infinity" class="mw-redirect" title="Zero One Infinity">Zero One Infinity</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Software_design&amp;action=edit&amp;section=12" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Ralph, P. and Wand, Y. (2009). A proposal for a formal definition of the design concept. In Lyytinen, K., Loucopoulos, P., <a href="/wiki/John_Mylopoulos" title="John Mylopoulos">Mylopoulos, J.</a>, and Robinson, W., editors, Design Requirements Workshop (LNBIP 14), pp. 103–136. Springer-Verlag, p. 109 <style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-92966-6_6">10.1007/978-3-540-92966-6_6</a>.</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFreemanDavid_Hart2004" class="citation journal cs1">Freeman, Peter; David Hart (2004). "A Science of design for software-intensive systems". <i>Communications of the ACM</i>. <b>47</b> (8): 19–21 [20]. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1012037.1012054">10.1145/1012037.1012054</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14331332">14331332</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Communications+of+the+ACM&amp;rft.atitle=A+Science+of+design+for+software-intensive+systems&amp;rft.volume=47&amp;rft.issue=8&amp;rft.pages=19-21+20&amp;rft.date=2004&amp;rft_id=info%3Adoi%2F10.1145%2F1012037.1012054&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A14331332%23id-name%3DS2CID&amp;rft.aulast=Freeman&amp;rft.aufirst=Peter&amp;rft.au=David+Hart&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Ralph, P., and Wand, Y. A Proposal for a Formal Definition of the Design Concept. In, Lyytinen, K., Loucopoulos, P., Mylopoulos, J., and Robinson, W., (eds.), Design Requirements Engineering: A Ten-Year Perspective: Springer-Verlag, 2009, pp. 103-136</span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Davis, A:"201 Principles of Software Development", McGraw Hill, 1995.</span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBooch2004" class="citation book cs1">Booch, Grady; et&#160;al. (2004). <a rel="nofollow" class="external text" href="http://dl.acm.org/citation.cfm?id=975416"><i>Object-Oriented Analysis and Design with Applications</i></a> (3rd&#160;ed.). MA, US: Addison Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-89551-X" title="Special:BookSources/0-201-89551-X"><bdi>0-201-89551-X</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">30 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Object-Oriented+Analysis+and+Design+with+Applications&amp;rft.place=MA%2C+US&amp;rft.edition=3rd&amp;rft.pub=Addison+Wesley&amp;rft.date=2004&amp;rft.isbn=0-201-89551-X&amp;rft.aulast=Booch&amp;rft.aufirst=Grady&amp;rft_id=http%3A%2F%2Fdl.acm.org%2Fcitation.cfm%3Fid%3D975416&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSuryanarayana2014" class="citation book cs1">Suryanarayana, Girish (November 2014). <i>Refactoring for Software Design Smells</i>. Morgan Kaufmann. p.&#160;258. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0128013977" title="Special:BookSources/978-0128013977"><bdi>978-0128013977</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Refactoring+for+Software+Design+Smells&amp;rft.pages=258&amp;rft.pub=Morgan+Kaufmann&amp;rft.date=2014-11&amp;rft.isbn=978-0128013977&amp;rft.aulast=Suryanarayana&amp;rft.aufirst=Girish&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCarroll1995" class="citation book cs1">Carroll, John, ed. (1995). <i>Scenario-Based Design: Envisioning Work and Technology in System Development</i>. New York: John Wiley &amp; Sons. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0471076597" title="Special:BookSources/0471076597"><bdi>0471076597</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Scenario-Based+Design%3A+Envisioning+Work+and+Technology+in+System+Development&amp;rft.place=New+York&amp;rft.pub=John+Wiley+%26+Sons&amp;rft.date=1995&amp;rft.isbn=0471076597&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><i>Building Serverless Applications on Knative</i>. O'Reilly Media. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781098142049" title="Special:BookSources/9781098142049"><bdi>9781098142049</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Building+Serverless+Applications+on+Knative&amp;rft.pub=O%27Reilly+Media&amp;rft.isbn=9781098142049&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-Bell-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Bell_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBell2008" class="citation book cs1">Bell, Michael (2008). "Introduction to Service-Oriented Modeling". <i>Service-Oriented Modeling: Service Analysis, Design, and Architecture</i>. Wiley &amp; Sons. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-470-14111-3" title="Special:BookSources/978-0-470-14111-3"><bdi>978-0-470-14111-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Introduction+to+Service-Oriented+Modeling&amp;rft.btitle=Service-Oriented+Modeling%3A+Service+Analysis%2C+Design%2C+and+Architecture&amp;rft.pub=Wiley+%26+Sons&amp;rft.date=2008&amp;rft.isbn=978-0-470-14111-3&amp;rft.aulast=Bell&amp;rft.aufirst=Michael&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJudith_Bishop" class="citation web cs1">Judith Bishop. <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/vstudio/ff729657">"C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems"</a>. C# Books from O'Reilly Media<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-05-15</span></span>. <q>If you want to speed up the development of your .NET applications, you're ready for C# design patterns -- elegant, accepted and proven ways to tackle common programming problems.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=C%23+3.0+Design+Patterns%3A+Use+the+Power+of+C%23+3.0+to+Solve+Real-World+Problems&amp;rft.pub=C%23+Books+from+O%27Reilly+Media&amp;rft.au=Judith+Bishop&amp;rft_id=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Fvstudio%2Fff729657&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDijkstra1988" class="citation web cs1"><a href="/wiki/Edsger_Dijkstra" class="mw-redirect" title="Edsger Dijkstra">Dijkstra, E. W.</a> (1988). <a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html">"On the cruelty of really teaching computing science"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=On+the+cruelty+of+really+teaching+computing+science&amp;rft.date=1988&amp;rft.aulast=Dijkstra&amp;rft.aufirst=E.+W.&amp;rft_id=http%3A%2F%2Fwww.cs.utexas.edu%2F~EWD%2Ftranscriptions%2FEWD10xx%2FEWD1036.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKnuth1989" class="citation web cs1"><a href="/wiki/Donald_Knuth" title="Donald Knuth">Knuth, Donald E.</a> (1989). <a rel="nofollow" class="external text" href="http://www.tug.org/TUGboat/tb10-4/tb26knut.pdf">"Notes on the Errors of TeX"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Notes+on+the+Errors+of+TeX&amp;rft.date=1989&amp;rft.aulast=Knuth&amp;rft.aufirst=Donald+E.&amp;rft_id=http%3A%2F%2Fwww.tug.org%2FTUGboat%2Ftb10-4%2Ftb26knut.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span></span> </li> </ol></div></div> <p><a class="mw-selflink-fragment" href="#Design_Principles">^</a><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRoger_S._Pressman2001" class="citation book cs1">Roger S. Pressman (2001). <i>Software engineering: a practitioner's approach</i>. McGraw-Hill. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-07-365578-3" title="Special:BookSources/0-07-365578-3"><bdi>0-07-365578-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Software+engineering%3A+a+practitioner%27s+approach&amp;rft.pub=McGraw-Hill&amp;rft.date=2001&amp;rft.isbn=0-07-365578-3&amp;rft.au=Roger+S.+Pressman&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ASoftware+design" class="Z3988"></span> </p> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Computer_science" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Computer_science" title="Template:Computer science"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Computer_science" title="Template talk:Computer science"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Computer_science" title="Special:EditPage/Template:Computer science"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Computer_science" style="font-size:114%;margin:0 4em"><a href="/wiki/Computer_science" title="Computer science">Computer science</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>Note: This template roughly follows the 2012 <a href="/wiki/ACM_Computing_Classification_System" title="ACM Computing Classification System">ACM Computing Classification System</a>.</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_hardware" title="Computer hardware">Hardware</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Printed_circuit_board" title="Printed circuit board">Printed circuit board</a></li> <li><a href="/wiki/Peripheral" title="Peripheral">Peripheral</a></li> <li><a href="/wiki/Integrated_circuit" title="Integrated circuit">Integrated circuit</a></li> <li><a href="/wiki/Very_Large_Scale_Integration" class="mw-redirect" title="Very Large Scale Integration">Very Large Scale Integration</a></li> <li><a href="/wiki/System_on_a_chip" title="System on a chip">Systems on Chip (SoCs)</a></li> <li><a href="/wiki/Green_computing" title="Green computing">Energy consumption (Green computing)</a></li> <li><a href="/wiki/Electronic_design_automation" title="Electronic design automation">Electronic design automation</a></li> <li><a href="/wiki/Hardware_acceleration" title="Hardware acceleration">Hardware acceleration</a></li> <li><a href="/wiki/Processor_(computing)" title="Processor (computing)">Processor</a></li> <li><a href="/wiki/List_of_computer_size_categories" title="List of computer size categories">Size</a> / <a href="/wiki/Form_factor_(design)" title="Form factor (design)">Form</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Computer systems organization</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_architecture" title="Computer architecture">Computer architecture</a></li> <li><a href="/wiki/Computational_complexity" title="Computational complexity">Computational complexity</a></li> <li><a href="/wiki/Dependability" title="Dependability">Dependability</a></li> <li><a href="/wiki/Embedded_system" title="Embedded system">Embedded system</a></li> <li><a href="/wiki/Real-time_computing" title="Real-time computing">Real-time computing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_network" title="Computer network">Networks</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Network_architecture" title="Network architecture">Network architecture</a></li> <li><a href="/wiki/Network_protocol" class="mw-redirect" title="Network protocol">Network protocol</a></li> <li><a href="/wiki/Networking_hardware" title="Networking hardware">Network components</a></li> <li><a href="/wiki/Network_scheduler" title="Network scheduler">Network scheduler</a></li> <li><a href="/wiki/Network_performance" title="Network performance">Network performance evaluation</a></li> <li><a href="/wiki/Network_service" title="Network service">Network service</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Software organization</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">Interpreter</a></li> <li><a href="/wiki/Middleware" title="Middleware">Middleware</a></li> <li><a href="/wiki/Virtual_machine" title="Virtual machine">Virtual machine</a></li> <li><a href="/wiki/Operating_system" title="Operating system">Operating system</a></li> <li><a href="/wiki/Software_quality" title="Software quality">Software quality</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Programming_language_theory" title="Programming language theory">Software notations</a> and <a href="/wiki/Programming_tool" title="Programming tool">tools</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Programming_paradigm" title="Programming paradigm">Programming paradigm</a></li> <li><a href="/wiki/Programming_language" title="Programming language">Programming language</a></li> <li><a href="/wiki/Compiler_construction" class="mw-redirect" title="Compiler construction">Compiler</a></li> <li><a href="/wiki/Domain-specific_language" title="Domain-specific language">Domain-specific language</a></li> <li><a href="/wiki/Modeling_language" title="Modeling language">Modeling language</a></li> <li><a href="/wiki/Software_framework" title="Software framework">Software framework</a></li> <li><a href="/wiki/Integrated_development_environment" title="Integrated development environment">Integrated development environment</a></li> <li><a href="/wiki/Software_configuration_management" title="Software configuration management">Software configuration management</a></li> <li><a href="/wiki/Library_(computing)" title="Library (computing)">Software library</a></li> <li><a href="/wiki/Software_repository" title="Software repository">Software repository</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Software_development" title="Software development">Software development</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Control_variable_(programming)" class="mw-redirect" title="Control variable (programming)">Control variable</a></li> <li><a href="/wiki/Software_development_process" title="Software development process">Software development process</a></li> <li><a href="/wiki/Requirements_analysis" title="Requirements analysis">Requirements analysis</a></li> <li><a class="mw-selflink selflink">Software design</a></li> <li><a href="/wiki/Software_construction" title="Software construction">Software construction</a></li> <li><a href="/wiki/Software_deployment" title="Software deployment">Software deployment</a></li> <li><a href="/wiki/Software_engineering" title="Software engineering">Software engineering</a></li> <li><a href="/wiki/Software_maintenance" title="Software maintenance">Software maintenance</a></li> <li><a href="/wiki/Programming_team" title="Programming team">Programming team</a></li> <li><a href="/wiki/Open-source_software" title="Open-source software">Open-source model</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Theory_of_computation" title="Theory of computation">Theory of computation</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Model_of_computation" title="Model of computation">Model of computation</a> <ul><li><a href="/wiki/Stochastic_computing" title="Stochastic computing">Stochastic</a></li></ul></li> <li><a href="/wiki/Formal_language" title="Formal language">Formal language</a></li> <li><a href="/wiki/Automata_theory" title="Automata theory">Automata theory</a></li> <li><a href="/wiki/Computability_theory" title="Computability theory">Computability theory</a></li> <li><a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">Computational complexity theory</a></li> <li><a href="/wiki/Logic_in_computer_science" title="Logic in computer science">Logic</a></li> <li><a href="/wiki/Semantics_(computer_science)" title="Semantics (computer science)">Semantics</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Algorithm" title="Algorithm">Algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Algorithm_design" class="mw-redirect" title="Algorithm design">Algorithm design</a></li> <li><a href="/wiki/Analysis_of_algorithms" title="Analysis of algorithms">Analysis of algorithms</a></li> <li><a href="/wiki/Algorithmic_efficiency" title="Algorithmic efficiency">Algorithmic efficiency</a></li> <li><a href="/wiki/Randomized_algorithm" title="Randomized algorithm">Randomized algorithm</a></li> <li><a href="/wiki/Computational_geometry" title="Computational geometry">Computational geometry</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mathematics of <a href="/wiki/Computing" title="Computing">computing</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Discrete_mathematics" title="Discrete mathematics">Discrete mathematics</a></li> <li><a href="/wiki/Probability" title="Probability">Probability</a></li> <li><a href="/wiki/Statistics" title="Statistics">Statistics</a></li> <li><a href="/wiki/Mathematical_software" title="Mathematical software">Mathematical software</a></li> <li><a href="/wiki/Information_theory" title="Information theory">Information theory</a></li> <li><a href="/wiki/Mathematical_analysis" title="Mathematical analysis">Mathematical analysis</a></li> <li><a href="/wiki/Numerical_analysis" title="Numerical analysis">Numerical analysis</a></li> <li><a href="/wiki/Theoretical_computer_science" title="Theoretical computer science">Theoretical computer science</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Information_system" title="Information system">Information systems</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Database" title="Database">Database management system</a></li> <li><a href="/wiki/Computer_data_storage" title="Computer data storage">Information storage systems</a></li> <li><a href="/wiki/Enterprise_information_system" title="Enterprise information system">Enterprise information system</a></li> <li><a href="/wiki/Social_software" title="Social software">Social information systems</a></li> <li><a href="/wiki/Geographic_information_system" title="Geographic information system">Geographic information system</a></li> <li><a href="/wiki/Decision_support_system" title="Decision support system">Decision support system</a></li> <li><a href="/wiki/Process_control" class="mw-redirect" title="Process control">Process control system</a></li> <li><a href="/wiki/Multimedia_database" title="Multimedia database">Multimedia information system</a></li> <li><a href="/wiki/Data_mining" title="Data mining">Data mining</a></li> <li><a href="/wiki/Digital_library" title="Digital library">Digital library</a></li> <li><a href="/wiki/Computing_platform" title="Computing platform">Computing platform</a></li> <li><a href="/wiki/Digital_marketing" title="Digital marketing">Digital marketing</a></li> <li><a href="/wiki/World_Wide_Web" title="World Wide Web">World Wide Web</a></li> <li><a href="/wiki/Information_retrieval" title="Information retrieval">Information retrieval</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_security" title="Computer security">Security</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Cryptography" title="Cryptography">Cryptography</a></li> <li><a href="/wiki/Formal_methods" title="Formal methods">Formal methods</a></li> <li><a href="/wiki/Security_hacker" title="Security hacker">Security hacker</a></li> <li><a href="/wiki/Security_service_(telecommunication)" title="Security service (telecommunication)">Security services</a></li> <li><a href="/wiki/Intrusion_detection_system" title="Intrusion detection system">Intrusion detection system</a></li> <li><a href="/wiki/Hardware_security" title="Hardware security">Hardware security</a></li> <li><a href="/wiki/Network_security" title="Network security">Network security</a></li> <li><a href="/wiki/Information_security" title="Information security">Information security</a></li> <li><a href="/wiki/Application_security" title="Application security">Application security</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Human%E2%80%93computer_interaction" title="Human–computer interaction">Human–computer interaction</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Interaction_design" title="Interaction design">Interaction design</a></li> <li><a href="/wiki/Social_computing" title="Social computing">Social computing</a></li> <li><a href="/wiki/Ubiquitous_computing" title="Ubiquitous computing">Ubiquitous computing</a></li> <li><a href="/wiki/Visualization_(graphics)" title="Visualization (graphics)">Visualization</a></li> <li><a href="/wiki/Computer_accessibility" title="Computer accessibility">Accessibility</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Concurrency_(computer_science)" title="Concurrency (computer science)">Concurrency</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Concurrent_computing" title="Concurrent computing">Concurrent computing</a></li> <li><a href="/wiki/Parallel_computing" title="Parallel computing">Parallel computing</a></li> <li><a href="/wiki/Distributed_computing" title="Distributed computing">Distributed computing</a></li> <li><a href="/wiki/Multithreading_(computer_architecture)" title="Multithreading (computer architecture)">Multithreading</a></li> <li><a href="/wiki/Multiprocessing" title="Multiprocessing">Multiprocessing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Artificial_intelligence" title="Artificial intelligence">Artificial intelligence</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Natural_language_processing" title="Natural language processing">Natural language processing</a></li> <li><a href="/wiki/Knowledge_representation_and_reasoning" title="Knowledge representation and reasoning">Knowledge representation and reasoning</a></li> <li><a href="/wiki/Computer_vision" title="Computer vision">Computer vision</a></li> <li><a href="/wiki/Automated_planning_and_scheduling" title="Automated planning and scheduling">Automated planning and scheduling</a></li> <li><a href="/wiki/Mathematical_optimization" title="Mathematical optimization">Search methodology</a></li> <li><a href="/wiki/Control_theory" title="Control theory">Control method</a></li> <li><a href="/wiki/Philosophy_of_artificial_intelligence" title="Philosophy of artificial intelligence">Philosophy of artificial intelligence</a></li> <li><a href="/wiki/Distributed_artificial_intelligence" title="Distributed artificial intelligence">Distributed artificial intelligence</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Machine_learning" title="Machine learning">Machine learning</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Supervised_learning" title="Supervised learning">Supervised learning</a></li> <li><a href="/wiki/Unsupervised_learning" title="Unsupervised learning">Unsupervised learning</a></li> <li><a href="/wiki/Reinforcement_learning" title="Reinforcement learning">Reinforcement learning</a></li> <li><a href="/wiki/Multi-task_learning" title="Multi-task learning">Multi-task learning</a></li> <li><a href="/wiki/Cross-validation_(statistics)" title="Cross-validation (statistics)">Cross-validation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computer_graphics" title="Computer graphics">Graphics</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_animation" title="Computer animation">Animation</a></li> <li><a href="/wiki/Rendering_(computer_graphics)" title="Rendering (computer graphics)">Rendering</a></li> <li><a href="/wiki/Photograph_manipulation" title="Photograph manipulation">Photograph manipulation</a></li> <li><a href="/wiki/Graphics_processing_unit" title="Graphics processing unit">Graphics processing unit</a></li> <li><a href="/wiki/Mixed_reality" title="Mixed reality">Mixed reality</a></li> <li><a href="/wiki/Virtual_reality" title="Virtual reality">Virtual reality</a></li> <li><a href="/wiki/Image_compression" title="Image compression">Image compression</a></li> <li><a href="/wiki/Solid_modeling" title="Solid modeling">Solid modeling</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Applied computing</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Quantum_Computing" class="mw-redirect" title="Quantum Computing">Quantum Computing</a></li> <li><a href="/wiki/E-commerce" title="E-commerce">E-commerce</a></li> <li><a href="/wiki/Enterprise_software" title="Enterprise software">Enterprise software</a></li> <li><a href="/wiki/Computational_mathematics" title="Computational mathematics">Computational mathematics</a></li> <li><a href="/wiki/Computational_physics" title="Computational physics">Computational physics</a></li> <li><a href="/wiki/Computational_chemistry" title="Computational chemistry">Computational chemistry</a></li> <li><a href="/wiki/Computational_biology" title="Computational biology">Computational biology</a></li> <li><a href="/wiki/Computational_social_science" title="Computational social science">Computational social science</a></li> <li><a href="/wiki/Computational_engineering" title="Computational engineering">Computational engineering</a></li> <li><a href="/wiki/Template:Differentiable_computing" title="Template:Differentiable computing">Differentiable computing</a></li> <li><a href="/wiki/Health_informatics" title="Health informatics">Computational healthcare</a></li> <li><a href="/wiki/Digital_art" title="Digital art">Digital art</a></li> <li><a href="/wiki/Electronic_publishing" title="Electronic publishing">Electronic publishing</a></li> <li><a href="/wiki/Cyberwarfare" title="Cyberwarfare">Cyberwarfare</a></li> <li><a href="/wiki/Electronic_voting" title="Electronic voting">Electronic voting</a></li> <li><a href="/wiki/Video_game" title="Video game">Video games</a></li> <li><a href="/wiki/Word_processor" title="Word processor">Word processing</a></li> <li><a href="/wiki/Operations_research" title="Operations research">Operations research</a></li> <li><a href="/wiki/Educational_technology" title="Educational technology">Educational technology</a></li> <li><a href="/wiki/Document_management_system" title="Document management system">Document management</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Computer_science" title="Category:Computer science">Category</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Outline"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/41/Global_thinking.svg/10px-Global_thinking.svg.png" decoding="async" width="10" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/41/Global_thinking.svg/15px-Global_thinking.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/41/Global_thinking.svg/21px-Global_thinking.svg.png 2x" data-file-width="130" data-file-height="200" /></span></span> <a href="/wiki/Outline_of_computer_science" title="Outline of computer science">Outline</a></li> <li><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/e/e0/Symbol_question.svg/16px-Symbol_question.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/e/e0/Symbol_question.svg/23px-Symbol_question.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/e/e0/Symbol_question.svg/31px-Symbol_question.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Template:Glossaries_of_computers" title="Template:Glossaries of computers">Glossaries</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Software_engineering" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Software_engineering" title="Template:Software engineering"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Software_engineering" title="Template talk:Software engineering"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Software_engineering" title="Special:EditPage/Template:Software engineering"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Software_engineering" style="font-size:114%;margin:0 4em"><a href="/wiki/Software_engineering" title="Software engineering">Software engineering</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Fields</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_programming" title="Computer programming">Computer programming</a></li> <li><a href="/wiki/DevOps" title="DevOps">DevOps</a></li> <li><a href="/wiki/Empirical_software_engineering" title="Empirical software engineering">Empirical software engineering</a></li> <li><a href="/wiki/Experimental_software_engineering" title="Experimental software engineering">Experimental software engineering</a></li> <li><a href="/wiki/Formal_methods" title="Formal methods">Formal methods</a></li> <li><a href="/wiki/Requirements_engineering" title="Requirements engineering">Requirements engineering</a></li> <li><a href="/wiki/Search-based_software_engineering" title="Search-based software engineering">Search-based software engineering</a></li> <li><a href="/wiki/Site_reliability_engineering" title="Site reliability engineering">Site reliability engineering</a></li> <li><a href="/wiki/Social_software_engineering" title="Social software engineering">Social software engineering</a></li> <li><a href="/wiki/Software_deployment" title="Software deployment">Software deployment</a></li> <li><a class="mw-selflink selflink">Software design</a></li> <li><a href="/wiki/Software_maintenance" title="Software maintenance">Software maintenance</a></li> <li><a href="/wiki/Software_testing" title="Software testing">Software testing</a></li> <li><a href="/wiki/Systems_analysis" title="Systems analysis">Systems analysis</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Abstraction_(computer_science)" title="Abstraction (computer science)">Abstraction</a></li> <li><a href="/wiki/Component-based_software_engineering" title="Component-based software engineering">Component-based software engineering</a></li> <li><a href="/wiki/Computer_compatibility" title="Computer compatibility">Software compatibility</a> <ul><li><a href="/wiki/Backward_compatibility" title="Backward compatibility">Backward compatibility</a></li> <li><a href="/wiki/Compatibility_layer" title="Compatibility layer">Compatibility layer</a></li> <li><a href="/wiki/Compatibility_mode" title="Compatibility mode">Compatibility mode</a></li> <li><a href="/wiki/Forward_compatibility" title="Forward compatibility">Forward compatibility</a></li> <li><a href="/wiki/Software_incompatibility" title="Software incompatibility">Software incompatibility</a></li></ul></li> <li><a href="/wiki/Data_modeling" title="Data modeling">Data modeling</a></li> <li><a href="/wiki/Enterprise_architecture" title="Enterprise architecture">Enterprise architecture</a></li> <li><a href="/wiki/Functional_specification" title="Functional specification">Functional specification</a></li> <li><a href="/wiki/Modeling_language" title="Modeling language">Modeling language</a></li> <li><a href="/wiki/Programming_paradigm" title="Programming paradigm">Programming paradigm</a></li> <li><a href="/wiki/Software" title="Software">Software</a></li> <li><a href="/wiki/Software_archaeology" title="Software archaeology">Software archaeology</a></li> <li><a href="/wiki/Software_architecture" title="Software architecture">Software architecture</a></li> <li><a href="/wiki/Software_configuration_management" title="Software configuration management">Software configuration management</a></li> <li><a href="/wiki/Software_development_process" title="Software development process">Software development process/methodology</a></li> <li><a href="/wiki/Software_quality" title="Software quality">Software quality</a></li> <li><a href="/wiki/Software_quality_assurance" title="Software quality assurance">Software quality assurance</a></li> <li><a href="/wiki/Software_verification_and_validation" title="Software verification and validation">Software verification and validation</a></li> <li><a href="/wiki/Software_system" title="Software system">Software system</a></li> <li><a href="/wiki/Structured_analysis" title="Structured analysis">Structured analysis</a> <ul><li><a href="/wiki/Essential_systems_analysis" title="Essential systems analysis">Essential analysis</a></li></ul></li> <li><a href="/wiki/CI/CD" title="CI/CD">CI/CD</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Orientations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Agile_software_development" title="Agile software development">Agile</a></li> <li><a href="/wiki/Aspect-oriented_programming" title="Aspect-oriented programming">Aspect-oriented</a></li> <li><a href="/wiki/Object-oriented_programming" title="Object-oriented programming">Object orientation</a></li> <li><a href="/wiki/Ontology_(information_science)" title="Ontology (information science)">Ontology</a></li> <li><a href="/wiki/Service-oriented_architecture" title="Service-oriented architecture">Service orientation</a></li> <li><a href="/wiki/Systems_development_life_cycle" title="Systems development life cycle">SDLC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Models</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Developmental</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Agile_software_development" title="Agile software development">Agile</a></li> <li><a href="/wiki/Enterprise_unified_process" title="Enterprise unified process">EUP</a></li> <li><a href="/wiki/Executable_UML" title="Executable UML">Executable UML</a></li> <li><a href="/wiki/Incremental_build_model" title="Incremental build model">Incremental model</a></li> <li><a href="/wiki/Iterative_and_incremental_development" title="Iterative and incremental development">Iterative model</a></li> <li><a href="/wiki/Software_prototyping" title="Software prototyping">Prototype model</a></li> <li><a href="/wiki/Rapid_application_development" title="Rapid application development">RAD</a></li> <li><a href="/wiki/Unified_Process" class="mw-redirect" title="Unified Process">UP</a></li> <li><a href="/wiki/Scrum_(software_development)" title="Scrum (software development)">Scrum</a></li> <li><a href="/wiki/Spiral_model" title="Spiral model">Spiral model</a></li> <li><a href="/wiki/V-model_(software_development)" title="V-model (software development)">V-model</a></li> <li><a href="/wiki/Waterfall_model" title="Waterfall model">Waterfall model</a></li> <li><a href="/wiki/Extreme_programming" title="Extreme programming">XP</a></li> <li><a href="/wiki/Model-driven_engineering" title="Model-driven engineering">Model-driven engineering</a></li> <li><a href="/wiki/Round-trip_engineering" title="Round-trip engineering">Round-trip engineering</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ISO/IEC_15504" title="ISO/IEC 15504">SPICE</a></li> <li><a href="/wiki/Capability_Maturity_Model_Integration" title="Capability Maturity Model Integration">CMMI</a></li> <li><a href="/wiki/Data_model" title="Data model">Data model</a></li> <li><a href="/wiki/Entity%E2%80%93relationship_model" title="Entity–relationship model">ER model</a></li> <li><a href="/wiki/Function_model" title="Function model">Function model</a></li> <li><a href="/wiki/Information_model" title="Information model">Information model</a></li> <li><a href="/wiki/Metamodeling" title="Metamodeling">Metamodeling</a></li> <li><a href="/wiki/Object_model" title="Object model">Object model</a></li> <li><a href="/wiki/Systems_modeling" title="Systems modeling">Systems model</a></li> <li><a href="/wiki/View_model" title="View model">View model</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%;font-weight:normal;">Languages</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/IDEF" title="IDEF">IDEF</a></li> <li><a href="/wiki/Unified_Modeling_Language" title="Unified Modeling Language">UML</a></li> <li><a href="/wiki/Universal_Systems_Language" title="Universal Systems Language">USL</a></li> <li><a href="/wiki/Systems_modeling_language" title="Systems modeling language">SysML</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related fields</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_science" title="Computer science">Computer science</a></li> <li><a href="/wiki/Computer_engineering" title="Computer engineering">Computer engineering</a></li> <li><a href="/wiki/Information_science" title="Information science">Information science</a></li> <li><a href="/wiki/Project_management" title="Project management">Project management</a></li> <li><a href="/wiki/Risk_management" title="Risk management">Risk management</a></li> <li><a href="/wiki/Systems_engineering" title="Systems engineering">Systems engineering</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2" style="font-weight:bold;"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Commons page"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span> <a href="https://commons.wikimedia.org/wiki/Category:Software_engineering" class="extiw" title="commons:Category:Software engineering">Commons</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Software_engineering" title="Category:Software engineering">Category</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"><style data-mw-deduplicate="TemplateStyles:r1239334494">@media screen{html.skin-theme-clientpref-night .mw-parser-output div:not(.notheme)>.tmp-color,html.skin-theme-clientpref-night .mw-parser-output p>.tmp-color,html.skin-theme-clientpref-night .mw-parser-output table:not(.notheme) .tmp-color{color:inherit!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output div:not(.notheme)>.tmp-color,html.skin-theme-clientpref-os .mw-parser-output p>.tmp-color,html.skin-theme-clientpref-os .mw-parser-output table:not(.notheme) .tmp-color{color:inherit!important}}</style><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239334494"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239334494"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239334494"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239334494"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239334494"></div><div role="navigation" class="navbox" aria-labelledby="Design" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Design" title="Template:Design"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Design" title="Template talk:Design"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Design" title="Special:EditPage/Template:Design"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Design" style="font-size:114%;margin:0 4em"><a href="/wiki/Design" title="Design">Design</a></div></th></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div> <ul><li><a href="/wiki/Outline_of_design" title="Outline of design">Outline</a></li> <li><a href="/wiki/Designer" title="Designer">Designer</a></li></ul> </div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Disciplines" style="font-size:114%;margin:0 4em">Disciplines</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Communication_design" title="Communication design">Communication<br />design</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Advertising" title="Advertising">Advertising</a></li> <li><a href="/wiki/Book_design" title="Book design">Book design</a></li> <li><a href="/wiki/Brand" title="Brand">Brand design</a></li> <li><a href="/wiki/Exhibit_design" title="Exhibit design">Exhibit design</a></li> <li><a href="/wiki/Film_title_design" title="Film title design">Film title design</a></li> <li><a href="/wiki/Graphic_design" title="Graphic design">Graphic design</a> <ul><li><a href="/wiki/Motion_graphic_design" title="Motion graphic design">Motion</a></li> <li><a href="/wiki/Postage_stamp_design" title="Postage stamp design">Postage stamp design</a></li> <li><a href="/wiki/Print_design" title="Print design">Print design</a></li></ul></li> <li><a href="/wiki/Illustration" title="Illustration">Illustration</a></li> <li><a href="/wiki/Information_design" title="Information design">Information design</a></li> <li><a href="/wiki/Instructional_design" title="Instructional design">Instructional design</a></li> <li><a href="/wiki/News_design" title="News design">News design</a></li> <li><a href="/wiki/Photography" title="Photography">Photography</a></li> <li><a href="/wiki/Retail_design" title="Retail design">Retail design</a></li> <li><a href="/wiki/Signage" title="Signage">Signage</a>&#160;/&#32;<a href="/wiki/Traffic_sign_design" title="Traffic sign design">Traffic sign design</a></li> <li><a href="/wiki/Typography" title="Typography">Typography</a>&#160;/&#32;<a href="/wiki/Type_design" title="Type design">Type design</a></li> <li><a href="/wiki/Video_design" title="Video design">Video design</a></li> <li><a href="/wiki/Visual_merchandising" title="Visual merchandising">Visual merchandising</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Environmental_design" title="Environmental design">Environmental<br />design</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Architecture" title="Architecture">Architecture</a></li> <li><a href="/wiki/Architectural_lighting_design" title="Architectural lighting design">Architectural lighting design</a></li> <li><a href="/wiki/Building_design" title="Building design">Building design</a> <ul><li><a href="/wiki/Passive_solar_building_design" title="Passive solar building design">Passive solar</a></li></ul></li> <li><a href="/wiki/Ecological_design" title="Ecological design">Ecological design</a></li> <li><a href="/wiki/Environmental_impact_design" title="Environmental impact design">Environmental impact design</a></li> <li><a href="/wiki/Garden_design" title="Garden design">Garden design</a> <ul><li><a href="/wiki/Computer-aided_garden_design" title="Computer-aided garden design">Computer-aided</a></li></ul></li> <li><a href="/wiki/Healthy_community_design" title="Healthy community design">Healthy community design</a></li> <li><a href="/wiki/Hotel_design" title="Hotel design">Hotel design</a></li> <li><a href="/wiki/Interior_architecture" title="Interior architecture">Interior architecture</a></li> <li><a href="/wiki/Interior_design" title="Interior design">Interior design</a> <ul><li><a href="/wiki/Experiential_interior_design" title="Experiential interior design">EID</a></li></ul></li> <li><a href="/wiki/Keyline_design" title="Keyline design">Keyline design</a></li> <li><a href="/wiki/Landscape_architecture" title="Landscape architecture">Landscape architecture</a> <ul><li><a href="/wiki/Sustainable_landscape_architecture" title="Sustainable landscape architecture">Sustainable</a></li></ul></li> <li><a href="/wiki/Landscape_design" title="Landscape design">Landscape design</a></li> <li><a href="/wiki/Spatial_design" title="Spatial design">Spatial design</a></li> <li><a href="/wiki/Urban_design" title="Urban design">Urban design</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Industrial_design" title="Industrial design">Industrial<br />design</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Automotive_design" title="Automotive design">Automotive design</a></li> <li><a href="/wiki/Automotive_suspension_design_process" title="Automotive suspension design process">Automotive suspension design</a></li> <li><a href="/wiki/CMF_design" title="CMF design">CMF design</a></li> <li><a href="/wiki/Corrugated_box_design" title="Corrugated box design">Corrugated box design</a></li> <li><a href="/wiki/Electric_guitar_design" title="Electric guitar design">Electric guitar design</a></li> <li><a href="/wiki/Furniture" title="Furniture">Furniture design</a> <ul><li><a href="/wiki/Sustainable_furniture_design" title="Sustainable furniture design">Sustainable</a></li></ul></li> <li><a href="/wiki/Hardware_interface_design" title="Hardware interface design">Hardware interface design</a></li> <li><a href="/wiki/Motorcycle_design" title="Motorcycle design">Motorcycle design</a></li> <li><a href="/wiki/Packaging_and_labeling" class="mw-redirect" title="Packaging and labeling">Packaging and labeling</a></li> <li><a href="/wiki/Photographic_lens_design" title="Photographic lens design">Photographic lens design</a></li> <li><a href="/wiki/Product_design" title="Product design">Product design</a></li> <li><a href="/wiki/Production_designer" title="Production designer">Production design</a></li> <li><a href="/wiki/Sensory_design" title="Sensory design">Sensory design</a></li> <li><a href="/wiki/Service_design" title="Service design">Service design</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Interaction_design" title="Interaction design">Interaction<br />design</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Experience_design" class="mw-redirect" title="Experience design">Experience design</a> <ul><li><a href="/wiki/Employee_experience_design" title="Employee experience design">EED</a></li></ul></li> <li><a href="/wiki/Game_design" title="Game design">Game design</a> <ul><li><a href="/wiki/Level_(video_games)" title="Level (video games)">Level design</a></li> <li><a href="/wiki/Video_game_design" title="Video game design">Video game design</a></li></ul></li> <li><a href="/wiki/Hardware_interface_design" title="Hardware interface design">Hardware interface design</a></li> <li><a href="/wiki/Icon_design" title="Icon design">Icon design</a></li> <li><a href="/wiki/Immersive_design" title="Immersive design">Immersive design</a></li> <li><a href="/wiki/Information_design" title="Information design">Information design</a></li> <li><a href="/wiki/Sonic_interaction_design" title="Sonic interaction design">Sonic interaction design</a></li> <li><a href="/wiki/User_experience_design" title="User experience design">User experience design</a></li> <li><a href="/wiki/User_interface_design" title="User interface design">User interface design</a></li> <li><a href="/wiki/Web_design" title="Web design">Web design</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other<br /><a href="/wiki/Applied_arts" title="Applied arts">applied arts</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Public_art" title="Public art">Public art design</a></li> <li><a href="/wiki/Ceramic_art" title="Ceramic art">Ceramic</a>&#160;/&#32;<a href="/wiki/Glass_art" title="Glass art">glass design</a></li> <li><a href="/wiki/Fashion_design" title="Fashion design">Fashion design</a> <ul><li><a href="/wiki/Costume_design" title="Costume design">Costume design</a></li> <li><a href="/wiki/Jewellery_design" title="Jewellery design">Jewellery design</a></li></ul></li> <li><a href="/wiki/Floral_design" title="Floral design">Floral design</a></li> <li><a href="/wiki/Game_art_design" title="Game art design">Game art design</a></li> <li><a href="/wiki/Property_designer" class="mw-redirect" title="Property designer">Property design</a></li> <li><a href="/wiki/Scenic_design" title="Scenic design">Scenic design</a></li> <li><a href="/wiki/Sound_design" title="Sound design">Sound design</a></li> <li><a href="/wiki/Lighting_design" title="Lighting design">Stage/set lighting design</a></li> <li><a href="/wiki/Textile_design" title="Textile design">Textile design</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other<br />design<br />&amp; <a href="/wiki/Engineering" title="Engineering">engineering</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Algorithm_design" class="mw-redirect" title="Algorithm design">Algorithm design</a></li> <li><a href="/wiki/Behavioural_design" title="Behavioural design">Behavioural design</a></li> <li><a href="/wiki/Boiler_design" title="Boiler design">Boiler design</a></li> <li><a href="/wiki/Database_design" title="Database design">Database design</a></li> <li><a href="/wiki/Drug_design" title="Drug design">Drug design</a></li> <li><a href="/wiki/Electrical_system_design" title="Electrical system design">Electrical system design</a></li> <li><a href="/wiki/Design_of_experiments" title="Design of experiments">Experimental design</a></li> <li><a href="/wiki/Filter_design" title="Filter design">Filter design</a></li> <li><a href="/wiki/Geometric_design" title="Geometric design">Geometric design</a></li> <li><a href="/wiki/Work_design" title="Work design">Work design</a></li> <li><a href="/wiki/Integrated_circuit_design" title="Integrated circuit design">Integrated circuit design</a> <ul><li><a href="/wiki/Circuit_design" title="Circuit design">Circuit design</a></li> <li><a href="/wiki/Physical_design_(electronics)" title="Physical design (electronics)">Physical design</a></li> <li><a href="/wiki/Power_network_design_(IC)" title="Power network design (IC)">Power network design</a></li></ul></li> <li><a href="/wiki/Mechanism_design" title="Mechanism design">Mechanism design</a></li> <li><a href="/wiki/Nuclear_weapon_design" title="Nuclear weapon design">Nuclear weapon design</a></li> <li><a href="/wiki/Nucleic_acid_design" title="Nucleic acid design">Nucleic acid design</a></li> <li><a href="/wiki/Organizational_architecture" title="Organizational architecture">Organization design</a></li> <li><a href="/wiki/Process_design" title="Process design">Process design</a></li> <li><a href="/wiki/Processor_design" title="Processor design">Processor design</a></li> <li><a href="/wiki/Protein_design" title="Protein design">Protein design</a></li> <li><a href="/wiki/Research_design" title="Research design">Research design</a></li> <li><a href="/wiki/Social_design" title="Social design">Social design</a></li> <li><a class="mw-selflink selflink">Software design</a></li> <li><a href="/wiki/Spacecraft_design" title="Spacecraft design">Spacecraft design</a></li> <li><a href="/wiki/Strategic_design" title="Strategic design">Strategic design</a></li> <li><a href="/wiki/Systems_design" title="Systems design">Systems design</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Approaches" style="font-size:114%;margin:0 4em">Approaches</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Activity-centered_design" title="Activity-centered design">Activity-centered</a></li> <li><a href="/wiki/Adaptive_web_design" title="Adaptive web design">Adaptive web</a></li> <li><a href="/wiki/Affective_design" title="Affective design">Affective</a></li> <li><a href="/wiki/Brainstorming" title="Brainstorming">Brainstorming</a></li> <li><a href="/wiki/Design_by_committee" title="Design by committee">By committee</a></li> <li><a href="/wiki/Design_by_contract" title="Design by contract">By contract</a></li> <li><a href="/wiki/C-K_theory" title="C-K theory">C-K theory</a></li> <li><a href="/wiki/Design_closure" title="Design closure">Closure</a></li> <li><a href="/wiki/Participatory_design" title="Participatory design">Co-design</a></li> <li><a href="/w/index.php?title=Concept-oriented_design&amp;action=edit&amp;redlink=1" class="new" title="Concept-oriented design (page does not exist)">Concept-oriented</a></li> <li><a href="/wiki/Configuration_design" title="Configuration design">Configuration</a></li> <li><a href="/wiki/Contextual_design" title="Contextual design">Contextual</a></li> <li><a href="/wiki/Continuous_design" title="Continuous design">Continuous</a></li> <li><a href="/wiki/Cradle-to-cradle_design" title="Cradle-to-cradle design">Cradle-to-cradle</a></li> <li><a href="/wiki/Creative_problem-solving" title="Creative problem-solving">Creative problem-solving</a></li> <li><a href="/wiki/Creativity_techniques" title="Creativity techniques">Creativity techniques</a></li> <li><a href="/wiki/Critical_design" title="Critical design">Critical</a> <ul><li><a href="/wiki/Design_fiction" title="Design fiction">Design fiction</a></li></ul></li> <li><a href="/wiki/Defensive_design" title="Defensive design">Defensive</a></li> <li><a href="/wiki/Design%E2%80%93bid%E2%80%93build" title="Design–bid–build">Design–bid–build</a></li> <li><a href="/wiki/Design%E2%80%93build" title="Design–build">Design–build</a> <ul><li><a href="/wiki/Architect-led_design%E2%80%93build" class="mw-redirect" title="Architect-led design–build">architect-led</a></li></ul></li> <li><a href="/wiki/Diffuse_design" title="Diffuse design">Diffuse</a></li> <li><a href="/wiki/Domain-driven_design" title="Domain-driven design">Domain-driven</a></li> <li><a href="/wiki/Ecological_design" title="Ecological design">Ecological design</a></li> <li><a href="/wiki/Energy_neutral_design" title="Energy neutral design">Energy neutral</a></li> <li><a href="/wiki/Engineering_design_process" title="Engineering design process">Engineering design process</a> <ul><li><a href="/wiki/Probabilistic_design" title="Probabilistic design">Probabilistic design</a></li></ul></li> <li><a href="/wiki/Error-tolerant_design" title="Error-tolerant design">Error-tolerant</a></li> <li><a href="/wiki/Fault-tolerant_design" class="mw-redirect" title="Fault-tolerant design">Fault-tolerant</a></li> <li><a href="/wiki/Framework-oriented_design" title="Framework-oriented design">Framework-oriented</a></li> <li><a href="/wiki/Design_for_assembly" title="Design for assembly">For assembly</a></li> <li><a href="/wiki/Behavioural_design" title="Behavioural design">For behaviour change</a></li> <li><a href="/wiki/Design_for_manufacturability" title="Design for manufacturability">For manufacturability</a></li> <li><a href="/wiki/Design_for_Six_Sigma" title="Design for Six Sigma">For Six Sigma</a></li> <li><a href="/wiki/Design_for_testing" title="Design for testing">For testing</a></li> <li><a href="/wiki/Design_for_X" title="Design for X">For X</a></li> <li><a href="/wiki/Functional_design" title="Functional design">Functional</a></li> <li><a href="/wiki/Generative_design" title="Generative design">Generative</a></li> <li><a href="/wiki/Geodesign" title="Geodesign">Geodesign</a></li> <li><a href="/wiki/Human-centered_design" title="Human-centered design">HCD</a></li> <li><a href="/wiki/High-level_design" title="High-level design">High-level</a></li> <li><a href="/wiki/Inclusive_design" title="Inclusive design">Inclusive</a></li> <li><a href="/wiki/Integrated_design" title="Integrated design">Integrated</a></li> <li><a href="/wiki/Integrated_topside_design" title="Integrated topside design">Integrated topside</a></li> <li><a href="/wiki/Intelligence-based_design" title="Intelligence-based design">Intelligence-based</a></li> <li><a href="/wiki/Iterative_design" title="Iterative design">Iterative</a></li> <li><a href="/wiki/KISS_principle" title="KISS principle">KISS principle</a></li> <li><a href="/wiki/Low-level_design" title="Low-level design">Low-level</a></li> <li><a href="/wiki/Metadesign" title="Metadesign">Metadesign</a></li> <li><a href="/wiki/Mind_map" title="Mind map">Mind mapping</a></li> <li><a href="/wiki/Modular_design" title="Modular design">Modular</a></li> <li><a href="/wiki/New_Wave_(design)" title="New Wave (design)">New Wave</a></li> <li><a href="/wiki/Object-oriented_design" class="mw-redirect" title="Object-oriented design">Object-oriented</a></li> <li><a href="/wiki/Open-design_movement" title="Open-design movement">Open</a></li> <li><a href="/wiki/Parametric_design" title="Parametric design">Parametric</a></li> <li><a href="/wiki/Participatory_design" title="Participatory design">Participatory</a></li> <li><a href="/wiki/Platform-based_design" title="Platform-based design">Platform-based</a></li> <li><a href="/wiki/Policy-based_design" class="mw-redirect" title="Policy-based design">Policy-based</a></li> <li><a href="/wiki/Process-centered_design" title="Process-centered design">Process-centered</a></li> <li><a href="/wiki/Public_interest_design" title="Public interest design">Public interest</a></li> <li><a href="/wiki/Rational_design" title="Rational design">Rational</a></li> <li><a href="/wiki/Regenerative_design" title="Regenerative design">Regenerative</a></li> <li><a href="/wiki/Reliability_engineering" title="Reliability engineering">Reliability engineering</a></li> <li><a href="/wiki/Research-based_design" title="Research-based design">Research-based</a></li> <li><a href="/wiki/Responsibility-driven_design" title="Responsibility-driven design">Responsibility-driven</a></li> <li><a href="/wiki/Responsive_web_design" title="Responsive web design">RWD</a></li> <li><a href="/wiki/Safe-life_design" title="Safe-life design">Safe-life</a></li> <li><a href="/wiki/Sustainable_design" title="Sustainable design">Sustainable</a></li> <li><a href="/wiki/Systemic_design" title="Systemic design">Systemic</a> <ul><li><a href="/wiki/Systems-oriented_design" title="Systems-oriented design">SOD</a></li></ul></li> <li><a href="/wiki/Tableless_web_design" title="Tableless web design">Tableless web</a></li> <li><a href="/wiki/Theory_of_constraints" title="Theory of constraints">Theory of constraints</a></li> <li><a href="/wiki/Top-down_and_bottom-up_design" class="mw-redirect" title="Top-down and bottom-up design">Top-down and bottom-up</a></li> <li><a href="/wiki/Transformation_design" title="Transformation design">Transformation</a></li> <li><a href="/wiki/Transgenerational_design" title="Transgenerational design">Transgenerational</a></li> <li><a href="/wiki/TRIZ" title="TRIZ">TRIZ</a></li> <li><a href="/wiki/Universal_design" title="Universal design">Universal</a> <ul><li><a href="/wiki/Design_for_All_(in_ICT)" title="Design for All (in ICT)">Design for All</a></li></ul></li> <li><a href="/wiki/Usage-centered_design" title="Usage-centered design">Usage-centered</a></li> <li><a href="/wiki/Use-centered_design" title="Use-centered design">Use-centered</a></li> <li><a href="/wiki/User-centered_design" title="User-centered design">User-centered</a> <ul><li><a href="/wiki/Empathic_design" title="Empathic design">Empathic</a></li></ul></li> <li><a href="/wiki/User_innovation" title="User innovation">User innovation</a></li> <li><a href="/wiki/Value-driven_design" title="Value-driven design">Value-driven</a></li> <li><a href="/wiki/Value_sensitive_design" title="Value sensitive design">Value sensitive</a> <ul><li><a href="/wiki/Privacy_by_design" title="Privacy by design">Privacy by</a></li></ul></li></ul> <ul><li>Design <a href="/wiki/Design_choice" title="Design choice">choice</a></li> <li><a href="/wiki/Design_computing" title="Design computing">computing</a></li> <li><a href="/wiki/Design_controls" title="Design controls">controls</a></li> <li><a href="/wiki/Design_culture" title="Design culture">culture</a></li> <li><a href="/wiki/Design_flow_(EDA)" title="Design flow (EDA)">flow</a></li> <li><a href="/wiki/Design_leadership" title="Design leadership">leadership</a></li> <li><a href="/wiki/Design_management" title="Design management">management</a></li> <li><a href="/wiki/Design_marker" title="Design marker">marker</a></li> <li><a href="/wiki/Design_methods" title="Design methods">methods</a></li> <li><a href="/wiki/Design_pattern" title="Design pattern">pattern</a></li> <li><a href="/wiki/Design_research" title="Design research">research</a></li> <li><a href="/wiki/Design_science" title="Design science">science</a></li> <li><a href="/wiki/Design_sprint" title="Design sprint">sprint</a></li> <li><a href="/wiki/Design_strategy" class="mw-redirect" title="Design strategy">strategy</a></li> <li><a href="/wiki/Design_theory" title="Design theory">theory</a></li> <li><a href="/wiki/Design_thinking" title="Design thinking">thinking</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="ToolsIntellectual_propertyOrganizationsAwards" style="font-size:114%;margin:0 4em"><div class="hlist"><ul><li>Tools</li><li>Intellectual property</li><li>Organizations</li><li>Awards</li></ul></div></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Design_tool" title="Design tool">Tools</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Algorithms-Aided_Design" title="Algorithms-Aided Design">AAD</a></li> <li><a href="/wiki/Architectural_model" title="Architectural model">Architectural model</a></li> <li><a href="/wiki/Blueprint" title="Blueprint">Blueprint</a></li> <li><a href="/wiki/Comprehensive_layout" title="Comprehensive layout">Comprehensive layout</a></li> <li><a href="/wiki/Computer-aided_design" title="Computer-aided design">CAD</a> <ul><li><a href="/wiki/Computer-aided_industrial_design" title="Computer-aided industrial design">CAID</a></li> <li><a href="/wiki/Virtual_home_design_software" title="Virtual home design software">Virtual home design software</a></li></ul></li> <li><a href="/wiki/Computer-automated_design" title="Computer-automated design">CAutoD</a></li> <li><a href="/wiki/Design_quality_indicator" title="Design quality indicator">Design quality indicator</a></li> <li><a href="/wiki/Electronic_design_automation" title="Electronic design automation">Electronic design automation</a></li> <li><a href="/wiki/Flowchart" title="Flowchart">Flowchart</a></li> <li><a href="/wiki/Mockup" title="Mockup">Mockup</a></li> <li><a href="/wiki/Design_specification" title="Design specification">Design specification</a></li> <li><a href="/wiki/Prototype" title="Prototype">Prototype</a></li> <li><a href="/wiki/Sketch_(drawing)" title="Sketch (drawing)">Sketch</a></li> <li><a href="/wiki/Storyboard" title="Storyboard">Storyboard</a></li> <li><a href="/wiki/Technical_drawing" title="Technical drawing">Technical drawing</a></li> <li><a href="/wiki/HTML_editor" title="HTML editor">HTML editor</a></li> <li><a href="/wiki/Website_wireframe" title="Website wireframe">Website wireframe</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Intellectual<br />property</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Community_design" title="Community design">Community design</a></li> <li><a href="/wiki/Design_around" title="Design around">Design around</a></li> <li><a href="/wiki/Design_infringement" title="Design infringement">Design infringement</a></li> <li><a href="/wiki/Design_patent" title="Design patent">Design patent</a></li> <li><a href="/wiki/Fashion_design_copyright" title="Fashion design copyright">Fashion design copyright</a></li> <li><i><a href="/wiki/Geschmacksmuster" title="Geschmacksmuster">Geschmacksmuster</a></i></li> <li><a href="/wiki/Industrial_design_right" title="Industrial design right">Industrial design rights</a> <ul><li><a href="/wiki/Industrial_design_rights_in_the_European_Union" title="Industrial design rights in the European Union">European Union</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organizations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/American_Institute_of_Graphic_Arts" title="American Institute of Graphic Arts">American Institute of Graphic Arts</a></li> <li><a href="/wiki/Chartered_Society_of_Designers" title="Chartered Society of Designers">Chartered Society of Designers</a></li> <li><a href="/wiki/Design_and_Industries_Association" title="Design and Industries Association">Design and Industries Association</a></li> <li><a href="/wiki/Design_Council" title="Design Council">Design Council</a></li> <li><a href="/wiki/International_Forum_Design" title="International Forum Design">International Forum Design</a></li> <li><a href="/wiki/Design_Research_Society" title="Design Research Society">Design Research Society</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Awards</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/European_Design_Award" class="mw-redirect" title="European Design Award">European Design Award</a></li> <li><a href="/wiki/German_Design_Award" title="German Design Award">German Design Award</a></li> <li><a href="/wiki/Good_Design_Award_(Museum_of_Modern_Art)" title="Good Design Award (Museum of Modern Art)">Good Design Award (Museum of Modern Art)</a></li> <li><a href="/wiki/Good_Design_Award_(Chicago_Athenaeum)" class="mw-redirect" title="Good Design Award (Chicago Athenaeum)">Good Design Award (Chicago Athenaeum)</a></li> <li><a href="/wiki/Graphex" class="mw-redirect" title="Graphex">Graphex</a></li> <li><a href="/wiki/IF_Product_Design_Award" title="IF Product Design Award">IF Product Design Award</a></li> <li><a href="/wiki/James_Dyson_Award" title="James Dyson Award">James Dyson Award</a></li> <li><a href="/wiki/Prince_Philip_Designers_Prize" title="Prince Philip Designers Prize">Prince Philip Designers Prize</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Related_topics" style="font-size:114%;margin:0 4em">Related topics</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Agile_software_development" title="Agile software development">Agile</a></li> <li><a href="/wiki/Concept_art" title="Concept art">Concept art</a></li> <li><a href="/wiki/Conceptual_design" title="Conceptual design">Conceptual design</a></li> <li><a href="/wiki/Creative_industries" title="Creative industries">Creative industries</a></li> <li><a href="/wiki/Cultural_icon" title="Cultural icon">Cultural icon</a></li> <li><a href="/wiki/.design" title=".design">.design</a></li> <li><a href="/wiki/Enterprise_architecture" title="Enterprise architecture">Enterprise architecture</a></li> <li><a href="/wiki/Form_factor_(design)" title="Form factor (design)">Form factor</a></li> <li><a href="/wiki/Futures_studies" title="Futures studies">Futures studies</a></li> <li><a href="/wiki/Indie_design" title="Indie design">Indie design</a></li> <li><a href="/wiki/Innovation_management" title="Innovation management">Innovation management</a></li> <li><a href="/wiki/Intelligent_design" title="Intelligent design">Intelligent design</a></li> <li><a href="/wiki/Lean_startup" title="Lean startup">Lean startup</a></li> <li><a href="/wiki/New_product_development" title="New product development">New product development</a></li> <li><a href="/wiki/OODA_loop" title="OODA loop">OODA loop</a></li> <li><a href="/wiki/Philosophy_of_design" title="Philosophy of design">Philosophy of design</a></li> <li><a href="/wiki/Process_simulation" title="Process simulation">Process simulation</a></li> <li><a href="/wiki/Slow_design" class="mw-redirect" title="Slow design">Slow design</a></li> <li><a href="/wiki/STEAM_fields" class="mw-redirect" title="STEAM fields">STEAM fields</a></li> <li><a href="/wiki/Argument_from_poor_design" title="Argument from poor design">Unintelligent design</a></li> <li><a href="/wiki/Visualization_(graphics)" title="Visualization (graphics)">Visualization</a></li> <li><a href="/wiki/Wicked_problem" title="Wicked problem">Wicked problem</a></li></ul> <ul><li>Design <a href="/wiki/Design_brief" title="Design brief">brief</a></li> <li><a href="/wiki/Design_change" title="Design change">change</a></li> <li><a href="/wiki/Design_classic" title="Design classic">classic</a></li> <li><a href="/wiki/Design_competition" title="Design competition">competition</a> <ul><li><a href="/wiki/Architectural_design_competition" title="Architectural design competition">architectural</a></li> <li><a href="/wiki/Student_design_competition" title="Student design competition">student</a></li></ul></li> <li><a href="/wiki/Design_director" title="Design director">director</a></li> <li><a href="/wiki/Design_education" title="Design education">education</a></li> <li><a href="/wiki/Design_elements" title="Design elements">elements</a></li> <li><a href="/wiki/Design_engineer" title="Design engineer">engineer</a></li> <li><a href="/wiki/Design_firm" class="mw-redirect" title="Design firm">firm</a></li> <li><a href="/wiki/Design_history" title="Design history">history</a></li> <li><a href="/wiki/Design_knowledge" title="Design knowledge">knowledge</a></li> <li><a href="/wiki/Design_language" title="Design language">language</a></li> <li><a href="/wiki/Design_life" title="Design life">life</a></li> <li><a href="/wiki/Design_load" title="Design load">load</a></li> <li><a href="/wiki/Design_museum" title="Design museum">museum</a></li> <li><a href="/wiki/Design_paradigm" title="Design paradigm">paradigm</a></li> <li><a href="/wiki/Design_principles" title="Design principles">principles</a></li> <li><a href="/wiki/Design_rationale" title="Design rationale">rationale</a></li> <li><a href="/wiki/Design_review" title="Design review">review</a></li> <li><a href="/wiki/Design_specification" title="Design specification">specification</a></li> <li><a href="/wiki/Design_studies" title="Design studies">studies</a></li> <li><a href="/wiki/Design_studio" class="mw-redirect" title="Design studio">studio</a></li> <li><a href="/wiki/Design_technology" title="Design technology">technology</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="https://commons.wikimedia.org/wiki/category:Design" class="extiw" title="commons:category:Design"> <span class="tmp-color" style="color:#002bb8">Commons</span> </a></li> <li><a href="https://en.wikibooks.org/wiki/Design" class="extiw" title="wikibooks:Design"> <span class="tmp-color" style="color:#002bb8">Wikibooks</span> </a></li> <li><a href="https://en.wikinews.org/wiki/Special:Search/Design" class="extiw" title="wikinews:Special:Search/Design"> <span class="tmp-color" style="color:#002bb8">Wikinews</span> </a></li> <li><a href="https://en.wikiquote.org/wiki/Design" class="extiw" title="wikiquote:Design"> <span class="tmp-color" style="color:#002bb8">Wikiquote</span> </a></li> <li><a href="https://en.wikisource.org/wiki/Category:Design" class="extiw" title="wikisource:Category:Design"> <span class="tmp-color" style="color:#002bb8">Wikisource</span> </a></li> <li><a href="https://en.wiktionary.org/wiki/Design" class="extiw" title="wiktionary:Design"> <span class="tmp-color" style="color:#002bb8">Wiktionary</span> </a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐5dc468848‐gsc6z Cached time: 20241122141954 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.509 seconds Real time usage: 0.677 seconds Preprocessor visited node count: 1804/1000000 Post‐expand include size: 152346/2097152 bytes Template argument size: 1816/2097152 bytes Highest expansion depth: 13/100 Expensive parser function count: 1/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 77291/5000000 bytes Lua time usage: 0.276/10.000 seconds Lua memory usage: 6209517/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 504.402 1 -total 31.48% 158.787 1 Template:Reflist 19.53% 98.501 1 Template:Software_development_process 18.75% 94.576 1 Template:Sidebar_with_collapsible_lists 13.89% 70.059 1 Template:Short_description 13.14% 66.275 1 Template:Cite_journal 11.89% 59.985 5 Template:Navbox 10.39% 52.409 1 Template:Commons_category 9.99% 50.412 1 Template:Sister_project 9.45% 47.645 1 Template:Side_box --> <!-- Saved in parser cache with key enwiki:pcache:idhash:223325-0!canonical and timestamp 20241122141954 and revision id 1249782715. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Software_design&amp;oldid=1249782715">https://en.wikipedia.org/w/index.php?title=Software_design&amp;oldid=1249782715</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Software_engineering" title="Category:Software engineering">Software engineering</a></li><li><a href="/wiki/Category:Software_design" title="Category:Software design">Software design</a></li><li><a href="/wiki/Category:Software_architecture" title="Category:Software architecture">Software architecture</a></li><li><a href="/wiki/Category:Computer_occupations" title="Category:Computer occupations">Computer occupations</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Commons_category_link_is_on_Wikidata" title="Category:Commons category link is on Wikidata">Commons category link is on Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 6 October 2024, at 20:12<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Software_design&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-ttbpv","wgBackendResponseTime":140,"wgPageParseReport":{"limitreport":{"cputime":"0.509","walltime":"0.677","ppvisitednodes":{"value":1804,"limit":1000000},"postexpandincludesize":{"value":152346,"limit":2097152},"templateargumentsize":{"value":1816,"limit":2097152},"expansiondepth":{"value":13,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":77291,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 504.402 1 -total"," 31.48% 158.787 1 Template:Reflist"," 19.53% 98.501 1 Template:Software_development_process"," 18.75% 94.576 1 Template:Sidebar_with_collapsible_lists"," 13.89% 70.059 1 Template:Short_description"," 13.14% 66.275 1 Template:Cite_journal"," 11.89% 59.985 5 Template:Navbox"," 10.39% 52.409 1 Template:Commons_category"," 9.99% 50.412 1 Template:Sister_project"," 9.45% 47.645 1 Template:Side_box"]},"scribunto":{"limitreport-timeusage":{"value":"0.276","limit":"10.000"},"limitreport-memusage":{"value":6209517,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-5dc468848-gsc6z","timestamp":"20241122141954","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Software design","url":"https:\/\/en.wikipedia.org\/wiki\/Software_design","sameAs":"http:\/\/www.wikidata.org\/entity\/Q857102","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q857102","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-05-08T13:45:37Z","dateModified":"2024-10-06T20:12:38Z","headline":"process by which an agent creates a specification of a software artifact"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10