CS 5150 1 CS 5150 Software Engineering Lecture 14 System Architecture 2.

Slides:



Advertisements
Similar presentations
ITSF STORE BUSINESS SOLUTION PRESENTATION. STORE MODULE INCLUDES: Material Management Purchasing Components Handling Shipments Receiving of parts Store.
Advertisements

Scan Checks Remotely Electronically Deposit and Clear YOU GET YOUR MONEY FASTER Your Location Bank.
Ch 26.
Categories of I/O Devices
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
© Tally Solutions Pvt. Ltd. All Rights Reserved 1 Shoper 9 Tally.ERP 9 Interface January 2010.
Refunds More Hassle Than They’re Worth Utility Payment Conference.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
CS 501: Software Engineering Fall 2000 Lecture 14 System Architecture I Data Intensive Systems.
1 SWE Introduction to Software Engineering Lecture 21 – Architectural Design (Chapter 13)
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Lecture 23: Software Architectures
CS 5150 Software Engineering
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
Application architectures
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Introduction to Databases Transparencies
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
CS 501: Software Engineering Fall 2000 Lecture 15 System Architecture II Distributed and Real Time Systems.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Application architectures
TRANSACTION PROCESSING SYSTEM Liew Woei Song Muhammad Hofiz Achoson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
Textbook  “Data Communications and Networking” 2 nd Edition by Behrouz A. Forouzan  “Data and Computer Communication” 6 th Edition by William Stallings.
Transaction Processing System
Transaction Processing System  Business Transactions are certain events that occur routinely in a business firm.  A transaction is a set of activities.
Delight QuickBooks Online Banking Internal Support Training QuickBooks Windows 2009/2010 Online Banking.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
CS CS 5150 Software Engineering Lecture 18 Security.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Module 7: Fundamentals of Administering Windows Server 2008.
CS 360 Lecture 8.  The requirements describe the function of a system as seen by the client.  The software team must design a system that will meet.
Lead Management Tool Partner User Guide March 15, 2013
© Copyright 2007 Arbinet-thexchange, Inc. All Rights Reserved. Voice Peering Steve Heap Chief Technology Officer.
Characteristics of ERP Systems. There are some significant differences between ERP and non-ERP systems. These differences are:  In ERP systems, information.
Faculty of Computer & Information Software Engineering Third year
In-depth Integrated Settlement RA43 Breakout Session RAWG Member Name, Airline James Shannon, IATA.
Computer Emergency Notification System (CENS)
 2001 Prentice Hall Business Publishing, Accounting Information Systems, 8/E, Bodnar/Hopwood Chapter 10 Electronic Data Processing Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
CS 501: Software Engineering
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 14 System Architecture II.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 14 System Architecture and Design 2.
CS 5150 Software Engineering Lecture 13 Software Architecture 2.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Model View Controller MVC Web Software Architecture.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
CHAPTER 2 TYPES OF BUSINESS INFORMATION SYSTEM. INTRODUCTION Information System support business operations by processing data related to business operation.
MGA Duplica Replication Tool. 1. High Availability and Avoidance of Data Loss  Replicate to alternate databases 2. Split activities across databases.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 15 System Architecture and Design I.
Role Of Network IDS in Network Perimeter Defense.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Advanced Higher Computing Science
IT323 - Software Engineering 2
System Architecture CS 560 Lecture 8.
Progress leisure OCR GCSE ICT.
CS 501: Software Engineering Fall 1999
Software models - Software Architecture Design Patterns
Presentation transcript:

CS CS 5150 Software Engineering Lecture 14 System Architecture 2

CS Administration Second assignment Everybody should have received comments on their presentation and report. Several teams were asked to contact the Teaching Assistant (e.g., a better schedule or improved visibility). Grading was rather generous.

CS Administration Next and final presentations Sign up now Team members who were unable to come to the first presentation should attend the second

CS Administration Tests There are 4 tests, each with 2 questions. The final grade will be based on the best 6 questions out of 8. Uncollected answer books are at 301 College Avenue. Average grades: Test 1 Q1Test 1 Q2Test 2 Q1Test 2 Q Last time that this course was taught, poor test results were a common reason for getting a poor overall grade for the course

