0% found this document useful (0 votes)
268 views37 pages

Software Engineering Chapter 13

Chapter 13

Uploaded by

nitin gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
268 views37 pages

Software Engineering Chapter 13

Chapter 13

Uploaded by

nitin gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 37

Application architectures

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  1


Objectives
 To explain the organisation 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

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  2


Topics covered
 Data processing systems
 Transaction processing systems
 Event processing systems
 Language processing systems

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  3


Generic application architectures
 Application systems are designed to meet an
organisational need.
 As businesses have much in common, their
application systems also tend to have a
common architecture that reflects the
application requirements.
 A generic architecture is configured and
adapted to create a system that meets specific
requirements.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  4


Use of application architectures
 As a starting point for architectural design.
 As a design checklist.
 As a way of organising the work of the
development team.
 As a means of assessing components for
reuse.
 As a vocabulary for talking about application
types.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  5


Application types
 Data processing applications
• Data driven applications that process data in batches without
explicit user intervention during the processing.
 Transaction processing applications
• Data-centred applications that process user requests and
update information in a system database.
 Event processing systems
• Applications where system actions depend on interpreting
events from the system’s environment.
 Language processing systems
• Applications where the users’ intentions are specified in a
formal language that is processed and interpreted by the
system.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  6


Application type examples
 Data processing systems
• Billing systems;
• Payroll systems.
 Transaction processing systems
• E-commerce systems;
• Reservation systems.
 Event processing systems
• Word processors;
• Real-time systems.
 Language processing systems
• Compilers;
• Command interpreters.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  7


Data processing systems
 Systems that are data-centred where the
databases used are usually orders of
magnitude larger than the software itself.
 Data is input and output in batches
• Input: 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.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  8


Syste
Input-process-output model

Input
Proc
Ou
Pr
Data
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  9
Input-process-output
 The input component reads data from a file or
database, checks its validity and queues the
valid data for processing.
 The process component takes a transaction
from the queue (input), performs computations
and creates a new record with the results of
the computation.
 The output component reads these records,
formats them accordingly and writes them to
the database or sends them to a printer.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  10


Data-flow diagrams
 Show how data is processed as it moves
through a system.
 Transformations are represented as round-
edged rectangles, data-flows as arrows
between them and files/data stores as
rectangles.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  11


Ta
EmployW
r
x
numb
records
W
r
Mont T
a
ite
tra
trande
ite
dat
rates P
e x
n
Salary payment DFD

Decod
VaV
a P
e
employ
Read lid
ded
record
record
emplo
SS ns
lidate
Comp
emplo em
Prin
salar
Emp
+ PR
I
N
den
P
a y
Read
pay T
a Net
info
W
xacc
dat
r m
ite
tran
table
Monthly Ba
tra
dataSocia
W
rite
dedu
secSo
da
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  12
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.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  13


Transaction processing

I/O
Appli
icT
rma
an
proces
log Da
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  14
Input
Get
accounO
Proc
cu
Pr
Que
ATM system organisation

V
a lidate
SelectRe
Upd
Di
A
TMDataATM
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  15
Transaction processing middleware
 Transaction management middleware or
teleprocessing monitors handle
communications with different terminal types
(e.g. ATMs and counter terminals), serialises
data and sends it for processing.
 Query processing takes place in the system
database and results are sent back through
the transaction manager to the user’s terminal.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  16


Acco
and
T
eSe
tra
molep
Ac
da
Transaction management

A
TMs a
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  17
Information systems architecture
 Information systems have a generic
architecture that can be organised as a
layered architecture.
 Layers include:
• The user interface
• User communications
• Information retrieval
• System database

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  18


Use
face
User
Information system structure

Infor
T
rDat
ans
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  19
LIBSYS architecture
 The library system LIBSYS is an example of an
information system.
 User communications layer:
• LIBSYS login component;
• Form and query manager;
• Print manager;
 Information retrieval layer
• Distributed search;
• Document retrieval;
• Rights manager;
• Accounting.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  20


W
e
LI
B
S
YF
oS
log
in fac
b
que b
Pri
rm
ma
LIBSYS organisation

Distri
Docu
Rig
Acc
searc
retri
man
Libr
DB1
DB2
DB3
DB
©Ian Sommerville 2004
DB Software Engineering, 7th edition. Chapter 13                         Slide  21
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.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  22


Resource allocation architecture
 Resource allocation systems are also layered
systems that include:
• A resource database;
• A rule set describing how resources are allocated;
• A resource manager;
• A resource allocator;
• User authentication;
• Query management;
• Resource delivery component;
• User interface.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  23


Use
fac
Layered resource allocation

Res
UserQu
deli
ma
authe
Reso
T Re
Reso
manaall
con
rReso
ans
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  24
Layered system implementation
 Each layer can be implemented as a large
scale component running on a separate
server. This is the most commonly used
architectural model for web-based systems.
 On a single machine, the middle layers are
implemented as a separate program that
communicates with the database through its
API.
 Fine-grain components within layers can be
implemented as web services.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  25


E-commerce system architecture

 E-commerce systems are Internet-based


resource management systems that accept
electronic orders for goods or services.

W
eW
bb
e App
D
sse
brows
sere
 They are usually organised using a multi-tier
architecture with application layers associated
with each tier.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  26


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
organised to handle this.
 Many common systems such as word
processors, games, etc. are event processing
systems.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  27


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;
• Organised around long transactions so may
include recovery facilities.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  28


Editing system components
 Editing systems are naturally object-oriented:
• Screen - monitors screen memory and detects
events;
• Event - recognises events and passes them for
processing;
• Command - executes a user command;
• Editor data - manages the editor data structure;
• Ancillary data - manages other data such as styles
and preferences;
• File system - manages file I/O;
• Display - updates the screen display.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  29


File
ystem
Save S
Editing system architecture

Open
Ancilla
Edito
Editin
comma
comm
Comm
Display
Inter
Update
Even
Proce
Screen
Refres
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  30
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 data
• Meta-case tools process tool descriptions, method
rules, etc and generate tools.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  31


T
r ans
Che
Instru
Gen
A language processing system

Abs
inst
Inte
F
e
Data Re
tch
Exe
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  32
Language processing components
 Lexical analyser
 Symbol table
 Syntax analyser
 Syntax tree
 Semantic analyser
 Code generator

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  33


S
ymb
nt
Data-flow model of a compiler

Le
xical
S
y Sem
nta
anal
ysis
anal
ysisC
ana
ysi
ga
tie
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  34
Le
xical
S
ySe
anal
ysernta
ana
yse
an
etty-
Abst
act
Grys
Repository model of a compiler

Pr am
Sy O
printe
synt
ee
Editor
ta
b
lR
e e
defi
Ou
mbCo
defi
ge
a
t o
epo
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  35
Key points
 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.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  36


Key points
 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.

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 13                         Slide  37

You might also like