+ All Categories
Home > Documents > CS 501: Software Engineering Fall 2000

CS 501: Software Engineering Fall 2000

Date post: 09-Feb-2016
Category:
Upload: dasan
View: 30 times
Download: 0 times
Share this document with a friend
Description:
CS 501: Software Engineering Fall 2000. Lecture 14 System Architecture I Data Intensive Systems. Administration. Midterm examination, October 16, 7:30 to 8:30 p.m. -- Hollister B14 (note change of room) -- See course notices for sample questions. System Architecture. - PowerPoint PPT Presentation
25
CS 501: Software Engineering Fall 2000 Lecture 14 System Architecture I Data Intensive Systems
Transcript
Page 1: CS 501: Software Engineering Fall 2000

CS 501: Software EngineeringFall 2000

Lecture 14

System Architecture IData Intensive Systems

Page 2: CS 501: Software Engineering Fall 2000

2

Administration

Midterm examination, October 16, 7:30 to 8:30 p.m.

-- Hollister B14 (note change of room)

-- See course notices for sample questions

Page 3: CS 501: Software Engineering Fall 2000

3

System Architecture

The overall design of a system:

• Computers and networks (e.g., monolithic, distributed)• Interfaces and protocols (e.g., http, CORBA)• Databases (e.g., relational, distributed)• Security (e.g., smart card authentication, SSL)• Operations (e.g., backup, archiving, audit trails)• Software environments (e.g., languages, source control tools)

Page 4: CS 501: Software Engineering Fall 2000

4

Data Intensive Systems

Examples

• Electricity utility customer billing

• Telephone company call recording and billing

• Car rental reservations (e.g., Hertz)

• Stock market brokerage (e.g., Charles Schwab)

• Web sales (e.g., Amazon.com)

Page 5: CS 501: Software Engineering Fall 2000

5

Example 1: Electricity Utility Billing

First attempt:

Data input Master fileTransaction Bill

Each transaction handled as it arrives.

Page 6: CS 501: Software Engineering Fall 2000

6

Criticisms of First Attempt

Where is this first attempt weak?

The requirements have not been specified!!!

Page 7: CS 501: Software Engineering Fall 2000

7

Transaction Types

• Create account / close account• Meter reading• Payment received• Other credits / debits• Check cleared / check bounced• Account query• Correction of error• etc., etc., etc.,

Page 8: CS 501: Software Engineering Fall 2000

8

Typical Requirements

• All payments to be credited on day received• Customers must be able to query account by telephone• Cutting off service for non-payment requires management authorization

• Data input staff should process n transactions per day per person• Error rate must be below 0.01%• System available 99.9% of business hours

Page 9: CS 501: Software Engineering Fall 2000

9

Batch Processing: Validation

Data input

Master file

Edit & validation

read only

errors

Validated transactions

Incoming transactions

Page 10: CS 501: Software Engineering Fall 2000

10

Batch Processing: Master File Update

Master fileupdate

Bills

Validated transactionsin batches

Sort by account

errors Reports

Instructions

Page 11: CS 501: Software Engineering Fall 2000

11

Benefits of Batch Updating

• All transactions for an account are processed together

• Backup and recovery have fixed checkpoints

• Better management control of operations

• Efficient use of staff and hardware

Page 12: CS 501: Software Engineering Fall 2000

12

Online Inquiry

Data input Master fileTransactions Bills

read only

Customer service

Page 13: CS 501: Software Engineering Fall 2000

13

Example 2: A Small-town Stockbroker

• Transactions

Received by mail or over telephoneFor immediate or later action

• Complex customer inquiries

• Highly competitive market

Page 14: CS 501: Software Engineering Fall 2000

14

A Database Architecture

Database(s):

• Customer and account database

• Financial products (e.g., account types, pension plans, savings schemes)

• External databases (e.g., stock markets, mutual funds, insurance companies)

Page 15: CS 501: Software Engineering Fall 2000

15

Database Architecture

Customer & account database

Products & services database

External services

Page 16: CS 501: Software Engineering Fall 2000

16

Real-time Transaction

Customer & account database

Products & services database

External services

Real-time transactions

Page 17: CS 501: Software Engineering Fall 2000

17

Real-time Transactions & Batch Processing

Customer & account database

Products & services database

External services

Real-time transactions

Batch processing

Data input

Page 18: CS 501: Software Engineering Fall 2000

18

Architectural considerations

• Real-time service during scheduled hours + batch processing overnight

• Combine information from several databases

• Database consistency after any type of failure

two-phase commitreload from checkpoint + logdetailed audit trail

• How will transaction errors be avoided?

• How will transaction errors be corrected?

Page 19: CS 501: Software Engineering Fall 2000

19

Example: Merger of Two Banks

Each bank has a database with its customer accounts. The databases are used by staff at many branches and for back-office processing.

The requirement is to integrate the two banks so that they appear to the customers to be a single organization and to provide integrated service from all branches.

Page 20: CS 501: Software Engineering Fall 2000

20

Merger of Two Banks: Options

???

???

AA BB

Page 21: CS 501: Software Engineering Fall 2000

21

Merger of Two Banks: Architectural Options

I. Convert everything to System A.

convert databasesretrain staffenhance System A (software and hardware)discard System B

II. Build an interface between the databases in System A and System B.

III. Extend client software so that it can interact with either System A or System B database.

Page 22: CS 501: Software Engineering Fall 2000

22

Distributed Computing: General Problem

An application that is running on one computer wishes to use data or services provided by another:

• Network connectionprivate, public, or virtual private networklocation of firewalls

• Protocolspoint-to-point, multicast, broadcastmessage passing, RPC, distributed objectsstateful or stateless

• Quality of service

Page 23: CS 501: Software Engineering Fall 2000

23

Network Choices

Public Internet:

Ubiquitous -- worldwideLow cost

Private network:

SecurityPredictable performanceChoice of protocols (e.g., IBM's SNA)

Page 24: CS 501: Software Engineering Fall 2000

24

Quality of Network Services

Performance

Maximum throughputVariations in throughputReal-time media (e.g., audio)

Business

SuppliersTrouble shooting and maintenanceUpgrades

Page 25: CS 501: Software Engineering Fall 2000

25

Firewall

Public network

Private network

Firewall

A firewall is a computer at the junction of two network segments that:

• Inspects every packet that attempts to cross the boundary

• Rejects any packet that does not satisfy certain criteria, e.g.,

an incoming request to open a TCP connectionan unknown packet type


Recommended