CS System Design: Data Intensive Systems Examples Electricity utility customer billing (e.g., NYSEG) Telephone call recording and billing (e.g., Verizon) Car rental reservations (e.g., Hertz) Stock market brokerage (e.g., Charles Schwab) E-commerce (e.g., Amazon.com) University grade registration (e.g., Cornell)

CS Example: Electricity Utility Billing Requirements analysis has identified several transaction types: Create account / close account Meter reading Payment received Other credits / debits Check cleared / check bounced Account query Correction of error etc., etc., etc., Architectural Style: Master File Update

CS Electricity Utility Billing First attempt: Data input Master file Transaction Bill Each transaction is handled as it arrives.

CS Criticisms of First Attempt Where is this first attempt weak? A bill is sent out for each transaction, even if there are several per day Bills are not sent out on a monthly cycle Awkward to answer customer queries No process for error checking and correction All activities are triggered by a transaction

CS Electricity Utility Billing Batch Processing: Edit and Validation Data input Master file Edit & validation read only errors Batches of validated transactions Batches of incoming transactions

CS UML Deployment Diagram: Validation MasterFile Check EditCheck ValidData DataInput RawData

CS Electricity Utility Billing Batch Processing: Master File Update Master file update Bills Validated transactions in batches Sort by account errors Reports Batches of input data Checkpoints and audit trail

CS Electricity Utility Billing Benefits of Batch Updating All transactions for an account are processed together at appropriate intervals Backup and recovery have fixed checkpoints Better management control of operations Efficient use of staff and hardware Error detection and correction is simplified

CS Architectural Style: Master File Update (basic) Master file update Data input and validation Mailing and reports Example: billing system for electric utility Advantages: Efficient way to process batches of transactions. Disadvantages: Information in master file is not updated immediately. No good way to answer customer inquiries. Sort

CS Online Inquiry: Use Case CustomerServer AnswerCustomer NewTransaction > A customer calls the utility and speaks to a customer service representative. The representative can read the master file, but not make changes to it. If the representative wishes to change information in the master file, a new transaction is created as input to the master file update system.

CS Online Inquiry Master file read only Customer Service Customer Service department can read the master file, make annotations, and create transactions, but cannot change the master file. New transaction

CS Architectural Style: Master File Update (full) Example: billing system for electric utility Advantages: Efficient way to answer customer inquiries. Disadvantages: Information in master file is not updated immediately. Customer services Master file update Data input and validation Mailing and reports Sort

CS Data Intensive Systems with Real Time Transactions Transactions Received by mail or over telephone For immediate or later action Complex customer inquiries Highly competitive market Example: A Small-town Stockbroker

CS Real-time Transactions & Batch Processing Customer & account database Real-time transactions Data input This is a combination of the Repository style and the Master File Update style

CS Extending the Repository Architectural Style: A Small-town Stockbroker Databases Customer and account database Financial products (e.g., account types, pension plans, savings schemes) Links to external databases (e.g., stock markets, mutual funds, insurance companies)

CS Real-time Transactions Customer & account database Products & services database Real-time transactions External services

CS Real-time Transactions & Batch Processing Customer & account database Products & services database Real-time transactions Batch processing Data input External services

CS Stock Broker: Interface Diagram CustomerDB ProductDB OnLineTR BatchTR External

CS Practical considerations to include in Architecture and Specification Can real-time service during scheduled hours with batch processing overnight? How will the system guarantee database consistency after any type of failure? reload from checkpoint + log detailed audit trail How will transaction errors be avoided and identified? How will transaction errors be corrected? How will staff dishonesty be controlled? These practical considerations may be major factors in the choice of architecture.

CS Combining Architectural Styles: Merger of Two Banks Each bank has a database with its customer accounts. The databases are used by staff at many branches and for back-office processing. These systems are examples of Repository Architectural Style. The requirement is to integrate the two banks so that they appear to the customers to be a single organization and to provide integrated service from all branches. This is an example of working with legacy systems.

