![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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062320/56649d7e5503460f94a60be6/html5/thumbnails/33.jpg)
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.