Download presentation
Presentation is loading. Please wait.
Published byCora Briggs Modified over 9 years ago
1
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
2
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.
4
What Is a Design Architecture? An overall blueprint of the design of a system, including components and infrastructure. Goal of design architecture – ability to scale the application and to evolve it over time without major rework.
5
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
6
Single-Tier Architectures One computer performing all tasks Either a standalone PC, or a mainframe / mid-level hardware platform servicing many dumb terminals Rare for new systems, not very scalable
7
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
8
Two-Tier Architecture
9
What Is Middleware? Software programs that provide a set of interfaces for connection to one or more clients and another set of interfaces for connection to one or more servers. Provides the possibility of connections between several different types of clients with one or more several types of servers.
10
Limitations of Client-Server Architectures Thick clients – heavy burden placed on each client machine Application changes need to be distributed and redistributed to all clients Client machine cannot be heterogeneous
11
Three-Tier Architectures Three layers are: Presentation layer – client tier, providing front end user interface, perhaps with formatting, constraint- checking rules, and no (limited) application logic. Application layer – middle tier, addressing all business logic and decisions for the system, sometimes called business layer Data layer – back-end tier, addressing data storage and access, with some rules regarding data integrity
12
Presentation – responsible for client interaction Business Logic – responsible for all business rules Database – responsible for data storage and retrieval, with some data validation. Three-Tier Architecture
13
Presentation layer, business layer, and/or data layer are spread across multiple layers/platforms, creating N-tier architectures. N-Tier Architecture
14
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 Often purchased from a third party software developer
15
Characteristics of Components – Used for specific commonly used purpose – Collection of classes and interfaces – Hidden implementation details – Plug-and-play capability – Reusable in many applications – Usually developed by third party – Often distributed in binary, executable form – Well-tested and relatively error-free – Written in any language that supports component standard’s interface conventions
16
Component Terminology Run-time Environment – classes, services, and components required to support the execution of a program including handling networking/ communication, multi-threading, secure transactions, caching, etc. during run-time Transaction Processing – “all-or-nothing” unit of business work. Must handle commit and/or rollback of many table inserts/updates/deletes as a single transaction
17
Middleware Component Standard An agreed-upon format for defining interfaces and implementations of components Examples: –Microsoft COM / COM+ / DCOM –Object Management Group - OMG’s CORBA –Sun Microsystem’s Enterprise Java Beans (EJB) –Database Middleware (ODBC, ADO, JDBC) –XML/SOAP and Web Services
18
Microsoft 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
19
Object Management Group’s CORBA Common Object Request Broker Architecture Published by the Object Management Group (OMG) – Open source Component standard for distributed and heterogeneous network Interface is managed by Object Request Brokers (ORB)s
20
Sun Microsystem’s EJB Enterprise Java Beans Component-based architecture with distributed capabilities EJB is a server-side component model for managing objects in a distributed environment
21
Database Middleware Standards Microsoft’s ODBC – Open Database Connectivity Microsoft’s ADO – ActiveX Data Objects. Enables your client application to access and manipulate data from a variety of sources. Sun’s JDBC – Java Database Connectivity
22
XML and SOAP Text-based, loosely coupled, non-proprietary internet-oriented standard for inter-layer communication eXtensible Markup Language (XML) – standard for putting structured data into text format, similar to HTML. XML is a data descriptive language Simple Object Access Protocol (SOAP) – XML-based protocol for exchanging messages between applications operating in different layers or platforms
23
Web Services A Web service is an application programming running on the web with a well defined interface (API) that is accessed via HTTP using XML/SOAP. Web services are executed on a remote system by passing a message to them in the form of a SOAP envelope and receiving the returned result via another SOAP envelope. Web services can be used to implement a SOA service-oriented architecture where the basic unit of communication is a message rather than an operation.
24
What Is a Framework? A collection of components, consisting of code, templates and interfaces written in a specific language, that can be used to help build a software application. Similar to software libraries Two main competitors: Microsoft’s.NET framework Sun’s Java 2 Enterprise Edition (J2EE)
25
Microsoft.NET Framework Development framework that integrates COM+ components with ADO and Active Server Pages (ASP) technologies for application development, with support for XML/SOAP and Web services COM+ – middleware component ADO, ADO.NET – database middleware ASP, ASP.NET – for dynamic HTML creation
26
Features of.NET Framework Visual Studio.NET – IDE (Integrated Development Environment) software tool C#, Visual C++, and Visual Basic.NET – three main programming languages for developing.NET applications Common Language Runtime (CLR) – runtime environment that loads/executes code, manages memory, provides security, exception handling and interoperability
27
Sun J2EE Framework 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 middleware component JDBC – database middleware JSP (Java Server Pages), Servlets – for dynamic HTML creation
28
Features of J2EE Framework 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 that runs on a Web server Java Server Pages (JSP) – technology that mixes Java and HTML for dynamic web page creation
29
Browser-Based Scripting Logic executed within the browser (presentation layer) Enhances HTML with interactive functionality Two main scripting languages: –JavaScript –VBScript
30
What is a Package? A general-purpose mechanism for organizing common elements into groups Package diagram – a diagram that shows the packages and the relationships between each other
31
In UML, packages are represented as folders. Dependencies between packages are shown with dashed arrow lines. A CRM package depends on Sale A Package Diagram Depends on
32
What Is a Design Class? Design Class – an enhanced version of an analysis class that includes more details regarding attributes and methods, including visibility, data type, parameters, return types, and default values if any.
33
Design Class For Attributes – adding visibility, data type, default values if any For Operations – adding visibility, parameters, including parameter name, data type, direction (in/out/inout), and default value if any, as well as the operation return type. Signature – name, and parameter list of a method Interface – the way you invoke object methods. It is based on the object methods signatures
34
Visibility The characteristic of an attribute or an operation that identifies 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 package, and objects of any subclasses
35
Design Class includes: Visibility shown as (–) for private, (+) for public Attribute Data Type Method Parameters including both name and data type Method Return Type A Design Class
36
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.