12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design...

33
12-1 © Prentice Hall, 2004 Chapter 12: Chapter 12: Design Elements Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    0

Transcript of 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design...

Page 1: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-1 © Prentice Hall, 2004

Chapter 12:Chapter 12:Design ElementsDesign Elements

Object-Oriented Systems Analysis and Design

Joey F. George, Dinesh Batra,

Joseph S. Valacich, Jeffrey A. Hoffer

Page 2: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-2Chapter 12 © Prentice Hall, 2004

Chapter ObjectivesChapter Objectives

After studying this chapter you should be able to:– Understand the different design architecture

configurations.– Understand the use of components in systems

design.– Understand the different component standards.– Map an analysis class diagram into a design

class diagram.

Page 3: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-3Chapter 12 © Prentice Hall, 2004

Page 4: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-4Chapter 12 © Prentice Hall, 2004

What Is a Design Element?What Is a Design Element?

Either a design class or a component:

Design Class – an enhanced version of an analysis class that includes details regarding attributes and methods, including visibility, arguments, and data types.

Component – a replaceable part of a system that provides a clearly defined function through a set of interfaces.

Page 5: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-5Chapter 12 © Prentice Hall, 2004

What Is a Design Architecture?What Is a Design Architecture?

An overall blueprint of the design of a system.

Goal of design architecture – ability to scale and evolve over time.

Enterprise Application Design (EAD) – the process of designing applications that embrace change.

Page 6: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-6Chapter 12 © Prentice Hall, 2004

What Is a Tiered (or Layered) What Is a Tiered (or Layered) Architecture?Architecture?

The partitioning of a system into layers such that each layer performs a specific type of functionality and communicates with the layers that adjoin it.

Options– Single-tier– Two-tier– Three-tier– N-tier

Page 7: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-7Chapter 12 © Prentice Hall, 2004

Single-Tier ArchitecturesSingle-Tier Architectures

One computer performing all tasks

Either a standalone PC, or a mainframe servicing many dumb terminals

Rare for new systems, not very scalable

Page 8: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-8Chapter 12 © Prentice Hall, 2004

Two-Tier ArchitecturesTwo-Tier Architectures

Client-Server architecture

Client – Application layer (front-end), performs business rules and user interface

Server – Database layer (back end), provides data access

Middleware – the communication interface between client and server

Page 9: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-9Chapter 12 © Prentice Hall, 2004

What Is Middleware?What Is Middleware?

Software that provides one set of interfaces for connection to a client and another set of interfaces for connection to a server, thereby providing the possibility of connections between one of several clients with one of several servers.

Page 10: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-10Chapter 12 © Prentice Hall, 2004

Page 11: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-11Chapter 12 © Prentice Hall, 2004

Limitations of Client-Server Limitations of Client-Server ArchitecturesArchitectures

Thick clients – heavy burden placed on each client machine

Application changes need to be distributed to many clients

Typically use proprietary technologies, hindering application integration

Page 12: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-12Chapter 12 © Prentice Hall, 2004

Three-Tier ArchitecturesThree-Tier Architectures

Three layers are:– Presentation – front tier, providing user

interface, perhaps with formatting and constraint-checking rules

– Business rules – middle tier, addressing logic and decisions for the system, sometimes called application layer

– Data – back tier, addressing data storage and access, with some rules regarding data integrity

Page 13: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-13Chapter 12 © Prentice Hall, 2004

Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.

Page 14: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-14Chapter 12 © Prentice Hall, 2004

Mapping from Analysis to Design Mapping from Analysis to Design ClassesClasses

1 Analysis Class 1 Design Class1 Analysis Class n Design Classes n Analysis Classes 1 Design Classn Analysis Classes 1 Package n Analysis Classes 1 Component

Page 15: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-15Chapter 12 © Prentice Hall, 2004

Characteristics of ComponentsCharacteristics of Components

– Used for specific commonly used purpose– Collection of classes and interfaces– Hidden implementation details– Plug-and-play capability– Third-party developed, typically in binary form– Reusable in many applications– Well-tested and relatively error-free

Page 16: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-16Chapter 12 © Prentice Hall, 2004

What Is a Component Standard?What Is a Component Standard?An agreed-upon format for defining interfaces and

implementations of components

