StandardsObjectivesSlide 3What are standards?De jure and de facto standardsDe jure and de facto standards (cont’d)Examples of de jure and de factoGray-area StandardsAnother spectrumOpen vs. closed standardsWhy use standards?Why use standards? (cont’d)Drawbacks of standardsOverspecification vs. underspecificationTwo different kinds of underspecificationWhen to adopt a standard?When to adopt a standard? (cont’d)Slide 18Slide 19IEEE 1471IEEE 1471 (cont’d)Department of Defense Architecture FrameworkDoDAF (cont’d)Slide 24Slide 25DoDAF ExamplesDoDAF Examples (cont’d)Slide 28Slide 29Slide 30DoDAF TakeawaysThe Open Group Architecture FrameworkTOGAF Part 1: ADMTOGAF Part 2: Enterprise ContinuumTOGAF Part 3: TOGAF Resource BaseTOGAF TakeawaysRM-ODPUMLUML TakeawaysSysMLSysML DiagramsStandard UML ToolsArgoUML – a UML toolTelelogic System ArchitectRational Unified ProcessModel-Driven ArchitectureOverall TakeawaysCopyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.StandardsSoftware ArchitectureLecture 262Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObjectivesConceptsWhat are standards?Why use standards?And why not? (drawbacks)Deciding when to adopt a standardPrevalent Architectural StandardsConceptual standardsNotational standardsStandard toolsProcess standards3Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureObjectivesConceptsWhat are standards?Why use standards?And why not? (drawbacks)Deciding when to adopt a standardPrevalent Architectural StandardsConceptual standardsNotational standardsStandard toolsProcess standards4Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureWhat are standards?Definition: a standard is a form of agreement between partiesMany kinds of standardsFor notations, tools, processes, organizations, domains There is a prevalent view that complying to standard ‘X’ ensures that a constructed system has high qualityThis is almost never strictly trueBut that doesn’t mean standards are worthless!Here, we will attempt to put standards in perspective5Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDe jure and de facto standardsSome standards are controlled by a body considered authoritativeANSI, ISO, ECMA, W3C, IETFThese standards are called de jure (“from law”)De jure standards usuallyare formally defined and documentedare evolved through a rigorous, well-known processare managed by an independent body, governmental agency, or multi-organizational coalition rather than a single individual or company6Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDe jure and de facto standards (cont’d)Some standards emerge through widespread awareness and useThese standards are called de facto (“in practice”)De facto standards usuallyare created by a single individual organization to address a particular needare adopted due to technical superiority or market dominance of the creating organizationevolve through an emergent, market-driven processare managed by the creating organization or the users themselves, rather than through a formal custodial body7Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureExamples of de jure and de factoDe jure standardsUML (managed by OMG)CORBA (also managed by OMG)HTTP protocol (managed by IETF)De facto standardsPDF format (managed by Adobe)May become de jure through ISOWindows (managed by Microsoft)There is a substantial gray area between these two8Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureGray-area StandardsHTMLOfficially standardized by W3C, indicating de jureFlavors and browser-specific extensions developed by Microsoft, Netscape, and others, creating de facto variantsNone of these has power to force users to use standardJavaScriptDeveloped by Netscape; copied (as JScript) by MicrosoftAfter substantial adoption and possibly under threat of forking/splintering, Netscape submits it to ECMANow standardized as ECMAScript (de jure)JavaScript and variants continue to be developed as compatible extensions of ECMAScript9Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureAnother spectrumStandards (whether de jure or de facto) can be:OpenAllow public participation in the standardization processAnyone can submit ideas or changes for reviewClosed (a.k.a. proprietary)Only the custodians of a standard can participate in its evolution10Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureOpen vs. closed standardsAnother spectrum with a gray areaSome standards bodies have high barriers to entry (e.g., steep membership fees, vote of existing membership)Some standards (e.g., Java) have aspects of bothSun Microsystems is effectively in control of Java as a de facto standardThere is an open “community process” by which external parties can participate in a limited way11Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureWhy use standards?Standards are an excellent way to create and exploit network effectsA network effect exists if the value of participation increases as the number of users of the standard increasesOther network effects:TCP/IP, HTTP & HTML, UML… versus 12Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureWhy use standards? (cont’d)To ensure interoperability between products developed by different organizationsUsually in the interest of fostering a network effectTo carry hard-won engineering knowledge from one project to anotherTo take advantage of hard-won engineering knowledge created by othersAs an effort to attract tool vendorsTo create economies of scale in toolsTo attempt to control the standard’s evolution in your favor13Foundations, Theory, and PracticeSoftware ArchitectureSoftware ArchitectureDrawbacks of standardsLimits your agilityRemember that doing ‘good’ architecture-based development means identifying what is important in your projectStandards often attempt to apply the same techniques to a too-broad variety of situationsThe most widely adopted standards are often the most general14Foundations, Theory, and PracticeSoftware
View Full Document