chapter 6 architecture 1. what is architecture? overall structure of system first stage in design...

29
S Chapter 6 Architecture 1

Upload: melinda-wilkerson

Post on 12-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

S

Chapter 6 Architecture

1

Page 2: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

What is Architecture?

Overall Structure of system

First Stage in Design process

2

Page 3: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Architecture

Get it right to start Plan driven needs architecture Agile development needs an architectural basis

Overlap Requirements analysis and architecture

Relates more to non-functional requirements

3

Page 4: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Levels

Author – Large and small

Large - Major Components POS system Billing system

Small – within a program Object structure Menu structure Command structure

4

Page 5: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Importance

Architecture Possilby difficult to change affects critical aspects of a system

Affects Performance Robustness Distributability Maintainability

5

Page 6: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Importance

Performance Hardware Database Communication Concurrency Load balancing

6

Page 7: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

(Importance)

Robustness GUI builder – capable for the future 3d Model – choice will limit development Database – triggers, procedures,

7

Page 8: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

(Importance)

Distributability Software Data

Maintainability Test Harness Expandability

8

Page 9: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Representation

Blocks – major components

Arrow – interaction of components

9

Page 10: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Uses

Documentation Development team maintenance team

Documentation for sales, external developers Expandability Interface Points Performance

10

Page 11: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Customer System

Access Database

Case studySimple Access Database

11

Periodic update

Program

Data

County Data

State Data

Third Party Data

Page 12: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Case Study Problems

Separation of code and data Delivery of code to customer Delivery of data to customer Multiple databases in house

Insertion of data from external sources Transfer of data to customer

12

Page 13: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

(Importance)

Distributability – 2 ways Software updates Data updates Web servers Software release

Maintainability Commonly known tools – hiring GUI builder only – version control

13

Page 14: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Access Database

Case Study – Evolution 1

14

Access Database

Manual update

Program

Data

County Data

State Data

Third Party Data

Page 15: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Revision 1

Advantages Program deliverable without changing data Data deliverable without changing program

Still missing Generic data import mechanism Software updates – labor intensive – install per site Data updates – labor intensive – mail or download new Same integration repeated for each customer (county wide) Scalability of Access Database

15

Page 16: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Database Server(s)

Web Based Architecture

1616

Web Server(s)

Web Pages

Data Sources

Generic Data Transformation

State Databases

Customer Databases

Acct Mgmt / Extraction

System

ReportGenerato

r

Page 17: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Web Based Architecture

Generic Data import Replaced manual process Accepted multiple source types (mdb, csv, text) Recognized standard fields Multiple translations (city, state, zip – first, middle, last)

Server Choices Microsoft SQL Server Microsoft Server Microsoft Internet Information Server Chosen for performance/cost/dependability

17

Page 18: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

(Web Based Architecture)

State Databases Unified to minimize imports Separate by state to allow distribution on servers

Customer databases Separate to allow distribution on servers Extractions of State databases Separate allows for personal data, information

18

Page 19: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Database Architecture

Business Logic encoded in Stored Procedures Better performance than in web server Better security than in web server

Report Generation Crystal Reports Separate process (not part of web server)

19

Page 20: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Types of ViewsKrutchen

Logical View key abstractions Objects, classes

Process With interactions

Development components

Physical Hardware and software

20

Page 21: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Patterns

Pattern General description of good, accepted practice Not an algorithm Not a technology

Examples Model-View-Controller 3 tier web application Layered

21

Page 22: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Multi-Tier, Client- Server

222222

Web Pages

Web Browser

DatabasesDatabase System

Page 23: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Layered Architecture

Commonly used to describe Operating Systems Low level kernel Layer for device drivers Layer for security Layer for File systems Layer for user access

23

Page 24: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Repository

Central Database

Many applications

Chapter 4 Requirements engineering24

Page 25: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Client - Server

Web Browser – Web server

Smartphone app Weather Facebook

Thin client vs fat client Thin – minimal display, interaction Fat – Business processing at client

Chapter 4 Requirements engineering25

Page 26: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Pipe and Filter

Unix

Cat

Grep

Sed

Awk

Sort

Chapter 4 Requirements engineering26

Page 27: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Language Processing Systems

Early CAD systems

Mathematical formula systems

Natural Language Translation Systems

SQL

Compilers/Interpreters

27

Page 28: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Data Warehousing

Extraction of OLTP databases

Restructuring, simplification of databases

Simplified Analysis tools

28

Page 29: Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2

Discussion

Draw an architecture diagram for a major system Google Maps Facebook Weather tracking system Multiple Listing Service …

Also At least 5 major components Pros, cons Effects on development, distribution, performance

Chapter 4 Requirements engineering29