“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 requirements
5
Software design vs Software architecture :
Software design Software architecture
1. Software design is about designing the
individual modules / components
2. What are the
responsibilities, functions, of module x?
Of class Y?
3. IN SHORT software
design 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, and
modules 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

Software architecture and software design

  • 1.
    “Module Architecture View” By SwapnilG. Thaware Software Architecture Design 1
  • 2.
    Contents : • Whatis 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
  • 3.
    What is meanby 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
  • 4.
    Why is Architectureis 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
  • 5.
    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 requirements 5
  • 6.
    Software design vsSoftware architecture : Software design Software architecture 1. Software design is about designing the individual modules / components 2. What are the responsibilities, functions, of module x? Of class Y? 3. IN SHORT software design 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
  • 7.
    Different types ofview ? 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
  • 8.
    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
  • 9.
    Module View : •The module view shows how the key elements of the software are mapped to modules and subsystems. • subsystems are decomposed into modules, and modules 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
  • 10.
  • 11.
  • 12.
    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
  • 13.
    In Short herewe 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
  • 14.
    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
  • 15.