1 SWE 205 - Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)

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)
COMP365: DESIGN Information systems architecture
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 12 Slide 1 Distributed Systems Design 1.
Application architectures
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
©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.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©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.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 1 Introduction. Goal to learn about computers and programming to compile and run your first Java program to recognize compile-time and run-time.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
1 Welcome to CSC 301 Web Programming Charles Frank.
CSc 461/561 Software Engineering Lecture 7 – Architectural Design.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Lecture 1 Chapter 6 Architectural design1. Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design CS 425 October 29, 2013 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Chapter 6 – Architectural Design Chapter 6 Architectural Design1 CS 425 October 29, 2015 Note: These are a slightly modified version of Chapter 6 slides.
©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
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.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Application architectures 1. Topics covered In the previous chapter, the discussion of system arcitectures focused on architectural issues such as control,
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.
Software architecture
Chapter 6 – Architectural Design
Architectural Design.
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Chapter 6 – Architectural Design
Tiers vs. Layers.
Chapter 6 – Architectural Design
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
CS385 T&D Software Engineering Dr.Doaa Sami Khafaga
Chapter 5 Architectural Design.
Chapter 6 – Architectural Design
Presentation transcript:

1 SWE Introduction to Software Engineering Lecture 22 – Architectural Design (Chapter 13)

2 Lecture Objectives Transaction-processing systems Information systems architecture Resource allocation systems Event processing systems Language processing systems

3 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

4 Information system structure

5 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.

6 LIBSYS organisation

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

8 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.

9 Layered resource allocation

10 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.

11 E-commerce system architecture E-commerce systems are Internet- based resource management systems that accept electronic orders for goods or services. They are usually organised using a multi-tier architecture with application layers associated with each tier.

12 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.

13 Editing systems Real-time systems 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.

14 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.

15 Editing system architecture

16 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.

17 A language processing system

18 Language processing components Lexical analyser Symbol table Syntax analyser Syntax tree Semantic analyser Code generator

19 Data-flow model of a compiler

20 Repository model of a compiler

21 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.