1 note content copyright © 2004 ian sommerville. nu-specific content copyright © 2004 m. e. kabay....

30
Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301 – Software Engineering Lecture # 16 – 2004-10-06 M. E. Kabay, PhD, CISSP Assoc. Prof. Information Assurance Division of Business & Management, Norwich University mailto:[email protected] V: 802.479.7937

Upload: jocelyn-oneill

Post on 26-Mar-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Application Architectures

IS301 – Software EngineeringLecture # 16 – 2004-10-06

M. E. Kabay, PhD, CISSPAssoc. Prof. Information Assurance

Division of Business & Management, Norwich University

mailto:[email protected] V: 802.479.7937

Page 2: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

2 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Objectives

To explain the organization of two fundamental models of business systems:batch processing and transaction processing systems

To describe the abstract architecture of resource management systems

To explain how generic editors are event processing systems

To describe the structure of language processing systems

Page 3: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

3 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Topics covered

Data processing systemsTransaction processing systemsEvent processing systemsLanguage processing systems

Today we will race like the windto use 27 of Prof. Sommerville’s slides

Page 4: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

5 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Use of application architectures

As a starting point for architectural design.As a design checklist.As a way of organizing the work of the

development team.As a means of assessing components for

reuse.As a vocabulary for talking about application

types.

Page 5: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

6 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Application types (1)

Data processing applicationsData driven applications that process data

in batches without explicit user intervention during the processing.

Billing systems;Payroll systems.

Transaction processing applicationsData-centered applications that process

user requests and update information in a system database.

E-commerce systems;Reservation systems.

Page 6: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

7 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Application types (2)

Event processing systemsApplications where system actions depend

on interpreting events from the system’s environment.

Word processors;Real-time systems.

Language processing systemsApplications where the users’ intentions

are specified in a formal language that is processed and interpreted by the system.

Compilers;Command interpreters;Dictation software.

Page 7: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

8 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Data processing systems

Systems that are data-centered where the databases used are usually orders of magnitude larger than the software itself.

Data is input and output in batchesInput: A set of customer numbers and

associated readings of an electricity meter;Output: A corresponding set of bills, one

for each customer number.Data processing systems usually have an

input-process-output structure.

Page 8: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

9 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Input-process-output model

System

Input Process OutputPrinter

Database

Page 9: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

11 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Data-flow diagrams (DFDs)

Show how data are processed as they move through a system.

Representations:Transformations: round-edged rectangles,Data-flows: arrows between them andFiles/data stores: rectangles.

Page 10: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

12 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Salary payment DFD

Read employeerecord

Read monthlypay data

Computesalary

Write taxtransactions

Monthly paydata

Taxtables

Taxtransactions

Pension data

Validateemployee data

Write pensiondata

Write banktransaction

Write socialsecurity data

Employeerecords

Monthly payrates

Banktransactions

Social securitydata

Print payslipPRINTER

Decodedemployee

record

Pay information

Validemployee record

Tax deduction + SSnumber + tax office

Pensiondeduction +SS number

Empoyee data+ deductions

Net payment + bankaccount info.

Social securitydeduction + SS number

Page 11: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

13 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Transaction processing systems

Process user requests for information from a database or requests to update the database.

From a user perspective a transaction is:Any coherent sequence of operations that

satisfies a goal;For example - find the times of flights from

London to Paris.Users make asynchronous requests for

service which are then processed by a transaction manager.

Page 12: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

14 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Transaction processing

I/Oprocessing

Applicationlogic

Transactionmanager Database

Page 13: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

15 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

ATM system organization

Get customeraccount id

Validate card

Input

Query account

Update account

Print details

Return card

Dispense cash

Process Output

Select service

ATM Database ATM

Page 14: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

17 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Transaction management

Serialisedtransactions

Teleprocessingmonitor

Accountsdatabase

ATMs and terminals

Account queriesand updates

Page 15: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

18 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Information systems architecture

Information systems have a generic architecture that can be organized as a layered architecture.

Layers include:The user interfaceUser communicationsInformation retrievalSystem database

Page 16: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

19 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Information system structure

User interface

Information retrieval and modification

DatabaseTransaction management

User communications

Page 17: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

21 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

LIBSYS organization

Web browser interface

Distributedsearch Accounting

LIBSYSlogin

Forms andquery manager

Library index

Documentretrieval

DB1 DB2 DB3 DB4 DBn

Rightsmanager

Printmanager

Page 18: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

22 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Resource allocation systems

Systems that manage a fixed amount of some resource (football game tickets, books in a bookshop, etc.) and allocate this to users.

Examples of resource allocation systems:Timetabling systems where the resource

being allocated is a time period;Library systems where the resource being

managed is books and other items for loan;

Air traffic control systems where the resource being managed is the airspace.

Page 19: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

24 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Layered resource allocation

User interface

Resourcemanagement

Resource policycontrol

Resourceallocation

Userauthentication

Querymanagement

Resource database

Resourcedelivery

Transaction management

Page 20: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

27 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Event processing systems

These systems respond to events in the system’s environment.

Their key characteristic is that event timing is unpredictable so the architecture has to be organized to handle this.

Many common systems such as word processors, games, etc. are event processing systems.

Page 21: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

28 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Editing systems

Real-time systems (Chapter 15) and editing systems are the most common types of event processing system.

Editing system characteristics:Single user systems;Must provide rapid feedback to user

actions;Organized around long transactions so

may include recovery facilities.

Page 22: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

30 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Editing-system architecture

File System

SaveOpen

Editor data

Editingcommands

Ancillary data

Ancillarycommands

Command

Interpret

Screen

Refresh

Display

Update

Event

Process

Page 23: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

31 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Language processing systems

Accept a natural or artificial language as input and generate some other representation of that language.

May include an interpreter to act on the instructions in the language that is being processed.

Used in situations where the easiest way to solve a problem is to describe an algorithm or describe the system dataMeta-case tools process tool descriptions,

method rules, etc and generate tools.

Page 24: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

32 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

A language processing system

Translator

Check syntaxCheck semanticsGenerate

Interpreter

FetchExecute

Abstract m/cinstructions

Data Results

Instructions

Page 25: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

34 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Data-flow model of a compiler

Lexicalanalysis

Syntacticanalysis

Semanticanalysis

Codegeneration

Symbol table

Syntax tree

Page 26: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

35 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Repository model of a compiler

Syntaxanalyser

Lexicalanalyser

Semanticanalyser

Abstractsyntax tree

Grammardefinition

Symboltable

Outputdefinition

Pretty-printer

Editor

Optimiser

Codegenerator

Repository

Page 27: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

36 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Key points (1)

Generic models of application architectures help us understand and compare applications.

Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system.

Data processing systems operate in batch mode and have an input-process-output structure.

Page 28: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

37 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Key points (2)

Transaction processing systems allow information in a database to be remotely accessed and modified by multiple users.

Event processing systems include editors and real-time systems.

In an editor, user interface events are detected and an in-store data structure is modified.

Language processing systems translate texts from one language to another and may interpret the specified instructions.

Page 29: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

38 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

Homework

RequiredBy Wed 13 Oct 2004For 55 points, answer in detail:

13.2 (@30), 13.3 [diagram] (@10), &13.5 (@15)

OptionalBy 20 Oct 2004For a maximum of 10 points,Any or all of

13.4 (@2), 13.6 (@5), 13.8 (@3)

Page 30: 1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301

39 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.

DISCUSSION