Download presentation
Presentation is loading. Please wait.
Published byHugh Barrett Modified over 9 years ago
1
10-1 © Prentice Hall, 2007 Topic 10: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
2
Topic 10 10-2 © Prentice Hall, 2007 Chapter Objectives Af ter studying this chapter you should be able to: – Describe 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.
3
Topic 10 10-3 © Prentice Hall, 2007
4
Topic 10 10-4 © Prentice Hall, 2007 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.
5
Topic 10 10-5 © Prentice Hall, 2007 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.
6
Topic 10 10-6 © Prentice Hall, 2007 What Is a Tiered (or Layered) 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
7
Topic 10 10-7 © Prentice Hall, 2007 Single-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
8
Topic 10 10-8 © Prentice Hall, 2007 Two-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
9
Topic 10 10-9 © Prentice Hall, 2007 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.
10
Topic 10 10-10 © Prentice Hall, 2007
11
Topic 10 10-11 © Prentice Hall, 2007 Limitations of Client-Server Architectures 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
Topic 10 10-12 © Prentice Hall, 2007 Three-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
13
Topic 10 10-13 © Prentice Hall, 2007 Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.
14
Topic 10 10-14 © Prentice Hall, 2007 Presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.
15
Topic 10 10-15 © Prentice Hall, 2007 Mapping from Analysis to Design Classes 1 Analysis Class 1 Design Class 1 Analysis Class n Design Classes n Analysis Classes 1 Design Class n Analysis Classes 1 Package n Analysis Classes 1 Component
16
Topic 10 10-16 © Prentice Hall, 2007 What is a Software Component? A software element with a well-defined interface and functionality for a specific purpose that can be deployed in a variety of applications using plug-and-play capability Invariably purchased from a third party
17
Topic 10 10-17 © Prentice Hall, 2007 Characteristics of Components – Used for specific commonly used purpose – Collection of classes and interfaces – Hidden implementation details – Plug-and-play capability – Usually distributed in binary, executable form – Third-party developed – Reusable in many applications – Well-tested and relatively error-free – Written in any language that supports component standard’s interface conventions
18
Topic 10 10-18 © Prentice Hall, 2007 Component Terminology Run-time Environment – classes and components required to support services like handling secure transactions during run-time Transaction – all-or-nothing unit of business work. Requires ACID: – Atomiticity, consistency, isolation, and durability
19
Topic 10 10-19 © Prentice Hall, 2007 What Is a Component Standard? An agreed-upon format for defining interfaces and implementations of components Examples: – Microsoft COM/COM+/DCOM – OMG’s CORBA – Sun Microsystem’s Enterprise Java Beans (EJB) – Database Middleware Standards (ODBC, ADO, JDBC) – XML/SOAP
20
Topic 10 10-20 © Prentice Hall, 2007 COM/COM+/Distrubted COM (DCOM) 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
21
Topic 10 10-21 © Prentice Hall, 2007 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 (IDL) – Interface is managed by Object Request Brokers (ORBs)
22
Topic 10 10-22 © Prentice Hall, 2007 EJB 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
23
Topic 10 10-23 © Prentice Hall, 2007 Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s ADO – ActiveX Data Objects Sun’s JDBC – Java Database Connectivity
24
Topic 10 10-24 © Prentice Hall, 2007 Comparison of OMG, Microsoft, and Sun Limitations: 1.Tightly coupled 2.Binary 3.Proprietary
25
Topic 10 10-25 © Prentice Hall, 2007 XML 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
26
Topic 10 10-26 © Prentice Hall, 2007 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)
27
Topic 10 10-27 © Prentice Hall, 2007 Microsoft.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
28
Topic 10 10-28 © Prentice Hall, 2007 Features of Microsoft.NET Framework Visual Studio.NET – development environment C#, Visual C++, and Visual Basic.NET – the three main programming languages for developint.NET applications Common Language Runtime (CLR) – the runtime environment that loads/executes code, manages memory, provides security, exception handling and interoperability
29
Topic 10 10-29 © Prentice Hall, 2007 Sun 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
30
Topic 10 10-30 © Prentice Hall, 2007 Features of Java J2EE Java Virtual Machine (JVM) – interpreter for executing Java compiled code (bytecode) Remote Method Invocation (RMI) – middleware that allows Java programs running on different computers to access each others’ objects/methods Applet – Java program that runs in the browser as part of a web page Servlet – Java program executed on a Web server Java Server Pages (JSP) – technology that mixed Java and HTML for dynamic web page generation
31
Topic 10 10-31 © Prentice Hall, 2007
32
Topic 10 10-32 © Prentice Hall, 2007 Browser-Based Scripting Logic executed at the browser layer (presentation) Enhances HTML with interactive functionality Two main scripting languages: – JavaScript – VBScript
33
Topic 10 10-33 © Prentice Hall, 2007
34
Topic 10 10-34 © Prentice Hall, 2007 What is a Package? A general-purpose mechanism for organizing design elements into groups Package diagram – a diagram that shows the packages and the relationships between them
35
Topic 10 10-35 © Prentice Hall, 2007 Characteristics of Packages Cohesiveness Allocation of resources among development teams User types Propensity to change Development phase Separate utilities from system-specific components
36
Topic 10 10-36 © Prentice Hall, 2007 In UML, packages are represented as rectangles with tabs in the top left corner. Dependencies between packages are shown with dashed arrow lines.
37
Topic 10 10-37 © Prentice Hall, 2007 What Is a Design Class 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.
38
Topic 10 10-38 © Prentice Hall, 2007 Verifying Responsibility Allocation Pattern – a named description of a problem and solution that can be applied to new contexts Responsibility assignment in patterns: – Information expertise (expert pattern) – Object creation (creator pattern) – Loose coupling and strong cohesion
39
Topic 10 10-39 © Prentice Hall, 2007 Visibility The characteristics of an attribute or an operation that reveal whether it can be accessed directly Three levels of visibility: – Public – visible to any requesting object – Private – visible to the owning object only – Protected – visible to the owning object, objects of the same class, and objects of subclasses
40
Topic 10 10-40 © Prentice Hall, 2007 Attribute Types In Design class diagram, attribute types are explicitly displayed In the following slide, you see: – Visibility of attributes and operations – Attribute types – Responsibilities represented by methods – Full method signatures including return types and parameters
41
Topic 10 10-41 © Prentice Hall, 2007 Visibility is shown by minus signs (private) or plus signs (public) Attribute types and full signatures are shown
42
Topic 10 10-42 © Prentice Hall, 2007
43
Topic 10 10-43 © Prentice Hall, 2007 Recap After studying this chapter we learned to: – Design 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.