CS Merger of Two Banks: Options ??? A B

CS Merger of Two Banks: Interface between the Databases Accounts database Batch input Teller transactions Accounts database Batch input Teller transactions Bank A Bank B Both systems follow the repository style

CS Merger of Two Banks: Architectural Options I.Convert everything to System A convert databases retrain staff enhance System A (software and hardware) discard System B II.Build an interface between the databases in System A and System B III.Extend client software so that it can interact with either System A or System B database

CS Merger of Two Banks: Interface between the Databases Accounts database Batch input Teller transactions Accounts database Batch input Teller transactions Bank ABank B Data exchange API Problem Accounts databases are rarely exactly equivalent. Data trans- form

CS Systems Architecture for Network Systems: Firewall Public network Private network Firewall A firewall is a computer at the junction of two network segments that: Inspects every packet that attempts to cross the boundary Rejects any packet that does not satisfy certain criteria, e.g., an incoming request to open a TCP connection an unknown packet type Firewalls provide security at a loss of flexibility and a cost of system administration.

CS Time-Critical Systems A time-critical (real time) system is a software system whose correct functioning depends upon the results produced and the time at which they are produced. A soft real time system is degraded if the results are not produced within required time constraints e.g., a router is permitted to time out or lose a packet A hard real time system fails if the results are not produced within required time constraints e.g., a fly-by-wire control system for an airplane, must respond within specified time limits.

CS Time-Critical System: Buffering Input block Output block Circular buffer Example: A CD Controller for an Automobile The controller attempts to keep the next 12 seconds of sound in the buffer

CS Time Critical System: Architectural Style - Daemon Daemon Example: Web server The daemon listens at port 80 When a message arrives it: spawns a processes to handle the message returns to listening at port 80 Spawned process A daemon is used when messages sometimes arrive at closer intervals than the the time to process them.

CS Architectural Style - Model/View/Controller Model Controller View Example: Control of a unmanned model aircraft Controller: Receives instrument readings from the aircraft and sends controls signals to the aircraft. Model: Translates data received from and sent to the aircraft, and instructions from the user into a model of flight performance. Uses domain knowledge about the aircraft and flight. View: Displays information about the aircraft to the user and transmits instructions to the model.

CS Time-Critical System Example: Autonomous Land Vehicle Sensors GPS Sonar Laser Signal processing ModelControl signals Steer Throttle Controls

CS Model/View/Controller for Web Applications ModelControllerView HTML HTTP WebBrowser Receives user input, e.g., GET or PUT Generates response, e.g., displays information

CS Model/View/Controller for Web Applications 1User interacts with the user interface (e.g., presses a mouse button). 2Controller handles input event from the user interface, (e.g., via a registered handler or callback) and converts the event into appropriate user action. 3Controller notifies Model of user action, possibly resulting in a change in Model's state (e.g., update shopping cart.). 4View interacts with Model to generate an appropriate user interface response (e.g., list shopping cart's contents). 5User interface waits for further user interactions. from Wikipedia 10/18/2009

CS Software Considerations In some types of system architecture, non-functional requirements of the system may dictate the software design and development process.

CS Software Considerations: Time-Critical System Developers of advanced time-critical software spend almost all their effort developing the software environment: Monitoring and testing -- debuggers Crash restart -- component and system-wide Downloading and updating Hardware troubleshooting and reconfiguration etc., etc., etc.

CS Software Considerations: Testing Example: Testing multi-threaded and parallel systems Several similar threads operating concurrently: Re-entrant code -- separation of pure code from data for each thread May be real-time (e.g., telephone switch) or non-time critical The difficult of testing real-time, multi-threaded systems may determine the entire software architecture. Division into components, each with its own acceptance test.

CS Software Considerations: Continuous Operation Many systems must operate continuously Software update while operating Hardware monitoring and repair Alternative power supplies, networks, etc. Remote operation These functions must be designed into the fundamental architecture.