1 / 51

John Hurley: Overview Sina Sheikholeslami : Decomposition

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

tryna
Download Presentation

John Hurley: Overview Sina Sheikholeslami : Decomposition

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 SinaSheikholeslami: 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, as written by and read by system stakeholders

  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. The Layered Style • The division of the software into units (layers) • Each partition (layer) provides through a public interface - a cohesive set of services.

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

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

  10. Bad Example • Upward usage

  11. 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

  12. Elements, Relationships, Properties

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

  14. Notations for the Layered Style • Stacks • Rings

  15. Notations for the Layered Style (cont.) • Segmented Layers • Layers with sidecar

More Related