sa_lecture_df-1.pdf

14
7/30/2019 SA_lecture_DF-1.pdf http://slidepdf.com/reader/full/salecturedf-1pdf 1/14 Kazimieras Mickus, VU MIF  Layered Application Guidelines Software Architecture The project „Increasing Internationality in Study Programs of the Department of Computer Science II“, project number VP1–2.2–ŠMM-07-K-02-070, funded by The European Social Fund Agency and the Government of Lithuania

Upload: thx1155

Post on 14-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 1/14

Kazimieras Mickus, VU MIF

 Layered Application Guidelines

Software Architecture

The project „Increasing Internationality in Study Programs of the Department of Computer Science II“,project number VP1–2.2–ŠMM-07-K-02-070,funded by The European Social Fund Agency and the Government of Lithuania

Page 2: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 2/14

Outline

Software Architecture and Design

Design Fundamentals

Application Archetypes

Kazimieras Mickus, VU MIF2

Page 3: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 3/14

Detailed outline 1/3

Software Architecture and Design What Is Software Architecture?

Key Principles of Software Architecture Architectural Patterns and Styles

A Technique for Architecture and Design

Kazimieras Mickus, VU MIF3

Page 4: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 4/14

Detailed outline 2/3

Design Fundamentals Layered Application Guidelines

Presentation Layer Guidelines Business Layer Guidelines

Data Layer Guidelines

Service Layer Guidelines

Quality Attributes

Crosscutting Concerns Communication and Messaging

Physical Tiers and Deployment

Kazimieras Mickus, VU MIF4

Page 5: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 5/14

Detailed outline 3/3

Application Archetypes Choosing an Application Type

Kazimieras Mickus, VU MIF5

Page 6: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 6/14

Detailed outline

Design Fundamentals Layered Application Guidelines

Presentation Layer Guidelines Business Layer Guidelines

Data Layer Guidelines

Service Layer Guidelines

Quality Attributes

Crosscutting Concerns Communication and Messaging

Physical Tiers and Deployment

Kazimieras Mickus, VU MIF6

Page 7: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 7/14

More detailed outline Layered Application Guidelines

Overview

Logical Layered Design

Presentation, Business, and Data Layers Services and Layers

Services Layer

Design Steps for a Layered Structure

Step 1 – Choose Your Layering Strategy Step 2 – Determine the Layers You Require

Step 3 – Decide How to Distribute Layers and Components

Step 4 – Determine If You Need to Collapse Layers

Step 5 – Determine Rules for Interaction Between Layers Step 6 – Identify Cross Cutting Concerns

Step 7 – Define the Interfaces between Layers

Step 8 – Choose Your Deployment Strategy

Step 9 – Choose Communication ProtocolsKazimieras Mickus, VU MIF

7

Page 8: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 8/14

Logical Layered Design

Kazimieras Mickus, VU MIF8

Page 9: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 9/14

Logical Layered Design

Presentation layer.

Business layer.

Data layer.

Kazimieras Mickus, VU MIF9

Page 10: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 10/14

Services and Layers

Kazimieras Mickus, VU MIF10

Page 11: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 11/14

Design Steps for a Layered Structure

Step 1 – Choose Your Layering Strategy

Step 2 – Determine the Layers You Require

Step 3 – Decide How to Distribute Layers andComponents

Step 4 – Determine If You Need to Collapse Layers

Step 5 – Determine Rules for Interaction BetweenLayers

Step 6 – Identify Cross Cutting Concerns

Step 7 – Define the Interfaces between Layers

Step 8 – Choose Your Deployment Strategy

Step 9 – Choose Communication ProtocolsKazimieras Mickus, VU MIF

11

Page 12: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 12/14

Step 5 – Determine Rules for Interaction Between Layers

Top-down interaction.

Strict interaction.

Loose interaction.

Kazimieras Mickus, VU MIF12

Page 13: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 13/14

Step 7 – Define the Interfaces between Layers

Abstract interface.

Common design type.

Dependency inversion. Message-based.

Kazimieras Mickus, VU MIF13

Page 14: SA_lecture_DF-1.pdf

7/30/2019 SA_lecture_DF-1.pdf

http://slidepdf.com/reader/full/salecturedf-1pdf 14/14

Detailed outline

Design Fundamentals Layered Application Guidelines

Presentation Layer Guidelines Business Layer Guidelines

Data Layer Guidelines

Service Layer Guidelines

Quality Attributes

Crosscutting Concerns Communication and Messaging

Physical Tiers and Deployment

Kazimieras Mickus, VU MIF14