Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.

Slides:



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

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modifed from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 12 & 13 Slide 1 Models of Software Architectures.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
COMP365: DESIGN Information systems architecture
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Application architectures
Establishing the overall structure of a software system
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
Application architectures
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Chapter 7 System models.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Chapter 6 Architectural Design.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 6 Architectural design Chapter 6 – Architectural Design Lecture 1 1.
Slide 1 Ch 13 Application architectures Generic architectures that can be configured and adapted to create a system that meets specific requirements Can.
Software Architectural Design 1. Topics covered  Architectural design decisions  Architectural views  Architectural patterns  Application architectures.
CS223: Software Engineering
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
Chapter – 8 Software Tools.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
System is a set of interacting or interdependent components forming an integrated whole.
Systems Analysis and Design in a Changing World, Fourth Edition
Application architectures 1. Topics covered In the previous chapter, the discussion of system arcitectures focused on architectural issues such as control,
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
A PPLICATION ARCHITECTURES Chapter 13. O BJECTIVES To explain the organisation of two fundamental models of business systems - batch processing and transaction.
Advanced Computer Systems
Software architecture
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Software Engineering Architectural Design Chapter 6 Dr.Doaa Samy
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Presentation transcript:

Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi

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

1- Data-processing systems 2 - Transaction-processing systems 3 - Event-processing systems 4 - language-processing systems Topics Include:

Types of applications: 1.Data-processing applications: are applications that are data-driven. They process data in batches without explicit user interventions during the processing. 2. Transaction-processing applications: are database-centred applications that process user requests for information and that update the information in a database. 3-. Event-processing systems the actions of the system depend on interpreting events in the system s environment.

4. Language-processing systems: are systems where the user's intentions are expressed in a formal language. The language-processing system processes this language into some internal format and then interprets this internal representation. Types of applications:

Data··processing systems As the name implies, these systems focus on data and the databases that they rely on are usually orders of magnitude larger than the systems themselves. Data-processing systems are batch-processing systems where data is input and output in batches from a file or database rather than input from and output to a user terminal. *An input component collects inputs from one or more sources; a processing component makes computations using these inputs *An output component generates outputs to be written back to the database and printed.

input-process-output structure: 1. An input component may read some data (input) from a file or database, check the validity of that data and correct some errors (process), then queue the valid data for processing (output).

2. A processing component may take a transaction from a queue (input), perform some computations on the data and create a new data record recording the results of the computation (process), then queue this new record for printing (output). Sometimes the processing is done within the system database and sometimes it is a separate program. 3. An output component may read records from a queue (input), format these according to the output form (process), then send them to a printer or write new records back to the database (output). input-process-output structure:

Data-flow diagrams: are a way of representing function-oriented systems where each round-edged rectangle in the data flow represents a function that implements some data transformation, and each arrow represents a data item that is processed by the function. The advantage of data-flow diagrams is that they show end-to-end processing. The fundamental data- flow structure consists of an input function that passes data to a processing function and then to an output function

Salary payment DFD Figure 13.2 illustrates how data-flow diagrams can be used to show a more detailed view of the architecture of a data-processing system.

Transaction-processing system  Transaction-processing systems are designed to process user requests for information from a database or requests to update the database  All of the operations in a transaction have to be completed before the database changes are made permanent. This means that failure of operations within the transaction do not lead to inconsistencies in the database.  Transaction-processing systems are usually interactive systems where users make  asynchronous requests for service.

The input-process-output structure that we can see in data-processing applications also applies to many transaction-processing systems. An example of a transaction-processing system is an ATM. Transaction-processing system

ATM system organization Figure 13.4 shows the architecture of this system.

To simplify the management of different terminal communication protocols, large scale transaction··processing systems may include middleware that communicates with all types of terminal, organizes and serializes the data from terminals, and sends that date, for processing.

Transaction management Figure 13.6 is a very general model of an information system. The system is modeled using a layered or abstract machine approach where the top layer supports the user interface and the bottom layer the system database

Information system structure

The user communication layer in Figure 13.7 includes three major components: 1-The UBSYS login component identifies and authenticates users. 2. The form and query manager component manages the forms that may be presented to the user and provides query facilities allowing the user to request information from the system. 3. The print manager component is specific to LIBSYS. It controls the printing of documents that, for copyright reasons, may be restricted

 four-layer generic structure in another type of information System, namely systems that are designed to support resource allocation.  layer in the LIBSYS system includes application- specific components: 1.Distributed search 2. Document retrieval 3. Rights manager 4. Accounting

LIBSYS organisation

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. Resource allocation systems

1.The components of a resource allocation system include: 2.A resource database 3.A rule set 4.A resource management component 5.A resource allocation component 6.A user authentication module 7.A query management module 8.A resource delivery component 9.A user interface component

Layered resource allocation

 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. . Event-processing systems

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.

Editing system architecture

 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. Language processing systems

A language processing system

language-processing system components: 1. A lexical analyser 2. A symbol table 3. A syntax analyser 4. A syntax tree 5. A semantic analyser 6. A code generator

Other components might also be included that transform the syntax tree to improve efficiency and remove redundancy from the generated machine code. In other types of language-processing systems, such as a natural language translator, the generated code is actually the input text translated into another language

Data-flow model of a compiler

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