Chapter 12 Design Elements ObjectOriented Systems Analysis and
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer © Prentice Hall, 2004 12 -1
Chapter Objectives l 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. Chapter 12 © Prentice Hall, 2004 2
Chapter 12 © Prentice Hall, 2004 3
What Is a Design Element? l Either a design class or a component: l Design Class – an enhanced version of an analysis class that includes details regarding attributes and methods, including visibility, arguments, and data types. l Component – a replaceable part of a system that provides a clearly defined function through a set of interfaces. Chapter 12 © Prentice Hall, 2004 4
What Is a Design Architecture? l An overall blueprint of the design of a system. l Goal of design architecture – ability to scale and evolve over time. l Enterprise Application Design (EAD) – the process of designing applications that embrace change. Chapter 12 © Prentice Hall, 2004 5
What Is a Tiered (or Layered) Architecture? l 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. l Options – – Single-tier Two-tier Three-tier N-tier Chapter 12 © Prentice Hall, 2004 6
Single-Tier Architectures l One computer performing all tasks l Either a standalone PC, or a mainframe servicing many dumb terminals l Rare Chapter 12 for new systems, not very scalable © Prentice Hall, 2004 7
Two-Tier Architectures l Client-Server architecture l Client – Application layer (front-end), performs business rules and user interface l Server – Database layer (back end), provides data access l Middleware – the communication interface between client and server Chapter 12 © Prentice Hall, 2004 8
What Is Middleware? l 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. Chapter 12 © Prentice Hall, 2004 9
Chapter 12 © Prentice Hall, 2004 10
Limitations of Client-Server Architectures l Thick clients – heavy burden placed on each client machine l Application changes need to be distributed to many clients l Typically use proprietary technologies, hindering application integration Chapter 12 © Prentice Hall, 2004 11
Three-Tier Architectures l 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 Chapter 12 © Prentice Hall, 2004 12
Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures. Chapter 12 © Prentice Hall, 2004 13
Mapping from Analysis to Design Classes Analysis Class 1 Design Class l 1 Analysis Class n Design Classes l n Analysis Classes 1 Design Class l n Analysis Classes 1 Package l n Analysis Classes 1 Component l 1 Chapter 12 © Prentice Hall, 2004 14
Characteristics 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 Chapter 12 © Prentice Hall, 2004 15
What Is a Component Standard? l An agreed-upon format for defining interfaces and implementations of components l Examples: – Microsoft COM+ – OMG’s CORBA – Sun Microsystem’s Enterprise Java Beans (EJB) – Database Middleware Standards (ODBC, ADO, JDBC) – XML/SOAP Chapter 12 © Prentice Hall, 2004 16
COM+ l Component Object Model (COM) from Microsoft l Run-time environment for middle-tier components l Supports transactions, identity, and security services, and allows components to call each other locally or remotely through a messaging service Chapter 12 © Prentice Hall, 2004 17
CORBA – 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) Chapter 12 © Prentice Hall, 2004 18
EJB l Enterprise Java Beans l Component-based distributed computing architecture l EJB is a server-side component model for managing objects in a distributed environment l EJB requires CORBA for communications Chapter 12 © Prentice Hall, 2004 19
Database Middleware Standards l Microsoft’s ODBC – Open Database Connectivity l Microsoft’s l Sun’s Chapter 12 ADO – Active. X Data Objects JDBC – Java Database Connectivity © Prentice Hall, 2004 20
Comparison of OMG, Microsoft, and Sun Limitations: 1. Tightly coupled 2. Binary 3. Proprietary Chapter 12 © Prentice Hall, 2004 21
XML and SOAP l Text-based, loosely coupled, non-proprietary internet-oriented standard for inter-layer communication l e. Xtensible Markup Language (XML) – method for putting structured data into text format, similar to HTML l Simple Object Access Protocol (SOAP) – XMLbased protocol for exchanging messages between applications operating in different layers Chapter 12 © Prentice Hall, 2004 22
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 (J 2 EE) Chapter 12 © Prentice Hall, 2004 23
Microsoft. NET l Development framework that integrates COM+ and Active Server Pages (ASP) technologies for B 2 C applications, with support for XML/SOAP Web services for B 2 B applications Active. X – OLE/COM based component l ADO, ADO. NET – database middleware l ASP, ASP. NET – dynamic HTML generation l Chapter 12 © Prentice Hall, 2004 24
Sun J 2 EE Java 2 Enterprise Edition l 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 l EJB – Java-based component standard l JDBC – database middleware l Java Server Pages, Servlets – dynamic HTML generation l Chapter 12 © Prentice Hall, 2004 25
Chapter 12 © Prentice Hall, 2004 26
Chapter 12 © Prentice Hall, 2004 27
In UML, packages are represented as rectangles with tabs in the top left corner. Chapter 12 © Prentice Hall, 2004 28
What Is a Design Class Diagram? l 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. l Signature – the return type, name, and argument list of a method l Interfaces to classes are based on signatures. Chapter 12 © Prentice Hall, 2004 29
Chapter 12 © Prentice Hall, 2004 30
Guidelines for Allocating Responsibilities l Information access done by information expert l Object creation done by aggregating class l Aim for loose coupling l Aim for high cohesion Chapter 12 © Prentice Hall, 2004 31
Chapter 12 © Prentice Hall, 2004 32
Recap l 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. Chapter 12 © Prentice Hall, 2004 33
- Slides: 33