Top Banner
“Module Architecture View” By Swapnil G. Thaware Software Architecture Design 1
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software architecture and software design

“Module Architecture View”

By

Swapnil G. Thaware

Software Architecture

Design

1

Page 2: Software architecture and software design

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

Page 3: Software architecture and software design

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

Page 4: Software architecture and software design

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

Page 5: Software architecture and software design

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

Page 6: Software architecture and software design

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

Page 7: Software architecture and software design

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

Page 8: Software architecture and software design

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

Page 9: Software architecture and software design

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

Page 10: Software architecture and software design

13 slide10

Page 11: Software architecture and software design

13 slide11

Page 12: Software architecture and software design

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

Page 13: Software architecture and software design

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

Page 14: Software architecture and software design

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

Page 15: Software architecture and software design

THANK YOU !!!

15