Transcription

Systems Analysis and Design in a Changing World, seventh edition7-1Chapter 7 – Defining the System ArchitectureTable of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases Instructor's Notes (for each section) Key Terms Lecture notes Quick quizzes Classroom Activities Troubleshooting Tips Discussion QuestionsChapter OverviewChapter 6 introduced the foundation principles of systems design. This chapter begins the detaileddiscussion of the activities within the fourth core process, Design System Components. Specifically, thischapter serves two purposes:1. Provide a review and summary of technology and architectural concepts most important inmodern systems design2. Describe the two design activities most concerned with technology and architecture: Describethe environment and Design the application components (see Figure 7-1)Learning ObjectivesAfter reading this chapter, the student should be able to: Explain architectural concepts that influence system design, including ubiquitous computingand software, components, protocols, interoperability, and distributed architectures Describe and draw location, network, and deployment diagrams Describe a system’s environment by drawing architectural diagrams and answering keyquestions Design larger application components based on use cases and other analysis models 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-2Notes on Opening Case and EOC CasesOpening CaseTechnology Decisions at Wysotronics, Inc: This case is a typical situation with many companiestoday that until recently hosted all of their systems with in-house computers and data centers. With theavailability of many different types of hosting services, from colocation to cloud computing, manycompanies are realizing significant cost savings by using these hosting services. In addition the levelof service and availability has increased because hosting companies have created very robust datacenters which provide close to 100% availability. In this case, there are two types of systems –production and supply chain systems that have been moved to a virtual private network, and marketingand sales systems that have been placed in a colocation company that also provides managed services.EOC CasesData Integration at Cooper State University: Cooper State University is replacing a paper and pencilstudent survey system with an automated on-line student survey system. The purpose of the studentsurvey is course and teacher evaluations. The new system will require interfaces into several existinguniversity systems to obtain course, teacher, and student information and login authorizations. Theassignment is to draw a network diagram showing the various interconnections. The assignment alsorequires an assessment of the data requirements to note which interconnected system has ownership ofthe data.Community Board of Realtors (running case): Community Board of Realtors is a professionalorganization that supports real estate offices and agents. In this chapter's case, the assignment is toconsider what kind of mobility devices may be appropriate. The assignment also includes a question toconsider issues involved to deploy a Web application.Spring Breaks 'R' Us Travel Services (SBRU) (running case): SBRU is an online travel services thatbooks spring break trips to resorts for college students. The SBRU system has three Web subsystemsthat use normal Web pages. The fourth subsystem is a social networking subsystem that supportsonline chatting. The assignment is to develop a network diagram for all four systems, and then toconsider whether to host it in-house or on a cloud service. The assignment includes considerations ofadvantages and disadvantages of in-house versus cloud for various cost comparison alternatives.On the Spot Courier Services (running case): On the Spot is a small, but growing, courier service thatneeds to track customers, package pickups, package deliveries, and delivery routes. In this chapter theassignment considers questions of implementing the mobile information system as a smartphoneapplication in contrast with a custom-built system with specific hardware devices.Sandia Medical Devices (running case): Sandia Medical Devices is a company that specializes inmedical monitoring through remote, mobile telecommunication devices. As described in previouschapters, the Real-Time Glucose Monitoring (RTGM) system will include processing components onservers and on mobile devices, such as smartphones, with data exchange via 3G and 4G phonenetworks. The home office system requires standard technology for the solution. The client side,however, requires more advanced technology to capture information and communicate with the home 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-3office systems. The assignment asks students to consider various options for implementing the clientside solution and for communication between medical personnel and the patients. The assignment alsoincludes some questions concerning the value and possible issues related to data mining of theextensive data generated.Instructor's NotesAnatomy of a Modern SystemKey Terms server – a computer or group of computers that manages shared resources such as file systems,databases, and Web sites, and enables users and other computers to access those resources overa network Internet backbone network – a high-capacity and high-speed computer network that carrieslarge amounts of Internet traffic across regions, countries, and continents local area network (LAN) – a small computer network typically spanning a single home, smalloffice, or one floor of a building World Wide Web (WWW) – an interconnected set of resources accessed via the Internet Uniform Resource Locator (URL) – identifier of a Web resource containing a protocol header,server name or address, and resource name hyperlink – the URL of one Web resource is embedded within another Web resource application software – software that performs user- or business-specific tasks and is typicallyconstructed as an app or Web-based application app – application software that is installed on the storage device of a computer or cell phone system software – software, such as operating systems and Web server software, that worksbehind the scenes to support application software and control or interact with hardware orsoftware resources Web-based application – application software that uses a Web browser as the user interface,has a URL for application access, uses a Web server and server-side software components, anduses Web standards for communication between Web browser and server protocol – a set of languages, rules, and procedures that ensure accurate and efficient dataexchange and coordination among hardware and software components virtual private network (VPN) – secure communication over the Internet using technologiesthat reliably identify senders and recipients, and encrypt network messages sent among them Hypertext Markup Language (HTML) – a protocol that defines the structure and content of aWeb page 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-4 Extensible Markup Language (XML) – an HTML extension that enables the meaning ofwords, phrases, or numbers to be defined Hypertext Transfer Protocol (HTTP) – a protocol that defines the format and content ofrequests for Web documents and related data communicationLecture NotesThis section examines the technology and architectural features of a modern Web-based system—theAmazon.com shopping application. The discussion serves as a review of modern computer andsoftware technology and an introduction to the architecture of Web-based systems.Computing DevicesFigure 7-4 illustrates a simplified architecture for the Amazon.com shopping system. Servers, whichare the repositories for databases and Web sites, provide the core processing for the systems. In thefigure servers host the applications for Amazon, for shippers, and for payment processing systems.They are called server because they “serve” or process the requests for information from personalcomputing devices from the users. These personal computing devices are often called the “client”devices since they receive the services. The communication between the servers and the clients is donethrough the Internet, which is discussed next.Networks, the Internet, and the World Wide WebThe true power of modern computing lies not just in the ubiquity and power of individual computers,but in the ability to interconnect them. A computer network is a collection of hardware, software, andtransmission media that enables computing devices to communicate with one another and to shareresources.Networks of all sizes interconnect with one another to form the Internet. The largest networks withinthe Internet are called Internet backbone networks. At the other end of the network size scale arelocal area networks (LANs), which typically span a single home, small office, or one floor of abuilding. The World Wide Web, sometimes called the WWW or simply the Web, is an interconnectedset of resources accessed via the Internet. Web resources are identified by a Uniform ResourceLocator (URL), which is shown in Figure 7-6. The URL of one Web resource can be embedded withinanother Web resource as a hyperlink.SoftwareSoftware components can be loosely grouped into two types. Application software includes softwarethat performs user- or business-specific tasks. System software is software that works behind thescenes to support application software and to control or interact with hardware or software resources.Applications such as the Amazon shopping application are constructed as Web-based applications.Characteristics of Web-based applications include: Use of a Web browser as the primary user interface on personal computing devices 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-5 User access to the Web application via a URL Server-side software components that execute on or are called from a Web server Use of Web standards for communication between Web browser and serverA modern laptop computer, tablet computer, or cell phone comes preinstalled with a very complex OS,a Web browser, and a rich set of preinstalled apps. Embedded software components extend thefunctions of Web browsers and Web servers in ways that enhance Web-based applications and the userexperience. It is through the rich set of embedded software that the client devices are able to providethe wide range of services available on smartphones, tablets, and laptops.ProtocolsA protocol is a set of languages, rules, and procedures that ensure accurate and efficient data exchangeand coordination among hardware and software components. Modern information systems rely onhundreds or thousands of protocols.Network protocols enable accurate message transmission among the various computers and softwarecomponents. They function as the “plumbing” that enables messages to find their way from sender torecipient, enable multiple devices to efficiently share wireless and wired connections, and handle taskssuch as identifying and retransmitting lost messages. For increased security, the system designer maywant to work with security and network specialists to develop a virtual private network (VPN) toisolate sensitive communications between servers or between an organization’s own employees andservers. However, for public networks, security is usually provided through https, as explained next.The World Wide Web is built on a small family of protocols for encoding Web documents andhyperlinks, requesting documents from Web servers, and responding to those requests. The mostimportant protocols include the following: Hypertext Markup Language (HTLM), Extensible MarkupLanguage (XML), Hypertext Transfer Protocol (HTTP), and Hypertext Transfer Protocol Secure(HTTPS).Quick QuizQ: Modern Internet based computing systems contain two categories of computing devices. What arethey called?A: Servers and Client computersQ: What does URL stand for and what is it used for?A: URL stands for Uniform Resource Locator. It is like an address for the Internet to find orlocate specific resources, such as a particular Web page.Q: What is a hyperlink?A: A hyperlink is an URL that is embedded within a Web page. Clicking on a hyperlink invokesthe process to retrieve the resource specified by the embedded URL.Q: What is a Web based application?A: It is an application that resides on a server and utilizes a Web browser for the client display, 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-6and is accessed via the Internet using a URL.Q: What is a protocol good for?A: Through the use of protocols programs and systems are able to communicate with each other.A protocol is simply a standard language or procedure that can be used for communication. Thereare many levels of protocols.Architectural ConceptsKey Terms software as a service (SaaS) – a software delivery model similar to a utility, in whichapplication software is accessed via the Internet without locally installed programs Web service – software function or related set of functions that can be executed via Webstandards client/server architecture – a software design and deployment method that divides softwareinto components that manage resources and components that use those resources three-layer architecture – a client/server architecture that divides an application into viewlayer, business logic layer, and data layer view layer – the part of a three-layer architecture that contains the user interface business logic layer – also known as the domain layer, the part of a three-layer architecture thatcontains the programs that implement the business rules and processes data layer – the part of a three-layer architecture that interacts with the dataLecture NotesSoftware as a ServiceIf an organization requires some services it could build or buy a software system to carry out thatservice. Alternatively, it could find a firm that provides that service and only buy the service itself,much like a utility. This is Software as a Service. Two common features shared by most applicationsthat employ the SaaS model include the following: Little or no application software is installed on the user’s device. User data is stored on servers, though copies may be stored on the user’s device for improvedperformance.Web ServicesA Web service is a software service accessed over the Internet using Web protocols. It commonly refersto small, focused applications, such as transmitting shipping information from seller to shipper, or 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-7single functions, such as looking up the zip code that matches a shipping address. In essence, a Webservice is a software function, subroutine, method, or program that meets the following criteria: Is called from one application via a URL or other Web protocol Accepts input data embedded within the URL or via another protocol Executes on the Web service owner’s servers Returns processing results encoded within a Web page or documentThe implications of Web services for system design are significant. At the strategic level, informationsystem developers must do the following: Scan the range of available Web services and decide which to incorporate into their software. Tothe extent they include other Web services, they expand the functions of their own softwarewith minimal related development cost. Decide which (if any) functions of their own software should be implemented as Web servicesand made available to other systems. How will data passed to/from Web services be secured? Even if no Web services are made available to external users, should some portions of thesystem be structured as Web services to facilitate access and use by other internal systems? What performance and availability guarantees will be provided to Web service users?Distributed ArchitecturesClient/server architecture is a method of organizing software to provide and access distributedinformation and computing resources. It divides software into two classes: client and server. A servermanages system resources and provides access to these resources through a well-definedcommunication interface. A client uses the communication interface to request resources, and the serverresponds to these requests.Three-layer architecture is a variant of client/server architecture that is used for all types of systems,from internally deployed desktop applications to globally distributed Web-based applications. Threelayer architecture divides the application software into three layers that interact, as shown in Figure 711 including the view layer, the business logic layer and the data layer.A major benefit of three-layer architecture is its inherent flexibility. Multiple layers can execute on thesame computer, or each layer can operate on a separate computer. Complex layers can be split acrosstwo or more computers. System capacity can be increased by splitting layer functions across computersor by load sharing across redundant computers.Quick QuizQ: What does SAAS stand for? What are the unique characteristics of SAAS?A: Software as a Service. The application software does not reside on the organizationscomputers. The data can reside on either the organization’s computers, or on the service 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-8providers computers.Q: What is the difference between SAAS and a Web Service?A: SAAS is usually a full featured application, while a Web service is usually a single serviceor simple service.Q: What is 3-layer architecture? What are the three layers?A: Three layer architecture is a client/server architecture that divides the application into viewlayer, business logic layer, and data access layer.InteroperabilityKey Terms interoperability – the ability of a component or system to interact with other components orsystemsLecture NotesInteroperability is the ability (or lack thereof) of a component or system to interact with othercomponents or systems. It forms the foundation for almost all new software development. Theoperating environment of almost all organizations is extremely complex with many different elementsthat must all work together. To ensure interoperability, system designers must do several things,including the following: Understand and describe the current environment in which the system will operate. Purchase existing software components and services that can provide needed functions for thenew system. Build components that can’t be purchased as software modules or used as a service. Structure and assemble the components so that it is all interoperable over the long term.Quick QuizQ: Why is interoperability such an important concept?A: In today’s computing world, no system operates in a vacuum or in isolation. Informationsystems today must interact and interface with many other systems. Information systems todayare created from both purchased components and in-house constructed components. 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-9Architectural DiagramsKey Terms network diagram – a model that shows how locations and hardware components areinterconnected with network devices and wiringLecture NotesLocation DiagramsLocation diagrams are commonly used to show the geographic placement of various systemcomponents, including hardware, buildings, and users.Network DiagramsA network diagram shows how locations and hardware components are interconnected with networkdevices and wiring. There are many different kinds of network diagrams—each emphasizing differentaspects of the network, connected hardware resources, and users.Deployment DiagramsA deployment diagram describes how software components are distributed across hardware and systemsoftware components.Quick QuizQ: What is the difference between a location diagram and a network diagram?A: A location diagram just identifies the locations and the functions at each location. A networkdiagram does show locations, but it also shows the network connections that interconnect thoselocations. A network diagram can also apply to a single location.Q: What is the difference between a network diagram and a deployment diagram?A: A network diagram focuses on the interconnections between and within a location. Adeployment diagram focuses on the software components at each location. 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-10Describing the EnvironmentKey TermsNoneLecture NotesIn Figure 7-1 Describing the Environment is the first design activity of the System Design core process.As discussed in Chapter 6, that description includes two key elements: External systems andTechnology architectureTo describe these key elements the systems developers must answer many questions. The followingquestions help to discover the important aspects of the environment.Key QuestionsThe following questions are a typical starting point:1. What are the key features of the existing or proposed technology environment that will support orconstrain the system?a. What operating systems will be used?b. What other system software (e.g., Web server, database management, and intrusion detectionsoftware) will be used?c. In what ways are network messages filtered or otherwise secured? Are any changes requiredto support interactions with external systems or user-interface devices?d. What APIs and development tools are compatible with the existing technology environment?2. With what external systems and databases will the system under development interact? For eachsystem or database, answer the following questions:a. What is the timing and frequency of each interaction?b. What is the data content of inputs to and outputs from the system?c. What protocols will format and encode data flowing to or from the external system?d. What are the security requirements of each inflow and outflow?e. What security methods and protocols will be used to satisfy the security requirements?3. What devices will be used for automated inputs and outputs?a. What protocols will format and encode data flowing to or from the devices?b. What are the security requirements of each inflow and outflow?c. What security methods and protocols will be used to satisfy the security requirements?d. What APIs and development tools are compatible with the existing technology environmentand required automated inputs and outputs? 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-114. What user-interface technology will be used?a. Where will users be located?b. What hardware device(s) will users use?c. What operating systems will run on “smart” user-interface devices?d. On what other user device software will the system rely (e.g., browsers, plug-ins, andsoftware utilities embedded in the device)?e. What protocols will format and encode data flowing to or from user devices?f. What are the security requirements of each inflow and outflow?g. What security methods and protocols will be used to satisfy the security requirements?h. What APIs and development tools are compatible with the existing technology environmentand required user interfaces?RMO Environment DescriptionFigure 7-16 shows a network diagram describing RMO’s current technology architecture. This sectionfocuses on a handful of updates to demonstrate how the environment is affected.Mobile Devices and Apps: The current technology architecture connects users to the system usingdesktop or laptop computers. Expanding the range of user devices to include tablets and smartphoneswill require updates to the supporting system software, APIs, and development tools.Web Technologies and Adapted Content: Because some users won’t install an app, the CSMS mustalso support a browser-based user interface with support for multiple screen sizes, Web browsers, andplug-ins. That will require more complex user-interface coding than exists in the current system, whichsimply serves static Web pages and forms. The updated user-interface coding will need to query theuser’s device and browser and adjust the content of the Web pages transmitted to match the devicecharacteristics.Social Networking: Social networking services provide the ability to interface with external systems intwo ways: A Web services interface and an API and toolkit that enable developers to create customizedfunctions and embed them within the social networking site and interface.Security Implications: Supporting apps, multiple browsers with plug-ins, and interfaces to socialnetworking sites will probably require security updates to the current technology architecture. Apps andsome browser plug-ins will need to be digitally signed prior to distribution via the app stores for eachdevice’s operating system.External Hosting: External hosting of all or part of the CSMS is an option that can reduce risk,improve performance, and possibly reduce cost. Hosting the application with a national or globalcompany, such as Google or Amazon, would enable RMO to take advantage of an existing and highlydistributed computing infrastructure. Key components could be replicated at multiple locations toimprove performance and to provide fault tolerance. 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-12Designing Application ComponentsKey Termssystem of record – a system or application component that maintains the current and correct mastercopy of one or more data itemsLecture NotesChapter 6 defined an application component as a well-defined unit of software that performs one ormore specific tasks. That definition masked some important details, including variations in componentsize ranging from single subroutines or methods to entire subsystems; variations in programminglanguage, protocols, and supporting system software; and the ability to build, buy, or freely accesscomponents as Web services of entire SaaS systems. This section concentrates on defining thefunctions and boundaries of larger application components.Application Component BoundariesA key question to be answered when designing application components is which components willperform which functions? To answer this question, the designer looks for similarities among systemfunctions to guide factoring or grouping. But how does a designer determine or measure similarityamong system functions? During analysis use cases are defined. There are three factors from associateduse cases that can help group functions together. Actors. Each use case identifies one or more specific actors. Software for use cases that interactwith the same actors is a candidate for grouping into a single application component. Shared data. Use cases that interact with the same domain class(es) are candidates for groupinginto a single application component. Events. Use cases that are triggered by the same external, temporal, or state event are candidatesfor grouping into a single application component.RMO CSMS Application ArchitectureThis section is an extended example of grouping system functions together on the basis of use casesand actors. Figure 7-18 illustrates a matrix of use cases, data (domain classes), and events that is usedto group use cases together into components. Figure7-19 illustrates how these use cases can be dividedinto packages for a three-layer architecture for the various view layer components, the business logiclayer, and the data layer. There are multiple view layer components due to the wide variety of users anddevices.Application Component IntegrationModern application developers are often faced with the task of integrating legacy systems, purchasedapplication components, third-party SaaS applications, and custom-developed components. Integrationcan occur at two levels, (1) API or program interface level or (2) data level, which can either consist of 2016. Cengage Learning. All rights reserved.

Systems Analysis and Design in a Changing World, seventh edition7-13sending transactions between applications, or sharing access through a database. Figure 7-20 illustratesthe existing RMO systems and the flow of information between the five subsystems. When data ismaintained via a database, often local copies of the data may be made to increase efficiency. Localcopies need to be synchronized periodically. Updates can be made on any copy. A system of record isused to note the master copy and how synchronization must proceed.Quick QuizQ: What are three criteria that can be used to group use cases together to define component boundaries.A: Actors, Shared data, or Events.Q: What does a system of record represent?A: It is the “boss” system. Or the system that maintains the original copy of shared data.Classroom ActivitiesThe material in this chapter covers a very broad topic. An entire semester can be spent onunderstanding these topics. This chapter simply skims across the top of the issues related to thesoftware architectural environment.A helpful classroom activity is to take Figure 7-4 and ask the students to apply the concepts the figure.In other words, where does each concept appear in the figure and how would it be implemented.The discussion could include: Computing Devices Networks – LAN and Internet Software Web applications and local software (including embedded software) Protocols (refer to Figure 7-8) SAAS Web Services Client/Serv

assignment is to draw a network diagram showing the various interconnections. The assignment also . server – a computer or group of computers that manages shared resources such as file systems, . software technology and an introduction t