Title: Some of these slides were excerpted from:
1Team-Based DevelopmentISYS 321
- Some of these slides were excerpted from
- Object-Oriented Systems Analysis and Design
- Joey F. George, Dinesh Batra, Joseph S. Valacich,
Jeffrey A. Hoffer - Chapter 12 Design Elements
2(No Transcript)
3What 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.
4What 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
(integration is not a problem)
5What 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
6Single-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
7Two-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
8What 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. - For instance, a system in which the front-end GUI
(application layer) communicates with a database
using ODBC (Open Database Connectivity
middleware).
9(No Transcript)
10Limitations of Client-Server Architectures
- Thick clients heavy burden placed on each
client machine (too much processing) - Application changes need to be distributed to
many clients - Typically use proprietary technologies, hindering
application integration
11Three-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
12Note presentation, business logic, and or data
can be spread across multiple layers, creating
N-tier architectures.
13Mapping from Analysis to Design Classes
- 1 Analysis Class ? 1 Design Class
- 1 Analysis Class ? n Design Classes(i.e.you may
find you have 2 categories of Employee, FT and PT
employee) - n Analysis Classes ? 1 Design Class(i.e. you
may want to combine classes such as in the case
of denormalization) - n Analysis Classes ? 1 Package(i.e. you may want
to combine a group of classes with similar
functionality, such as Customer and Products
Purchased under CustomerRelations) - n Analysis Classes ? 1 Component(i.e. you may
need to purchase a commerically available
component rather than build in-house)
14Characteristics 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
15What Is a Component Standard?
- An agreed-upon format for defining interfaces and
implementations of components - Examples
- Microsoft COM
- OMGs CORBA
- Sun Microsystems Enterprise Java Beans (EJB)
- Database Middleware Standards (ODBC, ADO, JDBC)
- XML/SOAP
16COM
- 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
17CORBA
- 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)
18EJB
- 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
19Database Middleware Standards
- Microsofts ODBC Open Database Connectivity
- Microsofts ADO ActiveX Data Objects
- Suns JDBC Java Database Connectivity
20Comparison of OMG, Microsoft, and Sun
- Limitations
- Tightly coupled
- Binary
- Proprietary
21XML 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
22What 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)
23Microsoft .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
24Sun 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
25(No Transcript)
26(No Transcript)
27In UML, packages are represented as rectangles
with tabs in the top left corner.
28What 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.
29(No Transcript)
30Guidelines for Allocating Responsibilities
- Information access done by information expert
- Object creation done by aggregating class
- Aim for loose coupling
- Aim for high cohesion
31(No Transcript)
32Recap
- 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.
33