1 / 63

John Hurley: Overview Sina Sheikholeslami: Decomposition Xuan Yang: Uses (relationship type),

John Hurley: Overview Sina Sheikholeslami: Decomposition Xuan Yang: Uses (relationship type), Generalization Anna Deghdzunyan: Layers part 1 Urvish Mehta: Layers Part 2. View: a representation of a coherent set of architectural elements and the relationships between them.

mali
Download Presentation

John Hurley: Overview Sina Sheikholeslami: Decomposition Xuan Yang: Uses (relationship type),

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. John Hurley: Overview Sina Sheikholeslami: Decomposition Xuan Yang: Uses (relationship type), • Generalization Anna Deghdzunyan: Layers part 1 Urvish Mehta: Layers Part 2

  2. View: a representation of a coherent set of architectural elements and the relationships between them. • Depicts selected aspects of a model

  3. Additional Source on Views: Clements et al, Documenting Software Architectures: Views and Beyond, 2nd Ed, Addison-Wesley SEI Series in Software Engineering, 2011 p. 55- 122

  4. A Module View shows the principal implementation units, or modules, of a system, together with the relations among these units.

  5. Modules vs. Components • Module is a unit of implementation, Component is a runtime entity • We are used to making a distinction between policy and implementation and thinking of implementation as the lower layer. Here components are where the rubber hits the road; implementation is the middle layer • Consider a server which serves a piece of info to ten identical clients. There are 11 components but only two modules.

  6. Module structure contains the following relationship types: • Decomposition (‘is a submodule of”) • Uses (“requires the correct presence of”) • Layered (“uses the services of”) • Class / Generalization (“is an instance of; shares access methods of”)

  7. Part II

  8. Top level decomposition view forATIA system

  9. Refinement ofATIA-M server-side Java modules showing how it is further decomposed into submodules

  10. Decomposition of A7-E software architecture

  11. Summary of the decomposition style

  12. Part III

  13. Uses Style • Focusing on depends-on relations • Enabling incremental development and deployment

  14. Elements, Relationships, Properties

  15. UML Notations

  16. UML package diagram

  17. DSM for the UML Diagram

  18. What the Uses Style is for • Planning incremental development and subsets • Debugging and testing • Gauging the effect of changes

  19. What the Uses Style is for (cont)

  20. Generalization Style • Focusing on is-a relation • Supports extension and evolution • Implies inheritance of implementation and interface

  21. Elements, Relationships, Properties

  22. UML Diagrams

  23. What the Generalization Style is For • Object-Oriented designs • Extension • Local change or variation • Reuse

  24. Part IV

  25. The Layered Style • The division of the software into units (layers) • Each partition (layer) provides through a public interface - a cohesive set of services.

  26. Why isn’t this a layered style? • The layers are created to interact according to a strict ordering relation.

  27. “allowed to use” relations • Using facilities of the immediate lower layer • Using facilities of any lower layer . bridging layers . if many exists - poorly structured

  28. Bad Example • Upward usage

  29. Observations • Cannot be constructed by examining source code • The way of defining layers can be . layers will work independently in different time scales . different people with different sets of skills will work on different layers

  30. Elements, Relationships, Properties

  31. What the Layered Style Is For • Modifiability and Portability • Information hiding • Grouping into layers same technology helps to assign to more specialized teams.

More Related