Download presentation
Presentation is loading. Please wait.
Published byJesse Chandler Modified over 9 years ago
1
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University
2
Outline 1. Introduction 2. Unified Modeling Language 3. Module Views 4. Component-and-Connector Views 5. Allocation Views 6. Summary 2
3
Unified Modeling Language (UML) Lecture: 10 3
4
1. Introduction Unified Modeling Language (UML) is a standardized general-purpose modeling language The standard is managed, and was created, by the Object Management Group in 1997 UML includes a set of graphic notation techniques to create visual models of object-oriented software UML is used to specify, visualize, modify, construct and document the artifacts of a software It can be used with all processes, throughout the software development life cycle, and across different implementation technologies 4
5
Introduction (Continue…) UML has become de facto industry standard UML models may be automatically transformed to other representations (e.g. Java) UML is extensible, with two mechanisms for customization: profiles and stereotypes UML 2.2 has 14 types of diagrams divided into two categories Seven diagram types represent structural information Seven diagram types represent general types of behavior Four that represent different aspects of interactions 5
6
Introduction (Continue…) 6
7
2. Unified Modeling Language Architecture in some sense expresses what is essential about a software system, and it is independent of languages & notations to capture it UML makes its main contribution in a view's primary presentation and secondary contribution in the behavior of an element or group of elements Architect can augment UML pictures with necessary supporting documentation for a certain use UML provides no direct support for components, connectors, interface semantics, or many other aspects of a system that are supremely architectural 7
8
3. Module Views Interfaces UML uses a "lollipop" to denote an interface, which can be appended to classes and subsystems, among other things UML also allows a class symbol (box) to be stereotyped as an interface The open-headed dashed arrow shows that an element realizes an interface The bottom of the class symbol can be annotated with the interface's signature information 8
9
Module Views (Continue…) 9
10
Modules UML has a class construct, which is the object-oriented specialization of a module Packages can be used in cases where grouping of functionality is important, such as to represent layers and classes The subsystem construct can be used if a specification of interface and behavior is required Module decomposition relies on the "is-part-of" relation The module uses view relies on the dependency relation The module class view relies on the generalization, or "is- a" relation (also called "inheritance") 10
11
Module Views (Continue…) 11
12
Module Views (Continue…) Aggregation 12
13
Module Views (Continue…) Generalization 13
14
Module Views (Continue…) Dependency 14
15
4. Component-and-Connector Views There is no single preferred strategy to document component-and-connector (C&C) views in UML, Each alternative has its advantages and disadvantages One natural candidate for representing component- and-connector types begins with the UML class concept 15
16
Component-and-Connector Views (Continue…) 16
17
Component-and-Connector Views (Continue…) Components The type/instance relationship in architectural descriptions is a close match to the class/object relationship in a UML model The full set of UML descriptive mechanisms is available to describe the structure, properties, and behavior of a class Properties of architectural components can be represented as class attributes or with associations Behavior can be described using UML behavioral models Generalization can be used to relate a set of component types 17
18
Component-and-Connector Views (Continue…) Interfaces (Ports) 18
19
Component-and-Connector Views (Continue…) Connectors 1. Connector types as associations and connector instances as links. In an architectural box-and-line diagram of a system, the lines between components are connectors. 2. Connector types as association classes. In this way, the connector type or connector attributes can be captured as attributes of a class or object. 3. Connector types as classes and connector instances as objects. One way to give connectors first-class status in UML is to represent connector types as classes and connector instances as objects. 19
20
5. Allocation Views In UML, a deployment diagram is a graph of nodes connected by communication associations Nodes may contain component instances, which indicates that the component lives or runs on the node. Components may contain objects, which indicates that the object is part of the component Components are connected to other components by dashed-arrow dependencies This indicates that one component uses the services of another 20
21
Allocation Views (Continue…) The deployment type diagram may also be used to show which components may run on which nodes by using dashed arrows with the stereotype «supports» 21
22
Allocation Views (Continue…) 22
23
23 Summary Any Questions?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.