object oriented design process.

Slides:



Advertisements
Similar presentations
Chapter 3 – Web Design Tables & Page Layout
Advertisements

Understanding Networked Applications: A First Course Chapter 5 by David G. Messerschmitt.
Microsoft Word 2013 An Overview. Your Environment Quick Access Toolbar Customizable toolbar for one-click shortcuts Tabs Backstage View Tools located.
EXCEL Spreadsheet Basics
Microsoft Office 2007: Introductory Computer Applications 11.
Client/Server Architecture
Creating Web Page Forms
Database Design IST 7-10 Presented by Miss Egan and Miss Richards.
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
Lesson 46: Using Information From the Web copy and paste information from a Web site print a Web page download information from a Web site customize Web.
Lesson 46: Using Information From the Web copy and paste information from a Web site print a Web page download information from a Web site customize Web.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Chapter 15 Designing Effective Output
XP Chapter 4 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 1 Collecting Data for Well-Designed Forms Chapter 4 “Making.
Tutorial 6 Using Form Tools and Creating Custom Forms
Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Bookstore Web Application Introducing Visual Web Developer 2008 Express and the.
Pasewark & Pasewark Microsoft Office 2003: Introductory 1 INTRODUCTORY MICROSOFT ACCESS Lesson 1 – Access Basics.
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Web Technologies Website Development Trade & Industrial Education
Key Applications Module Lesson 19 — PowerPoint Essentials
Lecture 5 Client-server Computing
Using a Spreadsheet Chapter 5.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
XP New Perspectives on Microsoft Office FrontPage 2003 Tutorial 4 1 Microsoft Office FrontPage 2003 Tutorial 4 – Using Shared Borders and Themes.
IE 411/511: Visual Programming for Industrial Applications
Windows Tutorial 4 Working with the Internet and
Microsoft Office Access 2003 Số tiết: 30 tiết lý thuyết 60 tiết thực hành Giáo viên: Từ thị Xuân Hiền.
Microsoft Access Lesson 1 Lexington Technology Center February 11, 2003 Bob Herring On the Web at
Introduction to MS WORD.
Management Information Systems MS Access MS Access is an application software that facilitates us to create Database Management Systems (DBMS)
Productivity Programs Common Features and Commands.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Key Applications Module Lesson 21 — Access Essentials
Chapter 1 Creating a Dreamweaver Web Page and Local Site
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. word 2010 Chapter 3 Formatting Documents.
MS Access 2007 Management Information Systems 1. Overview 2  What is MS Access?  Access Terminology  Access Window  Database Window  Create New Database.
Introduction to Microsoft publisher
Microsoft FrontPage 2003 Illustrated Complete Creating a Form.
By Felixberto Dominic B. Eruela.  Using a computer to create, edit, and print documents. Of all computer applications, word processing is the most common.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Fall 2003Sylnovie Merchant, Ph.D. ACCESS Tutorial Note: The purpose of this tutorial is to provide an introduction to some of the functions of ACCESS in.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Working with Data Lists.
MIMOS Berhad. All Rights Reserved. Nazarudin Wijee Mohd Sidek Salleh Grid Computing Lab MIMOS Berhad P-GRADE Portal Heuristic Evaluation.
Lesson: 2 Common Features and Commands After completing this lesson, you will be able to: Identify the main components of the user interface. Identify.
INTRODUCTION TO ACCESS. OBJECTIVES  Define the terms field, record, table, relational database, primary key, and foreign key  Create a blank database.
LECTURE 18 16/11/15. MAKING THE INTERFACE CONSISTENT Consistency is one way to develop and reinforce the users conceptual model of applications and give.
Word 2003 The Word Screen. Word 2003 Screen File Menu –Holds the options for creating a new document, opening a document, saving a document, printing.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Chapter 10 Creating a Template for an Online Form Microsoft Word 2013.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
Web Site Development - Process of planning and creating a website.
Microsoft Office 2013 Try It! Chapter 4 Storing Data in Access.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Word and the Writing Process. To create a document 1.On the Start menu, point to Programs, and then click Microsoft Word. A new document opens in Normal.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
1. Using word you can create the document and edit them later, as and when required,by adding more text, modifying the existing text, deleting/moving.
MS WORD INFORMATION TECHNOLOGY MANAGEMENT SERVICE Training & Research Division.
Word processing is the software package that enables you to create,edit, print and save documents for future retrieval reference. creating a document.
Microsoft Access 2013 ®® Case Study Creating a Database.
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
Working in the Forms Developer Environment
Word and the Writing Process
Access Lesson 1 Understanding Access Fundamentals
Case Study Creating a Database
MODULE 7 Microsoft Access 2010
Windows xp PART 1 DR.WAFAA SHRIEF.
Copyright 1999, University of California by David G. Messerschmitt
Programming with Microsoft Visual Basic 2008 Fourth Edition
Welcome To Microsoft Word 2016
Presentation transcript:

