Exploring the Future Potential of AI-Enabled Smartphone Processors
Chapter 9
1. In this session, you will learn to:
Create package diagrams
Create component diagrams
Create deployment diagrams
2. Architectural modeling:
Enables visualizing the physical distribution of components over the network of
the organization.
Determines if the design of components meets the requirements of the software
system.
Diagrams to model the architecture of software system are:
Package diagram
Component diagram
Deployment diagram
3. Package diagrams depict the various packages of a software system and the
relationships among them.
Advantages of using packages to model the constituents of a software system are:
Enables visualizing the functional groups and the relationships among them.
Facilitates easy management of large software systems.
You can group use cases of a software system into packages based on the
following rules:
Group related use cases
Group use cases based on the actors that use them
4. You can package classes of a software system into packages based on the
following criteria:
Package classes that belong to the same inheritance hierarchy.
Package classes that are related through composition relationship.
Package classes that collaborate and interact with each other to realize use
cases.
5. Symbols used to set the visibility of constituents in packages are:
+: Indicates that the constituent is public and, therefore, is accessible to the
constituents of other packages.
#: Indicates that the constituent is protected and, therefore, is accessible to the
constituents that inherit it.
-: Indicates that the constituent is private and, therefore, is not accessible to the
constituents outside the package.
6. Types of relationships between packages are:
Access dependency relation
Generalization relation
7. Package diagram for inventory management system.
Tender Order
Tender Class Order Class
Tender Database Table Order Database Table
TenderPolicy
+ TenderRules Class
+ SupplierSelectionRules
Parts
Supplier
Parts Class <<Composition>>
Supplier Class PartSpecification
Supplier Database Table
ElectronicParts Class AutomobileParts Class
8. Components provide realization of a set of interfaces and form the executable parts
of a software system.
Components that you can model to form a complete software system are:
Deployment components: Includes components that form the executable
system.
Work product components: Includes components that are the outcome of
implementation phase of SDLC.
Execution components: Includes components that are created when a system
is executing.
A component realizes a set of interfaces each of which specifies the functionality
offered by a class.
A class can also realize a set of interfaces.
9. Techniques for modeling components are:
Source code file modeling
Executable file modeling
Database modeling
The various ways to visualize the source code components of the software system
are:
Group the source code files into packages and depict them in a package
diagram.
Draw component diagrams to visualize the relationship between the source
code files of the system.
10. Modeling executable files includes modeling the .exe, library, and database that
comprise the system.
Database modeling involves:
Depicting the database table components using component diagrams.
Depicting columns and stored procedures associated with each database table
component.
11. You draw deployment diagrams to visualize the hardware on which the software
components need to be deployed.
The various computer systems or processing devices on which components are
deployed are called nodes.
A node is represented as a 3-Dimensional rectangular box containing the
components that execute within the node.
12. Nodes are associated with each other by a connection, which represents a
communication channel.
You depict a communication channel among nodes by a straight line drawn
between the communicating nodes.
Dependency relationship between a node and a component is represented by using
a dashed line.
13. Which of the following diagrams is used to visualize the hardware on which the software
components need to be deployed?
1. Package diagram
2. Component diagram
3. Deployment diagram
4. Interaction Overview diagram
Answer:
Deployment diagram
14. A software architecture viewtype specifies the constituents that you may model in
the architecture of a software system.
Predefined viewtypes listed by UML are:
Module viewtype: Specifies the modules that implement a specific
functionality.
Component and Connector (C&C) viewtype: Specifies a collection of the
components each of which is an execution unit.
Allocation viewtype: Specifies as a set of relationships between the
components or modules of a software system with the development
environment.
15. In this session, you learned that:
Architectural modeling is used to depict the physical constituents of a software
system. The physical constituents consist of the components and nodes on
which the components execute.
The components of a software system can be modeled on the basis of different
architectural viewtypes. The various viewtypes are the module viewtype,
component and connector viewtype, and allocation viewtype.
The artifacts that UML provides to enable architectural modeling are: package
diagrams, component diagrams, and deployment diagrams.
Packages are used to group the related constituents of a software system.
16. Component diagrams are used to model the various components required for a
system to execute.
Deployment diagrams are used to depict the various nodes on which the
components of a software system execute.