1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 13 System Architecture and Design I.

Slides:



Advertisements
Similar presentations
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
Advertisements

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Project 1 Introduction to HTML.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
CS 501: Software Engineering Fall 2000 Lecture 14 System Architecture I Data Intensive Systems.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 8 Requirements II.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
CS 5150 Software Engineering
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
Application architectures
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Component and Deployment Diagrams
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS CS 5150 Software Engineering Lecture 14 System Architecture 2.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
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
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
TRANSACTION PROCESSING SYSTEM Liew Woei Song Muhammad Hofiz Achoson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
An Introduction to Software Architecture
1 INTRODUCTION TO DATABASE MANAGEMENT SYSTEM L E C T U R E
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
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.
Databases and Database Management Systems
1 Welcome to CSC 301 Web Programming Charles Frank.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
CS 5150 Software Engineering Lecture 13 Software Architecture 2.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 13 System Architecture and Design I.
14 1 Chapter 14 Web Database Development Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
WEB SERVER SOFTWARE FEATURE SETS
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 15 System Architecture and Design I.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 13 Usability 1.
CS 501: Software Engineering Fall 1999 Lecture 22 (a) Managing the Software Process (b) Software Reuse.
Two New UML Diagram Types Component Diagram Deployment Diagram.
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.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
E-Business Infrastructure PRESENTED BY IKA NOVITA DEWI, MCS.
CX Introduction to Web Programming
Component and Deployment Diagrams
WWW and HTTP King Fahd University of Petroleum & Minerals
Unified Modeling Language
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
System Architecture CS 560 Lecture 8.
Chapter 27 WWW and HTTP.
IMPORTANT NOTICE TO STUDENTS:
An Introduction to Software Architecture
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Presentation transcript:

1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 13 System Architecture and Design I

2 CS 501 Spring 2007 Administration Quizzes There are 4 quizzes, 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: Quiz 1 Q1Quiz 1, Q2Quiz 2 Q1Quiz 2 Q

3 CS 501 Spring 2007 Quiz 2, Question 2 The Pizza Ordering System The system allows the user of a cellular telephone with a Web browser to order pizza for home delivery. To place an order, a user searches to find items to purchase, adds items one at a time to a shopping cart, and possibly searches again for more items. When all items have been chosen, the user provides a delivery address, and may provide credit card information if not planning to pay with cash.

4 CS 501 Spring 2007 Quiz 2, Question 2 The following diagram illustrates various factors that, in combination, determine the usability of a computer system. interface design functional design data and metadata computer systems and networks mental model

5 CS 501 Spring 2007 Quiz 2, Question 2 (a) What is the mental model for the Pizza Ordering System?

6 CS 501 Spring 2007 Quiz 2, Question 2 (a) What is the mental model for the Pizza Ordering System? A shopping model: select items from menu, add to shopping cart, check out, credit card payment.

7 CS 501 Spring 2007 Quiz 2, Question 2 (b)In this system the cellular phone is being used as a small computer. How do the usability characteristics of this computer and the network over which it operates constrain the design of this system? List three characteristics and the constraints that they place on the system.

8 CS 501 Spring 2007 Quiz 2, Question 2 (b)In this system the cellular phone is being used as a small computer. How do the usability characteristics of this computer and the network over which it operates constrain the design of this system? List three characteristics and the constraints that they place on the system. small screen size -- difficult to display graphics restricted keyboard -- input tedious, no mouse slow network connection -- slow response, limited information etc.

9 CS 501 Spring 2007 Quiz 2, Question 2 (c)List two important functions that the interface must support?

10 CS 501 Spring 2007 Quiz 2, Question 2 (c)List two important functions that the interface must support? Select a type of pizza with toppings Input delivery address

11 CS 501 Spring 2007 Quiz 2 Question 2 (d)Choose one important function and describe a possible interface design for this part of the system. State which function this part of the interface supports, how it relates to the conceptual model, and how your interface deals with the constraints that you listed in part (b).

12 CS 501 Spring 2007 Quiz 2, Question 2 (d) Answer Select a type of pizza with toppings. Types of pizza are displayed as a scrollable text list. Each has a number. User selects by keying the number. If the pizza has options, they are displayed as a second text list. Constraints: Consistent with small display, simple numeric input, little data to transmit. Conceptual model: Similar to choosing from a food menu.

13 CS 501 Spring 2007 System Architecture and Design The overall design of a system: Computers and networks (e.g., monolithic, distributed) Interfaces and protocols (e.g., http, ODBC) Databases (e.g., relational, distributed) Security (e.g., smart card authentication) Operations (e.g., backup, archiving, audit trails) Software environments (e.g., languages, source control tools)

