Содержание
- 2. Objectives Concepts What are standards? Why use standards? And why not? (drawbacks) Deciding when to adopt
- 3. Objectives Concepts What are standards? Why use standards? And why not? (drawbacks) Deciding when to adopt
- 4. What are standards? Definition: a standard is a form of agreement between parties Many kinds of
- 5. De jure and de facto standards Some standards are controlled by a body considered authoritative ANSI,
- 6. De jure and de facto standards (cont’d) Some standards emerge through widespread awareness and use These
- 7. Examples of de jure and de facto De jure standards UML (managed by OMG) CORBA (also
- 8. Gray-area Standards HTML Officially standardized by W3C, indicating de jure Flavors and browser-specific extensions developed by
- 9. Another spectrum Standards (whether de jure or de facto) can be: Open Allow public participation in
- 10. Open vs. closed standards Another spectrum with a gray area Some standards bodies have high barriers
- 11. Why use standards? Standards are an excellent way to create and exploit network effects A network
- 12. Why use standards? (cont’d) To ensure interoperability between products developed by different organizations Usually in the
- 13. Drawbacks of standards Limits your agility Remember that doing ‘good’ architecture-based development means identifying what is
- 14. Overspecification vs. underspecification A perennial tension in standards use and development Overspecification A standard prescribes too
- 15. Two different kinds of underspecification Two compromises often made in negotiation when disagreements occur Leave the
- 16. When to adopt a standard? Early adoption Benefits Improved ability to influence the standard Get your
- 17. When to adopt a standard? (cont’d) Early adoption Drawbacks Risk of failure Standard may not be
- 18. When to adopt a standard? (cont’d) Late adoption Benefits Maturity of standard Better support Drawbacks Inability
- 19. Objectives Concepts What are standards? Why use standards? And why not? (drawbacks) Deciding when to adopt
- 20. IEEE 1471 Recommended practice for architecture description Often mandated for use in government projects Scope is
- 21. IEEE 1471 (cont’d) Very high level Purposefully light on specification Does not advocate any specific notation
- 22. Department of Defense Architecture Framework DoDAF, evolved from C4ISR Has some other international analogs (MoDAF) ‘Framework’
- 23. DoDAF (cont’d) Some vocabulary inconsistency with our terms (and IEEE 1471 among others) Software Architecture: Foundations,
- 24. DoDAF (cont’d) Three views (in our terms: viewpoint sets) Operational View (OV) “Identifies what needs to
- 25. DoDAF (cont’d) Three views (in our terms: viewpoint sets) – continued Technical Standards View (TV) Identify
- 26. DoDAF Examples OV-1 “High-Level Operational Concept Graphic” Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor,
- 27. DoDAF Examples (cont’d) OV-4 “Organizational Relationships” Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad
- 28. DoDAF Examples (cont’d) SV-1 “Systems Interface Description” Note implied correspondence with OV-1 entities Software Architecture: Foundations,
- 29. DoDAF Examples (cont’d) SV-3 “Systems-Systems Matrix” One of several “N2” views in DoDAF Software Architecture: Foundations,
- 30. DoDAF Examples (cont’d) TV-1 “Technical Standards Profile ” Software Architecture: Foundations, Theory, and Practice; Richard N.
- 31. DoDAF Takeaways Extremely comprehensive standard advocating capture of many views Takes a high-level organizational perspective OV
- 32. The Open Group Architecture Framework TOGAF – an “enterprise architecture” framework Focuses beyond hardware/software How can
- 33. TOGAF Part 1: ADM An iterative process for architecture-centric development Each step in the proceses associated
- 34. TOGAF Part 2: Enterprise Continuum Taxonomizes different kinds of architectures and the solutions that are supported
- 35. TOGAF Part 3: TOGAF Resource Base A collection of useful information and resources that can be
- 36. TOGAF Takeaways Large size and broad scope looks at systems development from an enterprise perspective More
- 37. RM-ODP Another standard for viewpoints, similar to DoDAF but more limited in scope; resemble DoDAF SV
- 38. RM-ODP Another standard for viewpoints, similar to DoDAF but more limited in scope; resemble DoDAF SV
- 39. RM-ODP Another standard for viewpoints, similar to DoDAF but more limited in scope; resemble DoDAF SV
- 40. UML As a standard, primarily prescribes a syntax Some semantics with purposeful ambiguity Encourages specialization of
- 41. UML Takeaways Provide a common syntactic framework to express many common types of design decisions Profiles
- 42. SysML An extended version of UML Developed by a large consortium of organizations (mainly large system
- 43. SysML Diagrams SysML Requirement Diagram Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
- 44. SysML Diagrams SysML Parametric Diagram Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
- 45. Standard UML Tools E.g., Rational Rose, ArgoUML, Microsoft Visio These are de facto standards All support
- 46. ArgoUML – a UML tool Screenshot from the Argo/UML Website and Documentation
- 47. Telelogic System Architect Formerly Popkin System Architect; popular among architects Supports 50+ different diagram types UML,
- 48. Rational Unified Process Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric
- 49. Model-Driven Architecture Also known as MDA Core idea: specify your architecture in detailed enough terms that
- 50. Overall Takeaways Standards confer many benefits Network effects, reusable engineering knowledge, interoperability, common vocabulary and understanding
- 51. Some More on UML UML combines several visual specification techniques use case diagrams, component diagrams, package
- 52. UML Class Diagrams Class diagram describes Types of objects in the system Static relationships among them
- 53. Example Class Diagram Order dateReceived isPrepaid number: String price: Money dispatch() close() Product Order quantity: Int
- 54. Sequence Diagrams A sequence diagram shows a particular sequence of messages exchanged between a number of
- 55. Example Sequence Diagram :ProductOrder :StockItem check() :Order *prepare() [check=“true”] remove() :OrderEntryWindow prepare() :ReorderItem :DeliveryItem needsToReorder() >
- 56. Collaboration Diagrams Collaboration diagrams show a particular sequence of messages exchanged between a number of objects
- 57. Example Collaboration Diagram :ProductOrder :StockItem :Order :OrderEntryWindow :ReorderItem :DeliveryItem 1:prepare() 1.1:*prepare() 1.1.1:check() 1.1.2:[check==true]remove() 1.1.2.1:needsToReorder() 1.1.2.2:new 1.1.3:[check==true]new
- 58. State Diagrams State diagrams are used to show possible states a single object can get into
- 59. State Diagrams Hierarchical grouping of states composite states are formed by grouping other states A composite
- 60. Superstates Checking do/checkItem / getFirstItem getNextItem [not all items checked] Dispatching do/initiate Delivery Waiting Cancelled Delivered
- 61. Concurrent States Checking Dispatching Waiting Authorizing Authorized Delivered Cancelled Rejected [payment not OK] cancelled this transition
- 62. Activity Diagrams Activity diagrams show the flow among activities and actions associated with a given object
- 63. Receive Order Check Order Item Dispatch Order Authorize Payment Cancel Order Add Remainder to Stock [succeeded]
- 64. UML Diagrams Functionality, requirements use case diagrams Architecture, modularization, decomposition class diagrams (class structure) component diagrams,
- 65. How do they all fit together? Requirements analysis and specification use-cases, use-case diagrams, sequence diagrams Design
- 66. Object Constraint Language Object Constraint Language (OCL) is part of UML OCL was developed at IBM
- 67. Object Constraint Language (OCL) OCL provides a way to develop more precise models using UML What
- 68. OCL Constraints OCL constraints are declarative They specify what must be true not what must be
- 69. An Example Loyalty programs are used by companies to offer their customers bonuses (e.g., frequent flier
- 70. LoyaltyProgram enroll(c:Customer) Service condition: Boolean pointsEarned: Integer pointsBurned: Integer description: String 0..* deliveredServices Membership LoyaltyAccount points:
- 71. Types and Instances OCL types are divided into following groups Predefined types Basic types: String, Integer,
- 72. Operations on Boolean Type Boolean operators that result in boolean values a or b, a and
- 73. Operations on Integer and Real Types Operation on Real and Integer with Boolean result type a
- 74. Operations on String Type Operations on String type with result type Boolean s1 = s2, s1
- 75. Model Types Model types are classes, subclasses, association classes, interfaces, etc. defined in the model Properties
- 76. OCL expressions and constraints Each OCL expression has a result the value that results by evaluating
- 77. Invariants Using OCL we can specify class invariants such as Customer age >= 18 As a
- 78. Invariants We can also write invariants on attributes of associated classes Examples: Membership card.owner = customer
- 79. Writing Pre and Postconditions One can specify the pre and postcondition of an operation of a
- 81. Скачать презентацию