Examples:– Microsoft COM+– OMG’s CORBA– Sun Microsystem’s Enterprise Java Beans (EJB)– Database Middleware Standards (ODBC, ADO, JDBC)– XML/SOAP

Page 17: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-17Chapter 12 © Prentice Hall, 2004

COM+COM+

Component Object Model (COM) from Microsoft

Run-time environment for middle-tier components

Supports transactions, identity, and security services, and allows components to call each other locally or remotely through a messaging service

Page 18: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-18Chapter 12 © Prentice Hall, 2004

CORBACORBA

– Common Object Request Broker Architecture– Published by Object Management Group

(OMG)– Component standard for distributed and

heterogeneous network– Objects written in different languages

communicate through Interface Definition Language

– Interface is managed by Object Request Brokers (ORBs)

Page 19: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-19Chapter 12 © Prentice Hall, 2004

EJBEJB

Enterprise Java Beans

Component-based distributed computing architecture

EJB is a server-side component model for managing objects in a distributed environment

EJB requires CORBA for communications

Page 20: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-20Chapter 12 © Prentice Hall, 2004

Database Middleware StandardsDatabase Middleware Standards

Microsoft’s ODBC – Open Database Connectivity

Microsoft’s ADO – ActiveX Data Objects

Sun’s JDBC – Java Database Connectivity

Page 21: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-21Chapter 12 © Prentice Hall, 2004

Comparison of OMG, Microsoft, and Sun

Limitations:1. Tightly coupled2. Binary 3. Proprietary

Page 22: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-22Chapter 12 © Prentice Hall, 2004

XML and SOAPXML and SOAP Text-based, loosely coupled, non-proprietary internet-

oriented standard for inter-layer communication

eXtensible Markup Language (XML) – method for putting structured data into text format, similar to HTML

Simple Object Access Protocol (SOAP) – XML-based protocol for exchanging messages between applications operating in different layers

Page 23: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-23Chapter 12 © Prentice Hall, 2004

What Is a Framework?What Is a Framework?

A collection of components, consisting of code and interfaces written in a specific language, that solves or helps build applications.

Two main competitors:• Microsoft .NET• Sun Java 2 Enterprise Editiion (J2EE)

Page 24: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-24Chapter 12 © Prentice Hall, 2004

Microsoft .NETMicrosoft .NET

Development framework that integrates COM+ and Active Server Pages (ASP) technologies for B2C applications, with support for XML/SOAP Web services for B2B applications

ActiveX – OLE/COM based component ADO, ADO .NET – database middleware ASP, ASP.NET – dynamic HTML generation

Page 25: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-25Chapter 12 © Prentice Hall, 2004

Sun J2EESun J2EE Java 2 Enterprise Edition Development framework that provides a specification

of architectural components designed to work together to define a complete enterprise architecture, with support for XML/SOAP and Web services

EJB – Java-based component standard JDBC – database middleware Java Server Pages, Servlets – dynamic HTML

generation

Page 26: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-26Chapter 12 © Prentice Hall, 2004

Page 27: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-27Chapter 12 © Prentice Hall, 2004

Page 28: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-28Chapter 12 © Prentice Hall, 2004

In UML, packages are represented as rectangles with tabs in the top left corner.

Page 29: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-29Chapter 12 © Prentice Hall, 2004

What Is a Design Class What Is a Design Class Diagram?Diagram?

A design class diagram shows the data types of the attributes, the return types and arguments of the operations, and the visibility specifications for all attributes and operations.

Signature – the return type, name, and argument list of a method

Interfaces to classes are based on signatures.

Page 30: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-30Chapter 12 © Prentice Hall, 2004

Page 31: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-31Chapter 12 © Prentice Hall, 2004

Guidelines for Allocating Guidelines for Allocating ResponsibilitiesResponsibilities

Information access done by information expert

Object creation done by aggregating classAim for loose couplingAim for high cohesion

Page 32: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-32Chapter 12 © Prentice Hall, 2004

Page 33: 12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.

12-33Chapter 12 © Prentice Hall, 2004

RecapRecap

After studying this chapter we learned to:– Understand the different design architecture

configurations.– Understand the use of components in systems

design.– Understand the different component standards.– Map an analysis class diagram into a design

class diagram.