Presentation is loading. Please wait.

Presentation is loading. Please wait.

Objectives Describe the differences between requirements activities and design activities Explain the purpose of design and the difference between architectural.

Similar presentations


Presentation on theme: "Objectives Describe the differences between requirements activities and design activities Explain the purpose of design and the difference between architectural."— Presentation transcript:

1

2 Objectives Describe the differences between requirements activities and design activities Explain the purpose of design and the difference between architectural and detailed design activities Describe each design discipline activity Object-Oriented Analysis and Design with the Unified Process

3 Objectives (continued)
Discuss the issues related to managing and coordinating design activities within the UP Describe common deployment environments and matching application architectures Develop a simple network diagram and estimate communication capacity requirements Object-Oriented Analysis and Design with the Unified Process

4 Moving From Business Modeling Requirements to Design
Systems Design is the Discipline of organizing and structuring the “Components of a System” to enable Construction and Deployment. The Design Discipline consists of many detailed activities which can be grouped into “High-level Design” Activities. Such as:- Designing the Support Services Architecture and Deployment Environment Design Software Architecture Design Use Case Realizations Design User Interfaces Design Systems Interfaces Design Network design Systems Control and Security Object-Oriented Analysis and Design with the Unified Process

5 Moving From Business Modeling Requirements to Design
Input to the Design Activities are Business Models and Requirement Models. The Output from Design are also a set of Models that describe the Architecture of the new System and the Detailed Structure of and interaction among its various components. The purpose of Business Modeling is to understand Business needs, Key Processes and Business Environment. Analyst designs and review Business Models such as Organization Charts, Location Diagrams, Activity Diagrams and Use Case Diagrams in order to understand the Business Processes and develop a vision for the new System. Object-Oriented Analysis and Design with the Unified Process

6 Moving From Business Modeling Requirements to Design
Analyst builds Requirements Models to understand “Key Business Processes” and “Data” in greater detail Such as: Domain Model Class Diagrams, Use Case Diagrams and Interaction Diagrams (System Sequence Diagrams, or Collaboration Diagrams) The Design Discipline continues the Modeling Process by creating new Models and expanding or refining Business and Requirements. Object-Oriented Analysis and Design with the Unified Process

7 Moving From Business Modeling Requirements to Design
The nature of changes from Business and Requirements Modeling to Design Models are primarily concern with “What” and “How” Questions. Business and Requirements Models are primarily concern with “WHAT” Questions: - What are the Business Objectives? - What information must be collected and Processed? - What are the Key Processes for collecting and Using the Information? Design Models are primarily concern with “HOW” Questions, which specify the structure of a System. - How will the Key Processes be performed? How will key Data be collected and organized? How will the new System achieves Business Objectives? Design Models tend to be highly detailed and specific to Implantation and Deployment Technology. Thus, Design Models move project closer to Implementation. Object-Oriented Analysis and Design with the Unified Process

