1 / 33

Team-Based Development ISYS 321

Team-Based Development ISYS 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. What Is a Design Element?. Either a design class or a component

Télécharger la présentation

Team-Based Development ISYS 321

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team-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. 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.

  3. 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 (integration is not a problem)

  4. 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

  5. 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

  6. 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

  7. 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. For instance, a system in which the front-end GUI (application layer) communicates with a database using ODBC (Open Database Connectivity – middleware).

  8. Limitations 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

  9. 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

  10. Note: presentation, business logic, and or data can be spread across multiple layers, creating N-tier architectures.

  11. Mapping 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)

  12. 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

  13. 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

  14. 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

  15. 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)

  16. 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

  17. Database Middleware Standards • Microsoft’s ODBC – Open Database Connectivity • Microsoft’s ADO – ActiveX Data Objects • Sun’s JDBC – Java Database Connectivity

  18. Comparison of OMG, Microsoft, and Sun • Limitations: • Tightly coupled • Binary • Proprietary

  19. 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

  20. 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)

  21. 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

  22. 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

  23. In UML, packages are represented as rectangles with tabs in the top left corner.

  24. 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.

  25. Guidelines for Allocating Responsibilities • Information access done by information expert • Object creation done by aggregating class • Aim for loose coupling • Aim for high cohesion

  26. Recap • 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.

  27. Any Questions?

More Related