John Hurley: Overview Sina Sheikholeslami : Decomposition

Post on 22-Feb-2016

38 views 0 download

Tags:

description

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

transcript

John Hurley: OverviewSina Sheikholeslami: DecompositionXuan Yang: Uses (relationship type),

GeneralizationAnna Deghdzunyan: Layers part 1Urvish Mehta: Layers Part 2

View: a representation of a coherent set of architectural elements, as written by and read by system stakeholders

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

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

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.

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”)

The Layered Style The division of the software into

units (layers)

Each partition (layer) provides through a public interface - a cohesive set of services.

Why isn’t this a layered style?

• The layers are created to interact according to a strict ordering relation.

“allowed to use” relations Using facilities of the immediate

lower layer Using facilities of any lower layer . bridging layers . if many exists - poorly

structured

Bad Example

•Upward usage

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

Elements, Relationships, Properties

What the Layered Style Is For Modifiability and Portability Information hiding Grouping into layers same

technology helps to assign to more specialized

teams.

Notations for the Layered Style Stacks

Rings

Notations for the Layered Style (cont.)

Segmented Layers

Layers with sidecar