8 Moving From Business Modeling Requirements to Design
Design Models tend to be highly detailed and specific to Implantation and Deployment Technology. Thus, Design Models move project closer to Implementation Models of Design discipline are “Blueprints”, for a specific system that uses specific technologies within a specific Deployment Environment. Analyst may expand Business Models such as Domain Class Diagram to include Design details such as specific Methods of Data Access or “Low-level interactions with External Systems and Services. Analyst may also develop many new Models that are specific to Design. Such new Design Models are: - Database Models, - Network Models, - Package Diagrams - Interaction Diagrams (Sequence Diagrams, Collaboration Diagram Object-Oriented Analysis and Design with the Unified Process

9 Comparison of Modeling During the Business Modeling, Requirements, and Design Disciplines
Object-Oriented Analysis and Design with the Unified Process

10 The Elements of Design Detailed Design (Low Level Design)
Systems Design Discipline describes, organizes, and structures System Components at both the “Architectural Level Design” and “Detailed Level Design” for the Purpose of Constructing and Deploying the Proposed System. Architectural Level Design (High Level Design) Broad Design of the overall System Structure , also called “General Design” or “Conceptual Design” Such as Designing: - Hardware, Network, System Software Infrastructure Detailed Design (Low Level Design) Includes the Design of specific Program details such as Software Design for a single Use Case or design of related group of User Interfaces. High-Level Information System Design tasks affect the entire System whereas Lower-Level Design discipline tasks encompass a relatively small part of the System with minimal impact on other parts of the System. During Architectural Design, the Overall Structured is determined first and then solution is formed before trying to design details Object-Oriented Analysis and Design with the Unified Process

11 Design Activities in the UP Life Cycle The Design Discipline Activities are Segmented into six major activities Architectural Design (Higher-level Design) activities contains and interacts with many Detailed (Lower-level) Design activities Object-Oriented Analysis and Design with the Unified Process

12 Design the Support Services Architecture / Deployment Environment
Modern IS Systems operate in a complex collection of Computer Hardware, Networks and System Software, which is collectively called “Support Services Architecture and Deployment Environment. Hardware includes:- Servers, Client Workstations, related Peripherals such as Storage Arrays, Printers etc. Network includes: Local Area wiring, Long Distance Communication links, Switches, Routers and Firewalls. System Software includes: Operating Systems, Networking Service Software: such as Domain Naming Services (DNS), Directory and Security Service Software, Component Management Software and DBMS.. Most organization already have existing Support Services Architecture for multiple Information Systems. If there is an Existing Support Services Architecture , Analyst must determine whether the Existing Architecture can support the New System and what changes (if any) are required. If Organization have no Existing Architecture or may want to scrap its Existing Architecture, Analyst must design an Architecture to support the proposed System and anticipated future Systems. Object-Oriented Analysis and Design with the Unified Process

13 Design the Support Services Architecture/ Deployment Environment
Analyst must consider the following Technical Design issues when designing and Deploying a New System for Existing Support Architecture. Reliability Security Throughput Synchronization Because of these highly specialized Design issues, Analyst works with Specialists such as Network Engineers, Data Base Administrators System security Consultants etc.. to design New Support Architecture or Modify the Existing Architectures. Object-Oriented Analysis and Design with the Unified Process

14 Design the Software Architecture
Software Architecture refers to the “Big Picture” , Structural Aspect of an Information System. Two important Structural Aspects of Software Design are:- Division of Software into Classes Distribution of Classes across Processing Locations and specific Computers. Architectural Design extends the Domain Class Diagram to produce Design Class Diagram that adds design details such as “Visibility of Data Attributes” and the required “Methods”. Design Classes are Blueprints of “Executable Application Software units” can reside in many different Locations and interact in various ways. Example: Classes can be executed on an Application Server in response to messages transmitted over a Network using Protocol such as Simple Object Access Protocol (SOAP) Classes can also be installed on individual Workstations with traditional GUI Interfaces and interact with Data Management System via various Database Protocols. Object-Oriented Analysis and Design with the Unified Process

15 Design the Software Architecture
During Architectural Software Design Analyst must decide: Where Classes and Objects will execute, Whether they will be distributed across Multiple Locations, How objects will communicate What Programming Language (s) will be used to write Objects Software Architecture is heavily constrained by the Support Services Architecture and Deployment Environment . e.g. A Web Based Application operating within UNIX, CORBA (Common Object Request Broker Architecture) and Oracle DBMS environment will be different from application deployed on within a Microsoft Windows, (. NET) and SQL Server. The capacity and capabilities of the Organization’s LAN and WAN Networks will also affect how Application Software is distributed across Locations and types of interaction are possible. Object-Oriented Analysis and Design with the Unified Process

16 Design Use Case Realizations
The Design of Use Case Realization differs from Architectural Design in several ways including level of details, Number of Iterations, and focus on User Interface and Object Interaction. While Application Architecture is a High Level View of Application Software, Use Case Realizations are a Lower-level View. Architectural Design defines a Framework within which Use Cases are realized. Such as: Distribution of Software Layers across Locations and Computers - Which Software Class will support which Use Case. When designing Use Case Realization, Analyst focuses on the Interactions among the Classes required to support a particular Use Case and Interaction among Software, Users and External Systems. Design focus shifts from “Big Picture Structural Issues” to the “Dynamic Interactions” required to perform Specific Processing tasks. Design of Use Case Realization is typically spread over many UP Iterations each Iteration combining Design and Constructing activities for one or more Use Cases. Design Class Diagrams and Interaction Diagrams are used to document the Design. Object-Oriented Analysis and Design with the Unified Process

17 Design the Database Designing Database is another key Design activity
The Class Diagram created during the earlier Design Activity iteration is used to create Physical Model of Database. Physical Model describes a Relational Database with several tables or Object-Oriented Databases instead of Relational Databases Analyst must consider several important technical issues When designing the Database Such as:- Performance, (i.e Response times) since much of Design work may involve Performance tuning to make system work fast enough Integration with Existing Databases (Legacy databases) to make sure that new Databases are properly integrated with existing Databases Object-Oriented Analysis and Design with the Unified Process

18 Design the System Interfaces and User Interfaces
Systems Interfaces A new System affects many other Existing Systems and Analyst must ensure that they all work together. - Some System Interfaces link Internal organizational Systems, so the Analyst may have information about those other Some Systems Interfaces link new System with a System Outside the organization.(B2B). User Interfaces Systems must interact with the Internal Users and External Users. - The User Interfaces is more than just the Screens. It is everything the user comes into contact with while using the System, conceptually, perceptually and physically. - To most Users the interface is a Graphical User Interface (GUI) with windows and mouse interaction. It can also include Sound, Video and Voice command Analyst needs to consider many User interface issues such as: User capabilities and needs differ widely - Each User interacts with the System in different ways - Different approaches to the Interface may be needed to different parts of the System Object-Oriented Analysis and Design with the Unified Process

19 Design the System Security and Controls
Design System Security and Controls activity involves ensuring that the System has adequate safeguards to protect organizational assets. Design Systems and Security Control Activities include: User Interface Controls limit access to the System to authorized users System Interface Controls protect system from other systems Application Controls ensure correct recording of transactions and validate work Database Controls ensure that data area protected from unauthorized access and accidental loss due to Software and Hardware failure. Network Controls ensure that communication through Networks is protected. Since the Design Systems and Security Control Activities are crucial, specialists are often brought in to work on some Controls, and all System Controls need to be thoroughly tested. Object-Oriented Analysis and Design with the Unified Process

20 Design Activities and the UP
Although Unified Process (UP) Design Activities can occur in any Project Phase or Iteration the Architectural and Detail Design Activities tend to be distributed differently. Since the Design activities concerned with Software Architecture and Databases provide a foundation for Detailed Design and Construction they must be concentrated in early Iterations during the Elaboration Phase. (UP Life Cycles:- Inception, Elaboration, Construction, Transition) Detail Design Activities are typically spread more evenly throughout the Project . e.g User Interfaces are usually designed while their corresponding Software components are being Designed and constructed. One of the more challenging aspect of UP System Design is determining which parts of the System need to be designed in which iteration. Criteria Analyst uses to Schedule Design activities Experience Forecasting capabilities The best practice is to complete Architectural Design Activities in early Iterations. Object-Oriented Analysis and Design with the Unified Process

21 Project Management - Coordinating The Project
Project Management is critical when Design Activities are initiated. Design activities require substantial Coordination due to:- Frequentation of System into subsystems each has unique Design requirements. Project Team may divide into smaller teams to focus on the Subsystems and other design issues (such as Network configuration, Database Design, Distributed processing needs and communications capability are common to all subsystems), with multiple iterations proceeding in parallel. Complicating Factors of Project Coordination Tracking multiple Iterations in parallel Initiation of two other mini Projects during the Design Activities i.e: Data Conversion Project Test Case Development Project Initiation of Construction activities such as Programming also begin (Design and Programming for an iteration are usually conducted concurrently. Programming can begin as soon as Design decisions are made) Addition (or departure) of team members Distribution of Project team members over different locations complicates project communications management Object-Oriented Analysis and Design with the Unified Process

22 Coordinating Project Teams
The fundamental tool used to Coordinate various Project Teams’ Activities is the Project Schedule. When Design Activities begin Project Manager must Update the Schedule by:- Estimate Durations for Design and Construction Tasks Estimate Duration of Tasks associated with Outstanding Tasks associated with ongoing Requirements Definition. - In the early Iteration The Project Manager often does all Project Management Tasks. - When the Project expands and several Teams are formed, Management of the Project becomes more complicated.. - Frequently a committee composed of the Leaders the Design and Construction Teams assumes more responsibility for Coordinating and Controlling aspects of Project Management. ( e.g. Weekly, sometimes Daily “Status Meetings” are held including teleconferencing support. Object-Oriented Analysis and Design with the Unified Process

23 Coordinating Information
Development Teams begin to generate tremendous amount of detailed information about the System as Design moves forward. Classes, Data fields, Forms, Reports, Methods, Tables are all being defined in substantial detail. Tremendous amount of Coordination is needed to keep track of these pieces of information The most common and widespread technique to Record and Track Project information is to use a CASE Tool with Repository to store Project information. Other Tools and techniques called “Computer Support for Collaborative Work” (such as Lotus Notes) are also available to help with Team Communication and Information Coordination. One especially difficult part of Development Project is tracking Open Items an Unresolved Issues. One simple method to solve this is to have an Open-Items Log. Object-Oriented Analysis and Design with the Unified Process

24 System Development Information Stored in the CASE Repository
Object-Oriented Analysis and Design with the Unified Process

25 Deployment Environment
Deployment Environment consists of the Hardware, System Software and Networking Environment, in which the System will Operate. Modern Application Software is usually Deployed in in a Distributed Multicomputer Environment and is organized according to Client/Server Architecture or a variant Such as: Three-Layer Architecture, Distributed Software across Hardware platforms; Specifying required Protocols, Middleware, and Networks. Object-Oriented Analysis and Design with the Unified Process

26 COMMON DEPLOYMENT ENVIRONMENTS
SINGLE-COMPUTER ARCHITECTURE Architecture that employs a single Computer System executing all Application- related Software and directly attached Peripheral devices, such as large Mainframe Architecture.. Single-Computer Architecture often requires all System Users to be located near the computer. Advantages The primary Advantage is simplicity. Information Systems Deployed on a Single Computer System are relatively easy to Design, Build, Operate and Maintain. Disadvantages: The ‘Capacity Limits’ may make Single-Computer Architecture impractical or unusable for large Information Systems. Since many Systems are so large that even the largest Mainframe Computers (Supercomputers) cannot perform all the required Processing , Data storage and Data Retrieval tasks. Object-Oriented Analysis and Design with the Unified Process

27 COMMON DEPLOYMENT ENVIRONMENTS
Multitier Architecture (Multiple Computer Systems) Multitier Architecture distributes Application-related Software or Processing load across multiple Computer Systems. The two types of Multitier Architecture are:- Clustered Architecture - A Group of Computers of the same type that shares Processing load and act as a Single Large Computer System Programs are allocated to the least utilized computer when they executed so that the processing load can be balanced across all machines. - Computers are normally located near one another so they can be connected with short high-capacity Communication links. Multicomputer Architecture A group of dissimilar Computers that share Processing load through specialization of function. . Each computer System is optimized to the role that it will play in the combined System (Eg. Database Server, Application Server) Both Hardware and Operating Systems may be dissimilar Object-Oriented Analysis and Design with the Unified Process

28 Single-Computer, Clustered, and Multicomputer Architectures
Object-Oriented Analysis and Design with the Unified Process

29 CENTRALIZED AND DISTRIBUTED ARCHITECTURE
CENTRALIZED ARCHITECTURE Architecture that Deploys (locates) all Computing resources in a central location. Generally Used for Large-scale Online and Batch Processing Applications in Banking , Insurance, and Catalog Sales industries Information Systems Characteristic of Centralized Architecture: Any Application that has two or three of these characterizes a viable candidate Some Input transactions do not need to be processed in Real time mode Online Data Entry personnel can be located centrally The system produces a large amount of periodic outputs (eg. Statements etc) A High volume of transacts occurs between high-speed computers (Such as B2B processing for Supply Chain Management) Centralized Computer Systems are typically used to implement one or more subsystems within a large Information Systems that include Online, Batch and geographically dispersed components. Object-Oriented Analysis and Design with the Unified Process

30 CENTRALIZED AND DISTRIBUTED ARCHITECTURE
Architecture that deploy Computer resources in multiple locations connected by a Computer network. Architecture relies on Communicating Networks to connect geographically dispersed Computer Hardware components. Computer Networks A set of transmission lines, specialized equipment, and Communication Protocols that permits sharing of information and resources. Depending on the distance the Computer Networks are divided into two classes:- Local Area Network (LAN) Wider Area Network (WAN) Object-Oriented Analysis and Design with the Unified Process

31 COMPUTER NETWORKS LAN connects Computers at each geographic location where the distance is local. (i.e. less that 1 kilometer long usually within a single building). LANs are members of WANs. ROUTER connects each LAN to the WAN. Router scans messages on the LAN and copies them to WAN or vice versa. Technologies such as Ethernet are used to implement LAN. LAN provides low to moderate amounts of message-carrying capacity at a relatively low cost. Object-Oriented Analysis and Design with the Unified Process

32 WAN connects computers spread across large distances such as cities, geographical regions, countries, continents or entire globe. WAN technologies such as Asynchronous Transfer Mode are more complex and expensive, although they typically provide higher message-carrying capacity and greater reliability. WAN’s may be constructed using purchased equipment and leased long-distance transmission lines or subcontracted from a Service provider. (Eg. AT$T) Computer Networks provide generic Communication capabilities such as:- Direct communications, (e.g Telephone service and Video Conferencing) Message-based communications: (e.g. ) Resource sharing (e.g .Electronic Documents, Application Programs, and Databases) There are many ways to distribute Information System resources across a Computer Network.: - Users, Application Programs and Databases can be placed on the same Computer System, On different Computer Systems on the same LAN, or Different Computer Systems on different LAN’s. - Application Programs and Databases can also be subdivided and each distributed separately. Computer Networks Object-Oriented Analysis and Design with the Unified Process

33 A Possible Network Configuration for RMO
Object-Oriented Analysis and Design with the Unified Process

34 THE INTERNET, INTRANETS AND EXTRANETS
Internet: A global collection of networks that use the same Networking Protocol TCP/IP. WWW (The World Wide Web) or the Web is the collection of Resources (i,.e. Programs, Files, Services) that can be accessed over Internet by a number of Standard Protocols including:- Formatted and Linked Document Protocols (eg. HTML, XML, HTTP) Executable Program Standard (eg. Java, Java script, VB Script) Distributed Software and Web-Service Standards (Distributed Computing Environment (DCE) , SOAP and CORBA. Intranet: Is a Private network that is accessible to a limited number of Users, but which uses the same TCP/IP Protocol as the Internet. Extranet: An Intranet that has been extended outside the organization to directly related organizations, to facilitate the flow of information. One Widely used method of Implementing an Extranet is through a Virtual Private Network. (VPN). VPN (Virtual Private Network) is a Network with Security and Controlled access for Private Group, but built on top of a Public Network such as Internet. Object-Oriented Analysis and Design with the Unified Process

35 CLIENT/SERVER ARCHITECTURE
Complex Distributed and Multitier Hardware and Network Architectures require more complex Software Architecture like Client/Server Architecture. CLIENT/SERVER ARCHITECTURE Client/Server Architecture divides Software into two types, “Client” and “Server”. - CLIENT: Communicates with a Server to ‘Request’ Resources or Services and the Server ‘Responds’ to those requests. - SERVER: Manages one or more Information System Resources or provides a well defined Services over a Network. Client/Server Architecture is a general Model of Software Organization and behavior that can be implemented in many different ways. A typical example for a Client/Server Architecture is the interaction between a Client Application Program on a Workstation and a Database Management System on a Server. CLIENT/SERVER ARCHITECTURE Object-Oriented Analysis and Design with the Unified Process

36 Client/Server Architecture with a Shared Database
Object-Oriented Analysis and Design with the Unified Process

37 CLIENT/SERVER ARCHITECTURE
The Architectural Issues to be addressed when Designing Client/Server Software:- Decomposing Software into Client and Server Programs or Objects Determining which Clients and Servers will execute on which Computer Systems Describing Communication Protocols and Networks that connect Clients and Servers. The Key to Decomposing Software into Clients and Servers is to identify the Resources or Services that can be centrally managed by independent Software units. A Centrally Managed Services include: Security Authentication and Authorization, Credit verification and Scheduling. In each cases a well defined process is based on a Data Storage that is hidden from the Client. CLIENT/SERVER ARCHITECTURE Object-Oriented Analysis and Design with the Unified Process

38 CLIENT/SERVER ARCHITECTURE
Client and Server can be execute on any Computer System. The most popular arrangement is to place Server Software on a Server Computer System and distribute Client Software to computer Systems (Workstations) close to “End- Users”. Client and Server communicates via well defined Communication Protocols such as TCP/IP ( a low-level Protocol) over a LAN Network. Designer must also specify higher-level Protocols or Languages by which Client and Server exchange Service Requests, Responses and Data. - In some cases Communication with a DBMS can be by a standard Protocol Such as SQL to communication with a DBMS via an ODBC (Open Database Connectivity). - In other cases the designer must define the exact format and content of valid “Messages” and “Responses”. If the service is provided by an External organization such as Credit Verification service by VERISIGN, then the Designer must ensure that Clients adhere to the Protocol. Object-Oriented Analysis and Design with the Unified Process

39 CLIENT/SERVER ARCHITECTURE
ADVANTAGES of Client/Server Architecture Location flexibility - The ability to move System components without disturbing other Systems components, in response to changing organizational parameters such as size and physical location. Scalability – The ability to increase System capacity by upgrading or changing the Hardware on which the Software components execute. Maintainability – The ability to update the Internal implementation of one part of a System without needing to change other parts. DISADVANTAGES of Client/Server Architecture Additional Complexity introduce by the Client/Server Protocols Potential Poor Performance, Security and Reliability issues that arise from communication over Networks For most organizations the Advantages of Client/Server architecture far outweigh the Disadvantages. As a result Client/Server Architecture and its new variants have become the dominant Architecture. Object-Oriented Analysis and Design with the Unified Process

40 Interaction Among Multiple Clients and a Single Server
Object-Oriented Analysis and Design with the Unified Process

41 THREE-LAYER CLIENT/SERVER ARCHITECTURE
A Variant of Client/Server Architecture, called “Three Layer Architecture” divides Application Software into a set of Client and Server Processes independent of Hardware or Locations. All Layers might reside on one Processor or three or more Layers might be distributed across many Processors (i.e Many Tiers) The most common Set of Software Layers include:- The Data Layer (Manages stored data in Databases) The Business Logic Layer (Rules and procedures for processing) The View Layer (Accepts User Input, formats and displays Output.) The Layers are relatively independent of one another. It does not matter where other Layers are implemented or what type of Computer or Operating Systems they execute. The only interlayer dependencies are a “Common Language for Requests and Responds (Middleware) and a reliable Network with sufficient Communication capacity. Object-Oriented Analysis and Design with the Unified Process

42 Three-Layer Architecture
Object-Oriented Analysis and Design with the Unified Process

43 THREE-LAYER CLIENT/SERVER ARCHITECTURE
Multiple Layers can execute on the same Computer or each Layer can operate on a separate Computer. Complex Layers can be split across two or more Computer System System Capacity can be increased by splitting Layer functions across Computers or by load sharing across redundant computers. Three Layer Architecture provides the flexibility needed by modern organizations to deploy and redeploy information processing Resources in response to rapidly changing conditions. Three Layer Architecture is a widely applied Architectural Design Patterns for Object-Oriented Software. Key Design tasks of Client/Server Architecture are Decomposing: - The Application Software into Layers. - Clients and Servers, Distributing the “Pieces” across Hardware Platforms Defining the Physical Network and Protocols. The Business Logic Layer is the Core of the Application Software and is a Server of the View Layer and is a Client of the Data Access Layer. The Business Logic Layer may itself be decomposed into multiple Clients and Servers. Object-Oriented Analysis and Design with the Unified Process

44 MIDDLEWARE Middleware is the Computer Software implements communication Protocols on Network and helps different System Communicate. Middleware Connects parts of an Application and enables Requests and Data to pass among them Common Types of Middleware Teleprocessing Monitors Transaction Processing Monitors Object Request Brokers (ORBs) Designer usually relies on Standard Frameworks and Protocols incorporated into Middleware for Client/Server Protocols (e.g. Open Database Connectivity (ODBC) and SQL for Database interactions, HTTP or XML for Web Protocols. Object-Oriented Software distributed across Multiple Layers and Multiple Hardware platforms relies on ORB based on Distributed Object interface standards such as CORBA. Distributed non Object- Oriented Software relies on different Middleware products based on standards such as DCE or Microsoft COM+. Web- based Applications rely on Web- Oriented Protocols such as Microsoft ( .NET) and Sun J2EE and specific Middleware products that implement and support those protocols. Object-Oriented Analysis and Design with the Unified Process

45 INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE
The Web is a complex example of Client/Server Architecture Web Resources are managed by Server processes that can execute on dedicated Server Computers or on Multipurpose Computers Clients are Programs that send Requests to Servers using standard Web Resource Request Protocols. Web Protocols define valid Resource Formats and a standard means of requesting Resources and Services. Any Programs (not Just Web Browser) can use Web Protocols. Thus, Web-like capabilities can be embedded in ordinary Application Programs. Web Service Standards such as (.NET) and (J2EE) enable a Web-Oriented Client/Server Architecture commonly called a Service-Oriented Architecture (SOA)   Service Oriented Architecture (SOA) Packages:- - Application Software into Server Software, which can be managed by and accessed via a Web Server. - Service Request and Responses in XML Documents and transmits them over the Internet. SOE simplifies Client and Server interaction, particularly for B2B Applications. Object-Oriented Analysis and Design with the Unified Process

46 INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE
Internet and Web Technologies present an attractive alternative for implementing Information Systems. Flexibility is the key to the Internet alternatives. Implementing the Application via Internet greatly expands Application’s accessibility and also eliminates the need to install Client Software on Laptop computers. With Internet Technology, Client Software can be updated by simply updating the Version stored on the Web Server. The Application is relatively cheap to develop and deploy because existing Web Standards and Networking resources are employed. The key Application Design for Web-based Applications are the same similar to other Client/Server Architectures: - Defining Client and Server Processes or Objects; - Distributing them across Hardware Platform - Connecting them appropriate Networks, Middleware and Protocols.) However, the Choice for Middleware and Protocols for Web-based Applications are much more limited. Object-Oriented Analysis and Design with the Unified Process

47 INTERNET AND WEB-BASED SOFTWARE ARCHITECTURE
ADVANTAGES OF INTERNET OVER TRADITIONAL CLIENT/SERVER APPLICATIONS Accessibility : Internet, Intranet and Extranet applications to large number of Users because of ubiquitous availability of Internet Browsers and Connections Low cost Communication: Traffic on network backbone (High capacity WAN ) travels free of charge to the User. Companies can use Internet as a low-cost WAN. Widely Implemented Standards:- Web Standards are well known and many IT Professionals are trained in their uses. DISADVANTAGES OF WEB TECHNOLOGIES Security: Web servers are target for Security breaches since Web standards are open and widely known by IT professionals. Reliability:- Internet Protocol do not guarantee a minimum level of Network throughput even neither that the message will be received by its intended recipient. Throughput:- Home Users are subject to a Data Transfer Capacity of less than Kps (Analog Modem) as well as slow response time and long delays for all users due to overloading on backbone WANs. Volatile Standards: Web standards change rapidly, thus client software is updated every few months causing dilemma to widely used Application Developers Object-Oriented Analysis and Design with the Unified Process

48 NETWORK DESIGN Network Planning and Design are critical issues for any Multitiered System. The Key Network Design issues Integrating Network needs of the new System with Existing Network infrastructure. Describing Local Processing activity and Network connectivity at each System location. Describing the Communication Protocols and Middleware that connect Layers Ensuring that sufficient Network Capacity is available Object-Oriented Analysis and Design with the Unified Process

49 NETWORK INTEGRATION Factors impacting Network Integration
Modern organizations rely on Networks to support many different Applications, thus the majority of New Systems must be integrated into Existing Networks without disrupting Existing Applications. Factors impacting Network Integration Connections for new Servers Modifying Routing and Firewall Configuration Expansion of Network Capacity New Communication Protocols Modified Security Protocols Analyst begins Network design by consulting with Network Administrator and may share or delegate tasks to the Network Administrator or Consultants to handle Network Administration due to its complexity. Object-Oriented Analysis and Design with the Unified Process

50 NETWORK DESCRIPTION The Analyst expands the information content on the Location Diagrams including; Processing Locations, Communication protocols, Middleware and Communication Capacity when creating a Network Diagram. Network Diagram describes how Application Layers are distributed across locations and Computer Systems. Network Diagram embodies specific assumptions about Server Locations, which would be decided in consultation with Network Administration. Decisions like Server Locations, Communication Routers and Network Security options are determined both by Application requirements and Organization-wide Policies. Object-Oriented Analysis and Design with the Unified Process

51 A Network Diagram for the RMO Customer Support System
Object-Oriented Analysis and Design with the Unified Process

52 COMMUNICATION PROTOCOLS AND MIDDLEWARE
The Network Diagram is a starting point for specifying Protocol and Middleware requirements. E.g. Private WAN Connections must support Protocols required to process Microsoft Active Directory Logins and Queries. If the WAN fails messages are routed through encrypted (VPN) connections over the Internet. So these connections must support the same Protocols as Private WAN All clients must be able to send HTTP requests and receive active content such as HTML forms and embedded scripts. Application Server must be able to communicate with Credit Verification and Shipping Service via the Internet. Firewalls and Routers must be configured to support all interactions among the Workstations, Customer PCs Web Application Servers and Active Directory Server and Eternal Credit and Shipping Services. A Protocol on a LAN for transmitting Database queries and responses among the Mainframe and Web/Application Server is required. Object-Oriented Analysis and Design with the Unified Process

53 NETWORK CAPACITY Information from the Use Case - Location and Use Case-Problem Domain Class Matrices is the starting point for estimating Communication Capacity Requirements for LAN, WAN and Internet Connections. Data Size per Access Type and “Average” and “Peak Number of Access” per Minute or Per Hour is also considered Data Size per Access Type is an educated guess at this point in the System Design since none of the Software Layer, Interlayer Communication Dialogs or Databases has yet been designed. Analyst has to refine estimates or actual samples once the components have been designed in more detail or implemented. Actual data transmission capacity will include Communication Protocol; overhead in addition to raw data. Object-Oriented Analysis and Design with the Unified Process

54 A Partial Use Case–problem Domain Class Matrix for RMO Customer Support System, Updated With Data Access Size and Volume Network Diagram for the RMO Customer Support System Object-Oriented Analysis and Design with the Unified Process


Download ppt "Objectives Describe the differences between requirements activities and design activities Explain the purpose of design and the difference between architectural."

Similar presentations


Ads by Google