“Module Architecture View” By Swapnil G. Thaware Software Architecture Design 1
Jul 15, 2015
“Module Architecture View”
By
Swapnil G. Thaware
Software Architecture
Design
1
Contents :
• What is view and Architecture exactly ?
• Why is Architecture is important ?
• Goal of Architecture ?
• Software design vs Software architecture
• Different types of view ? (4 Types of view)
2
What is mean by View ?
A view combines several structures that share
common properties or a common perspective.
Eg. Civil field (FV,TV,BV), Medical field.
What is mean by Architecture ?
Architecture is a high level structure of a software system that discipline on creating such structures and implementing, documenting of these structures and comprises of software elements.
3
Why is Architecture is important ?
• Focuses on how the major element and components within an application are used and interact with other major element and component.
• Also think about algorithms or implementation details of individuals components.
4
Goal of Architecture ?
• Expose the structure of the system, but hide the implementation details.
• Realize all of the use cases and scenarios.
• Try to address the requirements of various stakeholders.
• Handle both functional and quality requirements5
Software design vs Software architecture :
Software design Software architecture
1. Software design is about designing the individual modules / components
2. What are theresponsibilities, functions, of module x? Of class Y?
3. IN SHORT softwaredesign emphasizes on module / component / class level.
1.Architecture of system is skeleton
2.Highest Level of abstraction and tells us what kind of data storage is present
3. how do modules interact with each other ?
4.Software architecture is more about the design of the entire system
Eg. Think about your house, you dont need an architect for kitchen, But complete house need one architecture
6
Different types of view ?
1. Conceptual Architecture View
2. Module Architecture View
3. Execution Architecture View
4. Code Architecture View
Set of architectural viewpoints was originally proposed by Hofmeister, Nord, and Soni in their book Applied Software Architecture.
7
Conceptual Architecture View• The conceptual architecture view is a highlevel map of
how the system does what it’s supposed to do and what is
not to do ?
• It is more conceptual and broader in scope
• This view is closely tied to the application domain.
• conceptual components :The functionality of the
system is mapped to architectural elements called
conceptual components.
• This view provides an overview of the software
architecture
• It is the first place that people will go to find out how the
system does what it is supposed to do.
8
Module View :
• The module view shows how the key elements of the software are mapped to modules and subsystems.
• subsystems are decomposed into modules, andmodules are assigned to layers in accordance with their use-dependencies.
• There is no configuration for the module view because it defines the modules and their inherent relations to each other, but not how they will be combined into a particular product.
9
13 slide10
13 slide11
Lollipop notation : To show the interface of each module, and to
make it clear that the modules are dependent on the interface of another
module, not the module itself.12
In Short here we used :
• Tables for describing the mapping between the conceptual and module views (as per table 2) slide 10
• UML Package Diagrams for showing subsystem
decomposition dependencies. slide 11
• UML Class Diagrams for showing use-dependencies between modules. (as per Fig 4) slide 12
13
EXECUTION ARCHITECTURE VIEW :
The execution view shows how modules are mapped to
machines and networks.
-- Also shows how modules are mapped onto the hardware of the system.
CODE ARCHITECTURE VIEW :
The code view shows how source code and configuration are organized into packages and dependencies.
--It also shows package dependencies.
14
THANK YOU !!!
15