object oriented design process. Apply design axioms to design classes, their attributes, methods, associations, structures and protocols. Design the access layer. Design the view layer classes Iterate and refine the whole design. Reapply the design axioms and if needed repeat the preceding steps.

OBJECT ORIENTED DESIGN AXIOMS AN axiom is a fundamental truth that always is observed to be valid and for which is no counterexample or exception. A theorem is a proposition that may be self –evident but can be proven from accepted axioms. The author has applied Suh’s design axioms to object-oriented design.

Corollary 1: Uncoupled design with less information content Corollary 2: Single purpose Corollary 3: Large number of simple classes Corollary 4: Strong mapping Corollary 5: Standardization Corollary 6: Design with inheritance

Axiom 1 deals with relations between system components and axiom 2 deals with the complexity of design. AXIOM 1: THE INDEPENDENCE AXIOM: maintain the independence of the components. AXIOM 2: THE INFORMATION AXIOM: minimize the information content of the design.

Client host Client host Server host

Part of the rationale Specialization: Sharing: Clients specialize in user interface Servers specialize in managing data and application logic Sharing: Many clients can be supported by few servers Often data and logic are shared among applications and users

Client Server Peer-to-peer Client/server “I want to collaborate with my colleague” “I want to access some information” Client Server Peer-to-peer Client/server

Distinctions Client-server Peer-to-peer Asymmetric relationship Client predominately makes requests, server makes replies Peer-to-peer Symmetric relationship

Email application Server Client Client Email client sends message to server Later, recipient’s email client retrieves message from server Message is stored on POP server

Chat application Server Client Client Chat server aggregates typing from all users and sends to all clients Other user’s clients display aggregated typing from chat server Chat clients send user’s typing to server

Three-tier client/server Local-area network Application logic Presentation Note: many clients per application server, several application servers per data server Shared data

Application partition Client Host architecture Web browser Web server Common gateway interchange Application logic Databases and DBMS Application partition

Practice in defining tiers Online bookseller (e.g. amazon.com) Stock trading system (e.g. Schwab or E-trade)

amazon.com What is presentation, application logic, shared data? Presentation: Web browser Application logic Shared data

Schwab What is presentation, application logic, shared data?

Question What types of social applications would be appropriate for a client/server architecture? Deferred applications need a server -- you wouldn’t want communication to fail because a client was turned off, and there is often a “consolidation” function (example chatroom) Immediate applications can be done peer-to-peer -- if a client is turned off, no point to the application anyway. Also avoids server bottlenecks. Server may still have a role is filtering or consolidation.

Departments Enterprise-to-enterprise Commerce Consumer Enterprise

software4u.com Customers Customer-service department Technical-support Consumer Enterprise

Customer care Consumer application Enterprise application Web browser Web server Web server Web server Customer care Customer logic Agent logic Technician logic Customer audit Software documentation Problem knowledge base Databases

Customers Agents Technicians Customer logic Agent logic Technician logic Databases Accounts Products Orders

books4u.com Financial institution Book distribution centers Customers Consumer Enterprise Inter-enterprise

Book merchant Consumer e-commerce Inter-enterprise e-commerce Acquirer Web browser Web server Book merchant Customer logic Fullfillment logic Outside links Customers Merchandise Orders Databases Acquirer bank Book distributors

Clients Acquirer bank Customer logic Databases Book distributors Fullfillment logic Databases Book distributors Merchandise Orders Customers

Information providers Customers Stock market stocks4u.com Consumer Enterprise Inter-enterprise

Stock trader Consumer e-commerce Inter-enterprise e-commerce Web browser Web server Stock trader Customer logic Trading logic Outside links Accounts Products Orders Databases Information providers Financial markets

