chapter 6 architecture 1. what is architecture? overall structure of system first stage in design...
TRANSCRIPT
S
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
Levels
Author – Large and small
Large - Major Components POS system Billing system
Small – within a program Object structure Menu structure Command structure
4
Importance
Architecture Possilby difficult to change affects critical aspects of a system
Affects Performance Robustness Distributability Maintainability
5
Importance
Performance Hardware Database Communication Concurrency Load balancing
6
(Importance)
Robustness GUI builder – capable for the future 3d Model – choice will limit development Database – triggers, procedures,
7
(Importance)
Distributability Software Data
Maintainability Test Harness Expandability
8
Representation
Blocks – major components
Arrow – interaction of components
9
Uses
Documentation Development team maintenance team
Documentation for sales, external developers Expandability Interface Points Performance
10
Customer System
Access Database
Case studySimple Access Database
11
Periodic update
Program
Data
County Data
State Data
Third Party Data
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
(Importance)
Distributability – 2 ways Software updates Data updates Web servers Software release
Maintainability Commonly known tools – hiring GUI builder only – version control
13
Access Database
Case Study – Evolution 1
14
Access Database
Manual update
Program
Data
County Data
State Data
Third Party Data
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
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
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
(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
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
Types of ViewsKrutchen
Logical View key abstractions Objects, classes
Process With interactions
Development components
Physical Hardware and software
20
Patterns
Pattern General description of good, accepted practice Not an algorithm Not a technology
Examples Model-View-Controller 3 tier web application Layered
21
Multi-Tier, Client- Server
222222
Web Pages
Web Browser
DatabasesDatabase System
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
Repository
Central Database
Many applications
Chapter 4 Requirements engineering24
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
Pipe and Filter
Unix
Cat
Grep
Sed
Awk
Sort
Chapter 4 Requirements engineering26
Language Processing Systems
Early CAD systems
Mathematical formula systems
Natural Language Translation Systems
SQL
Compilers/Interpreters
27
Data Warehousing
Extraction of OLTP databases
Restructuring, simplification of databases
Simplified Analysis tools
28
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