Stumpf and Teague Object-Oriented Systems Analysis and Design with UML . Chapter 7 Information System Design © 2005 Prentice Hall 7-1 Learning Objectives • Describe how analysts and designers view system requirements from different perspectives. • Explain why analysts and designers view the boundary between analysis and design differently than managers do. • State some goals of information system design. © 2005 Prentice Hall 7-2 Learning Objectives (continued) • Distinguish among batch, online, interactive, and real-time systems. • Name and state the purpose of each of the layers of a three-tier system architecture. • Give examples of each of the three generic types of hardware components of a computer information system. © 2005 Prentice Hall 7-3 Learning Objectives (continued) • Explain the function of infrastructure and administration components in a real information processing system. • Discuss what additional design decisions and system components are required in distributed systems. • Describe the principal subsystems into which a computer information system is partitioned. © 2005 Prentice Hall 7-4 Overview Analysis defines users’ requirements for a new information processing system. The principal goal of design is to specify a realizable information processing system which satisfies the performance standards of the requirements specification. © 2005 Prentice Hall 7-5 Overview (continued) Designing the overall system structure involves partitioning the system into three major subsystems – the application programs, the user interface, and the data base. Thereafter, these subsystems may be treated as relatively independent design problems. © 2005 Prentice Hall 7-6 Overview (continued) This partitioning is implemented as a layered architecture, which is considered to be best practice. The hardware of an informationprocessing system consists of three generic types of components: channels (which transport information), containers (which store information), and processors (which transform information). © 2005 Prentice Hall 7-7 Overview (continued) A real information-processing system must contain components which compensate for the imperfections of the hardware. Before the end of design, the design must be made consistent with the decisions about the hardware and system software environment and with the specifics of the system acceptance tests. © 2005 Prentice Hall 7-8 System Design in the Rational Unified Process FIGURE 7.1 © 2005 Prentice Hall 7-9 The Transition from Analysis to Design Analyst’s Viewpoint: Analysis defines a problem. It focuses on an essential description of what the system must do. Designer’s Viewpoint: Analysis offers clues to a solution and to tests to determine whether a proposed design is satisfactory. © 2005 Prentice Hall 7-10 Technical and Management Issues in the Transition • The technical criterion for exiting analysis is: “Have all the users’ requirements been adequately defined?” • The managerial criterion for exiting analysis is: “Is the project worth continuing?” © 2005 Prentice Hall 7-11 Goals of Computer Information System Design 1. Solving the problem posed in the requirements specification 2. Satisfying the performance requirements determined during systems analysis 3. Deriving an automated system whose structure fits the structure of the problem © 2005 Prentice Hall 7-12 Goals of Computer Information System Design (continued) 4. Considering alternative system designs to select the one most suitable for the organization 5. Matching the application software design to the hardware and system software environment in which it will operate 6. Creating a system whose structure makes it easy to understand, construct, and modify © 2005 Prentice Hall 7-13 Characteristics of a System Design Specification • Explicit: spells out what is critical • Complete: in scope and detail • Unambiguous: only one possible interpretation • Consistent: no internal conflicts • Accurate: no mistakes requiring subsequent correction • Minimally redundant: facilitates changes to the design © 2005 Prentice Hall 7-14 Batch, Interactive, and Real-Time Systems In a batch system the system inputs are stored at or near the system boundary. They are processed in batches. The storage introduces a time delay. In an interactive system inputs enter the system one at a time. Time delays are handled internally. A real-time system responds rapidly enough for its output to affect or control events in its environment. © 2005 Prentice Hall 7-15 The Three- Tier Layered System Architecture FIGURE 7.5 © 2005 Prentice Hall 7-16 Generic Hardware Components • Processors: transform information • Containers: store data • Channels: transport information Appropriately allocating channels, containers, and processors to each of the layers of the three-tier architecture is the fundamental design problem at the system level. © 2005 Prentice Hall 7-17 Channels, Containers, and Processors FIGURE 7.6 . © 2005 Prentice Hall 7-18 Technology of a Real Information Processing System In contrast to an essential system, a real system must incorporate additional components to compensate for imperfections in real-world technology. • • Infrastructure provides additional communication. Administration provides additional quality control and coordination. © 2005 Prentice Hall 7-19 Distributed Systems Distributed systems have processors or data bases in more than one location. They are usually organized as client/server systems with three types of components: • Client machine requests a service from another machine in the system. • Server machine carries out the request and returns the results to the client. • Communications network transmits messages between client and server. © 2005 Prentice Hall 7-20 Communications Networks • Network types: Local, metropolitan, wide area networks • Network protocols: Specify formats for messages between processes • Network components: Routers, switches, hubs, modems, codecs, multiplexers • Telecommunications software: Manages the communications in distributed systems © 2005 Prentice Hall 7-21 Other Components of an Implementation • Application software: Carries out application-specific transformations • System software: Manages computer resources and supports applications • Data base: Stores data in an organized structure in non-volatile memory • User interface: Enables communication between humans and computers © 2005 Prentice Hall 7-22 Activities of System Design . FIGURE 7.9 © 2005 Prentice Hall 7-23 System Acceptance Tests The system acceptance tests measure whether a completed system is acceptable to its users. They are based on the performance requirements specified in analysis. Ideally, the tests should be defined by people who are not responsible for developing the system. © 2005 Prentice Hall 7-24 Activities of Designing the System Structure 1. Specify the external interface. 2. Allocate essential use cases to processors. 3. Allocate stored data to storage devices. 4. Establish the infrastructure for communication. 5. Add the intra- and interprocessor administration. 6. Select the best system structure. © 2005 Prentice Hall 7-25 Alternative A – Public University System . FIGURE 7.13 © 2005 Prentice Hall 7-26 Alternative B – Public University System . FIGURE 7.14 © 2005 Prentice Hall 7-27 Alternative C – Public University System . FIGURE 7.15 © 2005 Prentice Hall 7-28 Summary A layered system architecture of at least three tiers represents best practice for information system design. The fundamental system design problem is to appropriately allocate processors, containers, and channels to each layer of this architecture. Once the system architecture is defined, the design may be partitioned into program, database, and user interface design problems. © 2005 Prentice Hall 7-29