Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: " Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2."— Presentation transcript:

1  Chapter 6 Architecture 1

2 What is Architecture?  Overall Structure of system  First Stage in Design process 2

3 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

4 Levels  Author – Large and small  Large - Major Components  POS system  Billing system  Small – within a program  Object structure  Menu structure  Command structure 4

5 Importance  Architecture  Possilby difficult to change  affects critical aspects of a system  Affects  Performance  Robustness  Distributability  Maintainability 5

6 Importance  Performance  Hardware  Database  Communication  Concurrency  Load balancing 6

7 (Importance)  Robustness  GUI builder – capable for the future  3d Model – choice will limit development  Database – triggers, procedures, 7

8 (Importance)  Distributability  Software  Data  Maintainability  Test Harness  Expandability 8

9 Representation  Blocks – major components  Arrow – interaction of components 9

10 Uses  Documentation  Development team  maintenance team  Documentation for sales, external developers  Expandability  Interface Points  Performance 10

11 Case study Simple Access Database 11

12 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

13 (Importance)  Distributability – 2 ways  Software updates  Data updates  Web servers  Software release  Maintainability  Commonly known tools – hiring  GUI builder only – version control 13

14 Case Study – Evolution 1 14

15 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

16 Web Based Architecture 16

17 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

18 (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

19 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

20 Types of Views Krutchen  Logical View  key abstractions  Objects, classes  Process  With interactions  Development  components  Physical  Hardware and software 20

21 Patterns  Pattern  General description of good, accepted practice  Not an algorithm  Not a technology  Examples  Model-View-Controller  3 tier web application  Layered 21

22 Multi-Tier, Client- Server 22

23 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

24 Repository  Central Database  Many applications Chapter 4 Requirements engineering24

25 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

26 Pipe and Filter  Unix  Cat  Grep  Sed  Awk  Sort Chapter 4 Requirements engineering26

27 Language Processing Systems  Early CAD systems  Mathematical formula systems  Natural Language Translation Systems  SQL  Compilers/Interpreters 27

28 Data Warehousing  Extraction of OLTP databases  Restructuring, simplification of databases  Simplified Analysis tools 28

29 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


Download ppt " Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2."

Similar presentations


Ads by Google