14 CS 501 Spring 2007 UML: System and Subsystem Modeling Subsystem model A grouping of elements that specifies what a part of a system should do. Component (UML definition) "A distributable piece of implementation of a system, including software code (source, binary, or executable) but also including business documents, etc., in a human system." A component can be thought of as an implementation of a subsystem.

15 CS 501 Spring 2007 UML Notation: Component & Node orderform.java A component is a physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces. Server A node is a physical element that exists at run time and represents a computational resource, e.g., a computer.

16 CS 501 Spring 2007 Components and Replaceability Components allow system to be assembled from binary replaceable elements. A component is physical -- bits not concepts A component can be replaced by any other component(s) that conforms to the interfaces. A component is part of a system. A component provides the realization of a set of interfaces.

17 CS 501 Spring 2007 System Architecture Example: Extensibility in Web Browsers Web browsers provide a flexible user interface through an extensible architecture. Protocols: HTTP, WAIS, Gopher, FTP, etc., proxies Data types: helper applications, plug-ins, etc. Executable code: CGI scripts at server JavaScript at client Java applets Style sheets: CSS, etc.

18 CS 501 Spring 2007 Web Interface: Basic Web server Web browser Static pages from server All interaction requires communication with server

19 CS 501 Spring 2007 UML Notation: Deployment Diagram WebBrowser PersonalComp WebServer DeptServer

20 CS 501 Spring 2007 UML Notation: Application Programming Interface (API) API is an interface that is realized by one or more components. WebServer GetPost

21 CS 501 Spring 2007 UML Notation: Interfaces WebBrowserWebServer HTTP dependency interface realization

22 CS 501 Spring 2007 Web User Interface: CGI Script Web browser Scripts can configure pages Scripts can validate information All interaction requires communication with server Data CGI Scripts Web server

23 CS 501 Spring 2007 UML Notation: CGI Interface Diagram CGIScript HTTP Apache CGI ODBC MySQL These components might be located on a single node.

24 CS 501 Spring 2007 Web User Interface: JavaScript Data CGI Scripts Web server Web browser JavaScripts can validate information as typed Some interactions are local Server interaction constrained by web protocols Java Script html

25 CS 501 Spring 2007 UML Notation: Package A package is a general-purpose mechanism for organizing elements into groups. Note: Some authors draw packages with a different shaped box: JavaScript

26 CS 501 Spring 2007 Example: Web Browser HTTP JavaScript HTMLRender Each package represents a group of objects. WebBrowser

27 CS 501 Spring 2007 Web User Interface: Applet Any server Web servers Web browser Any executable code can run on client Client can connect to any server Applets

28 CS 501 Spring 2007 Applet Interfaces WebBrowserWebServer HTTP XYZServer XYZInterface

29 CS 501 Spring 2007 UML Diagrams and Specifications For every subsystem, there is a choice of diagrams Choose the diagrams that best model the system and are clearest to everybody. In UML every diagram must have supporting specification The diagrams shows the relationships among parts of the system, but much, much more detail is needed to specify a system explicitly. For example, in the Applet Interface slide, at the very least, the specification should include the version of the protocols to be supported at the interfaces, the options (if any), and implementation restrictions.

30 CS 501 Spring 2007 Components and Classes Classes represent logical abstractions. They may be grouped into packages. Components represent physical things. They may live on nodes. Classes have attributes and operations directly. Components have operations that are reachable only through interfaces.

31 CS 501 Spring 2007 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)

32 CS 501 Spring 2007 Example: Electricity Utility Billing Transaction Types 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.,

33 CS 501 Spring 2007 Batch Processing Design Example: Electricity Utility Billing First attempt: Data input Master file Transaction Bill Each transaction is handled as it arrives.

34 CS 501 Spring 2007 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

35 CS 501 Spring 2007 Batch Processing: Validation Data input Master file Edit & validation read only errors Batches of validated transactions Batches of incoming transactions

36 CS 501 Spring 2007 UML Deployment Diagram: Batch Processing Validation MasterFile EditCheck ValidData DataInput RawData

37 CS 501 Spring 2007 Batch Processing: Master File Update Master file update Bills Validated transactions in batches Sort by account errors Reports Instructions

38 CS 501 Spring 2007 Interfaces to DataInput DataInput RawData EditCheckError UpdateError DataforCheck

39 CS 501 Spring 2007 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

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

41 CS 501 Spring 2007 Online Inquiry: Use Cases CustomerServer AnswerCustomer NewTransaction >

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

43 CS 501 Spring 2007 A Database Architecture 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)

44 CS 501 Spring 2007 Real-time Transactions Customer & account database Products & services database External services Real-time transactions

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

46 CS 501 Spring 2007 Stock Broker: Interface Diagram CustomerDB ProductDB OnLineTR BatchTR External

47 CS 501 Spring 2007 Practical considerations to include in Architecture and Specification Real-time service during scheduled hours with batch processing overnight Database consistency after any type of failure two-phase commit 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. *