Date post: | 16-Jan-2017 |
Category: |
Technology |
Upload: | mohamed-zakarya |
View: | 199 times |
Download: | 0 times |
MODULE VIEW
DECOMPOSITION VERSION (1.0)
MOUDLE NAME MODULE VIEW - DECOMPOSITION
SUBMITTED BY
ELM
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 2
TABLE OF CONTENT
TABLE OF CONTENT............................................................................................................................ 2
1. MODULE VIEW ........................................................................................................................... 3
1.1. OVERVIEW ..................................................................................................................................... 4
2. DECOMPOSITION DOCUMENTATION GUIDE .............................................................................. 5
2.1. STYLE GUIDE ................................................................................................................................. 5
2.2. STYLE DECUMENTATION ............................................................................................................... 6
2.2.1. Overview ................................................................................................................... 6
2.2.2. Design criteria ........................................................................................................... 7
2.2.3. Elements catalog....................................................................................................... 7
2.2.4. constraints ................................................................................................................ 8
2.2.5. style used for ............................................................................................................ 9
2.2.6. style notation .......................................................................................................... 10
2.2.7. relation to other styles ........................................................................................... 11
2.2.8. Style notes .............................................................................................................. 12
2.2.9. Real Example........................................................................................................... 14
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 3
TABLE OF FIGURES
Figure 1: Decomposition using named text list ........................................................................................... 11
Figure 2: Decomposition using UML ............................................................................................................... 11
Figure 3 : SchoolSystem Decomposition Real Example ............................................................................ 14
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 4
1. MODULE VIEW
1.1. Overview
Module view used to show implementation units of system and how these
implementation units are related to each other
Module view represented by modules and submodules
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 5
2. DECOMPOSITION DOCUMENTATION GUIDE
2.1. Style guide
1. OVERVIEW
Show introduction overview for the style
2. DESIGN CRITERIA
Show what is the criteria to achieve the style
3. ELEMNET CATALOG
Show the element of style, relations between elements and properties of
elements
4. CONSTRAINTS
Show what constraints you will face with the style
5. STYLE USED FOR
Show what is the usage of the style
6. STYLE NOTATION
How to show the style in obvious way with notations
7. RELATION TO OTHER STYLES
Show the nature of relation to other styles
8. NOTES
Style design notes
9. REAL EXAMPLE
Show real example of style
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 6
2.2. Style decumentation
2.2.1. Overview
Show the structure of modules and submodules (containment relations
between modules) which represent is part of relationship, this will result to
divide responsibilities into manageable pieces (implementation units)
Code organization into modules and submodules and show how system
responsibilities Are partitioned across them
Usually decomposition is first step architect start with to model their system
Decomposition defined modules that may appear in other styles like uses,
generalization, layered, other module based views, so it is the first step
towards details architecture
Architect tend to attach a problem by use of divide and conquer technique
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 7
2.2.2. Design criteria
Decomposition criteria for decomposing module into submodules as follows
2.2.2.1. Separation of concern
Divide complex problem into pieces.
Concern is feature or behaviour that specified as part of requirements
model of the software.
Eg. Separate distribution of mail from processing mail.
2.2.2.2. Achievement of certain quality attributes
For example, to support Modifiability:
Information hiding design principle used for encapsulate the changeable
aspects of the system in a separate module.
This will reduce side effects.
Limit global impact of local design changes.
Relations to other modules done across managed interface.
Bridge pattern in design pattern represent information hiding
Eg. Remote control with TV or with air conditioner
2.2.2.3. Build versus buy decisions
Some modules may be bought from market place, or reuse of old
projects or obtained as open source.
These modules will represent set of responsibilities
The remaining modules are discomposed around these established
modules.
Eg. Telerik controls
2.2.2.4. Product line implementation
To make products of product family, make some sort of separation
Separate common modules from variable modules that differ across
products
Eg. Common lookups (city – country – region)
2.2.2.5. Team Allocation
make responsibilities done in parallel, separate modules that can be
allocated to different team should be defined
The skills of development team may change decomposition, Eg. If web
developers are available, modules that handle web ui should kept
separate
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 8
2.2.3. Elements catalog
2.2.3.1. Elements
Modules, submodules, subsystem (aggregate of modules)
2.2.3.2. Relations
is-part-of relation (containment relation)
2.2.3.3. Properties
Element name: Module-Name indicate role in name
Element role: role of modules
Element responsibility: in details what responsibility of modules in
whole system
Properties: Visibility of interfaces inside module or delegate to
aggregate module interface
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 9
2.2.4. Constraints
Module is part of one parent only (one container)
No loops are allowed in decomposition
Decomposition can decide whether the submodule is visible within only the
aggregate or also for other modules through module interfaces
(like internal interfaces in electronic board)
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 10
2.2.5. Style used for
Show responsibilities of system in form of modules and submodule
Support the learning process about a system. Excellent learning and navigation tool
for newcomers to the project and other people who do not necessarily have
the whole functional structure of the system memorized
Useful basis for defining configuration items within a configuration management
framework.
Serves as the input for the work assignment view of a system, which maps parts of a
software system onto the organizational units, or teams
Show effects of change in addition to uses style (dependency)
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 11
2.2.6. Style notation
2.2.6.1. Informal
Modules in the decomposition style are usually depicted as named boxes
that contain other named boxes or, listing the module names and using
indentation to indicate is part of relation
Figure 1: Decomposition using named text list
2.2.6.2. UML
In UML, the package construct can be used to represent modules that
contain other modules. A package can contain classes and other
packages
Module Properties like modules responsibilities, are given textually,
perhaps using an annotation. Stereotypes can provide additional
information for the type of the module like <<subsystem>> stereotype
Figure 2: Decomposition using UML
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 12
2.2.7. Relation to other styles
Map between a decomposition view and one or more component-and-
connector views, mapping indicates how the software implementation
structures map onto runtime structures
A many-to many relationships. The same module might implement all or
parts of several components or connectors. Conversely, one component might
require several modules for its implementation
The decomposition style is closely related to the work assignment style, a kind
of allocation style. The work assignment style maps modules resulting from a
decomposition to a set of teams responsible for implementing and testing
those modules
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 13
2.2.8. Style notes
The real implementation of decomposition style as follows:
First: Deep think about the criteria defined before. (separation of concern –
achieve quality attributes – team allocation – Buy versus build – product line
implement (common, variable) modules)
Second: list as much as you can possible entities you have and try to group
these entities to formulate new modules, Eg. [Country, city, region entities]
formulate [locationSettings] module
Third: try to make containment relation to group modules together if possible
to formulate super (parent) module, Eg. [controlPanel] Module contain
[Locationsettings, generalsettings, postalsettings] modules
MODULE VIEW - DECOMPOSITION
علم ينتفع به
MODULE VIEW DECOMPOSITION Page | 14
2.2.9. Real Example: SchoolSystem Decomposition
1. PRIMARY PRESENTATION
Figure 3 : SchoolSystem Decomposition Real Example
2. ELEMENT CATALOG
SchoolSystem: main system to handle school management
ControlPanel: include definition of school data, lookups like classes, stages , locations
and other settings
StaffPanel: Includes staff data, courses they present
StudentPanel: includes student data , there classes , stages , courses and scores
LibraryManagment: include books included , borrow books and other library activities
for staff and students
HygieneManagement: manage dustmen their work, Hygiene schedule, etc.
AccountManagement : include salary for staff , dustmen , bus drivers also include
student school fees
TransportationManagement: include bus contract and bus drivers , bus schedule , etc.
Statistics: report management for students, staff, dustmen, etc.
3. RELATED VIEW STYLES
SchoolSystem Uses Style
SchoolSystem Work Assignment Style