Clients Information providers Customer logic Trading logic Databases Financial markets Accounts Products Orders

Financial institution Customers flowers4u.com Local florists Consumer Enterprise Inter-enterprise

Florist delivery Consumer e-commerce Inter-enterprise e-commerce Web browser Push server Web server Push client Florist delivery Customer logic Fullfillment logic Outside link Accounts Products Orders Databases Acquirer bank

Customers Florists Customer logic Fullfillment logic Acquirer bank Databases Accounts Products Orders

Shortcomings of client/server Departmental solution Proliferates non-interoperable technologies and applications Hardwired applications lose flexibility Major goal: flexibility to meet new business opportunities and new organizational structures More tiers to logically decouple roles Away from stovepipe: horizontal as well as vertical structure What are some goals and likely characteristics of future enterprise architectures?

Forms and entry windows It provide access to data that users can retrieve , display, and change in the application.

Dialog boxes It display status information or ask users to supply information or make a decision before continuing with a task. Ok or cancel

Application windows An application window is a container of application objects or icons. In other words , it contains an entire application with which users can interact.

Guidelines for designing forms and data entry windows In general, what kind of information will users work with and why? For eample, a user might want to change inventory information , entry orders or maintain prices for stock items. Do users need access to all the information in a table In what order do users want rows to appear? Next identify

Navigating rows in a table, such as moving forward and backward , and going to first and last record. Adding and deleting rows. Changing data in rows. Saving and abandoning changes. Menu push buttons

Paper form such as a printed invoice, as the starting point for your design. Users scan a screen in the same way they read a page of a book, from left to right and top to bottom. When information is positioned vertically, align fields at their left edges. When entering data, users except to type information from left to right and top to bottom, as if they were using a typewriter.

Guidelines for designing dialog and error messages A dialog provides an exchange of information or a dialog between the user and the application. Your error message should be positive. For example instead of displaying “ you have typed an illegal date format” display the message “ enter date format mm/dd/yyyy”

Guidelines for the command buttons layout Layout out the major command buttons either stacked along the upper-right border of the dialog box or lined up across the bottom of the dialog box.

Guidelines for designing application windows A typical application window consists of a frame that defines its extent and a title bar that identifies what is being viewed in the window. File menu-new, open , print, save Edit menu- cut, copy, paste View menu Window menu Help menu

Guidelines for using colors For all objects on a window , you can use colors to add visual appeal to the form. You can use identical or similar colors to indicate related information. For example , savings account fields might appear in one color. For an object background , use a contrasting but complementary color.

Guidelines for using fonts Use commonly installed fonts, not specialized fonts that users might not have on their machines. Use bold for control labels, so they will remain legible when the object is dimmed. Using too many font styles , sizes and colors can be visually distracting and should be avoided.

Prototyping the user interface Rapid prototyping encourage the incremental development approach

Guidelines for designing dialog boxes and error messages: - 1. Your error message should be positive. 2. Your error message should be constructive. 3. Your message should be brief and meaningful. 4. Orient the controls in the dialog box in the direction people read.

Guidelines for the command buttons layout: - 1. Position the most important button 2. If you see OK and Cancel buttons, group them together. 3. If you include a Help command button, make it the last button in the set 4. Avoid making this button the default button 5. Make buttons a consistent length.

Guidelines for designing application windows: - 1. File Menu: this provides an interface for the primary operations that apply to a file. 2. Edit Menu: Include general purpose editing commands on the Edit menu. 3. View menu and other command menus 4. Window menu 5. Help menu – contains commands that provide access to Help information. 6. Toolbars and status bars: special interfaces constructs for managing sets of controls.

Guidelines for using colors: - 1. You can use identical or similar colors to indicate related information. 2. For an object background, use a contrasting but complementary color. 3. You can use dim colors to make other elements less noticeable. 4. using too many colors can be visually distracting and will make your application less interesting 5. Allow the user to modify the color configuration.

Guidelines for using fonts: - 1. Use commonly installed fonts, not specialized fonts that user might not have on their machines. 2. Use bold for control labels. 3. Use fonts consistently within each form and among all forms in your application 4. Using too many font styles, sizes and colors can be visually distracting and should be avoided.