Download presentation
Presentation is loading. Please wait.
Published byMervin Richardson Modified over 9 years ago
1
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures
2
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 2 Topics covered l Data processing systems l Transaction processing systems l Event processing systems l Language processing systems
3
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 3 Generic application architectures l Application systems are designed to meet an organisational need. l As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements. l A generic architecture is configured and adapted to create a system that meets specific requirements.
4
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 4 Use of application architectures l As a starting point for architectural design. l As a design checklist. l As a way of organising the work of the development team. l As a means of assessing components for reuse. l As a vocabulary for talking about application types.
5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 5 Application types l Data processing applications Data driven applications that process data in batches without explicit user intervention during the processing. l Transaction processing applications Data-centred applications that process user requests and update information in a system database. l Event processing systems Applications where system actions depend on interpreting events from the system’s environment. l Language processing systems Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system.
6
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 6 Application type examples l Data processing systems Billing systems; Payroll systems. l Transaction processing systems E-commerce systems; Reservation systems. l Event processing systems Word processors; Real-time systems. l Language processing systems Compilers; Command interpreters.
7
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 7 Data processing systems l Systems that are data-centred where the databases used are usually orders of magnitude larger than the software itself. l 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. l Data processing systems usually have an input-process-output structure.
8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 8 Input-process-output model
9
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 9 Input-process-output l The input component reads data from a file or database, checks its validity and queues the valid data for processing. l The process component takes a transaction from the queue (input), performs computations and creates a new record with the results of the computation. l The output component reads these records, formats them accordingly and writes them to the database or sends them to a printer.
10
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 10 Data-flow diagrams l Show how data is processed as it moves through a system. l Transformations are represented as round- edged rectangles, data-flows as arrows between them and files/data stores as rectangles.
11
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 11 Salary payment DFD
12
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 12 Transaction processing systems l Process user requests for information from a database or requests to update the database. l 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. l Users make asynchronous requests for service which are then processed by a transaction manager.
13
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 13 Transaction processing
14
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 14 ATM system organisation
15
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 15 E-commerce system architecture l E-commerce systems are Internet-based resource management systems that accept electronic orders for goods or services. l They are usually organised using a multi-tier architecture with application layers associated with each tier.
16
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 16 Event processing systems l These systems respond to events in the system’s environment. l Their key characteristic is that event timing is unpredictable so the architecture has to be organised to handle this. l Many common systems such as word processors, games, etc. are event processing systems.
17
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 17 Editing systems l Real-time systems (Chapter 15) and editing systems are the most common types of event processing system. l Editing system characteristics: Single user systems; Must provide rapid feedback to user actions; Organised around long transactions so may include recovery facilities.
18
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 18 Language processing systems l Accept a natural or artificial language as input and generate some other representation of that language. l May include an interpreter to act on the instructions in the language that is being processed. l 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.
19
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 19 Language processing components l Lexical analyser l Symbol table l Syntax analyser l Syntax tree l Semantic analyser l Code generator
20
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 20 Web Application Architecture The basic web application architecture consists of a web browser, network, and a web server. Browsers request pages from the server The web server responds with a page containing a mix of content and formatting instructions, expressed in HTML Web browserWeb server HTML request
21
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 21 Web Application Architecture Web browserWeb server HTML Javascript Activex Applet request Some pages include client-side scripts defining dynamic behaviors for the page to display (javascript)
22
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 22 Web Application Architecture Web browser Web server HTML request A dynamic web application architecture uses information at runtime (database) and a script to build the HTML file that is sent to the browser Scripted pagedatabase
23
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 23 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 1) Scripted pages – a mix of HTML and some other scripting language. Examples are Active Server Pages (ASP) and ColdFusion Scripted pagedatabase
24
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 24 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 2) Compiled page – a binary component. Examples are Microsoft’s ISAPI and Netscape’s NSAPI Scripted pagedatabase
25
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 25 Web Application Architecture Web browser Web server HTML request There are three types of CGI: 3) Hybrid – once requested, the page is compiled. Example is JavaServer Pages (JSP) Scripted pagedatabase
26
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 26 Web application architecture components Pages Forms Components Frames Other components
27
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 27 Pages The most fundamental component of a web application The page may be a: - static HTML page (client page) - combination of static HTML formatted pages and dynamic scripted pages (server page), which generates the client page HTML ASP CF TAGS HTML
28
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 28 Pages Business logic on the server is activated the execution of scripts inside the page HTML ASP CF TAGS HTML database Web server Web browser Web server
29
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 29 Pages Scripts running on the client (web browser) can augment the user interface and provide little if any business logic. HTML Javascript VBscript ASP CF TAGS HTML Javascript VBscript database Web server Web browser Web server
30
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 30 Forms A form is a mechanism for collecting user input in HTML The basic elements are : textarea, checkbox, radio button, selection lists. When a form is completed by a user, the user submits the form back to the server. Name: Address: DONE Web server ASP Or JSP Or CF
31
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 31 Web Application Architecture
32
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 32 l Generic models of application architectures help us understand and compare applications. l Important classes of application are data processing systems, transaction processing systems, event processing systems and language processing system. l Data processing systems operate in batch mode and have an input-process-output structure. Key points
33
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 33 Key points l Transaction processing systems allow information in a database to be remotely accessed and modified by multiple users. l Event processing systems include editors and real-time systems. l In an editor, user interface events are detected and an in-store data structure is modified. l Language processing systems translate texts from one language to another and may interpret the specified instructions.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.