Date post: | 26-Mar-2015 |
Category: |
Documents |
Upload: | jocelyn-oneill |
View: | 223 times |
Download: | 2 times |
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
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
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
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.
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.
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.
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.
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
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.
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
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.
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
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
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
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
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
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
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.
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
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.
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.
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
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.
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
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
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
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.
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.
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)
39 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved.
DISCUSSION