12-1 © prentice hall, 2004 chapter 12: design elements object-oriented systems analysis and design...
Post on 22-Dec-2015
219 views
TRANSCRIPT
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
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.
12-3Chapter 12 © Prentice Hall, 2004
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.
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.
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
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
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
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.
12-10Chapter 12 © Prentice Hall, 2004
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
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
12-13Chapter 12 © Prentice Hall, 2004
Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.
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
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
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
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
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)
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
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
12-21Chapter 12 © Prentice Hall, 2004
Comparison of OMG, Microsoft, and Sun
Limitations:1. Tightly coupled2. Binary 3. Proprietary
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
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)
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
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
12-26Chapter 12 © Prentice Hall, 2004
12-27Chapter 12 © Prentice Hall, 2004
12-28Chapter 12 © Prentice Hall, 2004
In UML, packages are represented as rectangles with tabs in the top left corner.
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.
12-30Chapter 12 © Prentice Hall, 2004
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
12-32Chapter 12 © Prentice Hall, 2004
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.