Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
621 KB
Nội dung
Application Architecture & Process Design Introduction The chapter will address the following questions: What is an information system’s architecture in terms of DATA, PROCESSES, INTERFACES, and NETWORKS — the building blocks of all information systems? What are both centralized and distributed computing alternatives for information system design, including various client/server and Internet/intranet options? What are the database and data distribution alternatives for information system design? What are the make versus buy alternatives and variations for information system design? What are the user and system interface alternatives for information system design? Application Architecture & Process Design Introduction The chapter will address the following questions: What are the various networking topologies and their importance in information system design? What are the methods for general application architecture and design? What are the differences between logical and physical data flow diagrams, and explain how physical data flow diagrams are used to model application architecture and guide process design? How you draw physical data flow diagrams for a system/application? Application Architecture & Process Design General System Design During general systemsdesign the basic technical decisions are made These decisions include: Will the system use centralized or distributed? Will the system’s data stores be centralized or distributed? If distributed, how so? What data storage technology(s) will be used? Will software be purchased, built in-house, or both? For programs to be written, what technology(s) will be used? How will users interface with the system? How will data be input? How will outputs be generated? How will the system interface to other, existing systems? Application Architecture & Process Design General System Design The decisions made during general systemsdesign constitute the application architecture of the system An application architecture defines the technologies to be used by (and to build) one, more, or all information systems in terms of its data, process, interface, and network components It serves as a framework for general design Application Architecture & Process Design INFORMATION SYSTEMS FRAMEWORK SYSTEM OWNERS (scope) System Development FOCUS ON SYSTEM DATA FOCUS ON SYSTEM PROCESSES FOCUS ON SYSTEM INTERFACES FOCUS ON SYSTEM GEOGRAPHY Business Subjects Business Functions System Context Operating Locations Cus to m e rs o rde r ze ro , o ne , o r m o re pro d ucts P ro ducts m a y be o rde re d by ze ro , o n e , o r m o re cus to m e rs Accounts R eceiv able Databas e Marketing Credit Advertising Custome r Sales O rder M ana ge m ent System O rder P ic king O rder Warehouse Credit Voucher Orders Cancellations Services Ba nk Data Requirements Business Processes Interface Requirements Communication Reqts rejected order S Y S T E M A N A L Y S T S SYSTEM USERS (requirements) PR ODUC T product-no product-na m e unit- of-m e a s ure unit- price qua ntity-a va ila ble C US TOMER cus tom e r-no cus tom e r-na m e cus tom e r-ra ting ba la nce - due (specification) SYSTEM BUILDERS credit customer number order Database Scehma SYSTEM DESIGNERS Cus tomers Validate customer OR DER orde r- no orde r- da te products -orde re d qua ntitie s -orde re d CUSTOMER customer_no [Alpha (1 0)] INDEX customer_name [Alpha(32)] customer_rating [Alpha(1)] INDEX balance_due [R eal(5 ,2)] EDI Cust Check credit order with valid products valid order order without vali d customer approved order Validate products Products quantity in stock Releas e order LA Office Interface Schema G et a n O rd e r Va lida te a n O rd e r Fi l e a n O rd e r OR DER _P R ODUCT OR DER order _no P R ODUCT.product_no quantity_ordered [Integer (2) Database Decisions s hip orde r NY O ffice Network Schema Customer Form New Customer S hu tdo wn R o u ti ne Indy Ware hous e Mai nte na nce R ecords Logon P ro c e s s a n O rd e r P roduc ts Catal og Ea st Cus tome rs se rv ice O rd e r P roc e s s in g P ro g m In iti a tio n R o uti ne Study Phase (establish system improvement objectives) cre dit ship order pic ki ng tick et Application Schema P R ODUCT pr oduct_no [Alpha(10)] INDEX pr oduct_name [Alpha(32)] unit_of_measure [Alpha(2)] unit_price [R eal(3,2)] quantity_available [Integer(4)] catal og changes ship order credit Orders approved order prices St Louis HQ order We st Customers Fi r ecr acker Sal es Definition Phase (establish and prioritize business system requirements) O rde rAcce pte d Change of Address New O rder Comm unications Controller St Louis Mainfra me NTServer LA O rder He lp Complete Orde r Form R eques t O rder Help OR DER order_no [Alpha(1 2)] INDEX order_date [Date(mmddyyyy) CUSTOMER customer_no Survey Phase (establish scope and project plan) Che c k Cus tom e r Cre d it Ch e c k P ro d uc t Da ta Ch e c k Cre d it Da ta R e le a s e an O rd e r He lp + Fi rst Orde r R e que s t P roduct Look up P BX NTServ er NY Etherne t LAN/NT Ethe rne t LAN/NT R e ques t P roduct Lookup Help Indy AI X Serv er Cu s tom e rs P ro duc ts P roduct Look up He lp Complete O rd e rs P roduc t Lookup Interface Decisions Process Decisions Clie nt P C Clie nt P C Client P C Enternet LANAIX/Lan M anager Network Decisions Client P C Design/Constructio n Phases (design and develop the system solution) (components) INFORMATION TECHNOLOGY ARCHITECTURE Database Architecture Processor and Software Architecture Interface Architecture Implementation Phase (deliver the new system into operation) Networking Architecture Architecture Project or Configuration Application Architecture & Process Design Information Technology Architecture Network Architectures for Client/Server Computing What is client/server computing? A client is single-user computer that provides (1) user interface services, appropriate database and processing services; and (2) connectivity services to servers (and possibly other clients) A server is a multiple-user computer that provides (1) shared database, processing, and interface services; and (2) connectivity to clients and other servers In client/server computing an information system’s database, software, and interfaces are distributed across a network of clients and servers which communicate and cooperate to achieve system objectives Despite the distribution of computing resources, each system user perceives that a single computer (their own client PC) is doing all the work Application Architecture & Process Design Information Technology Architecture Network Architectures for Client/Server Computing Client/server computing is an alternative to traditional centralized computing In centralized computing, a multi-user computer (usually a mainframe or minicomputer) hosts all of the information system components including (1) the data storage (files and databases), (2) the business logic (software and programs), (3) the user interfaces (input and output), and (4( any system interfaces (networking to other computers and systems) The user may interact with this host computer via a terminal (or, today, a PC emulating a terminal), but all of work is actually done on the host computer Application Architecture & Process Design Centralized Computing Distributed Presentation Computing Distributed Database Computing Distributed Data/Logic Computing Internet/Intranet Computing What is the server and operating system? The server is usually a minicomputer or mainframe, possibly networked to other minicomputers or mainframes The server is usually a minicomputer (e.g., OS/400 OS) or mainframe computer (e.g MVS, VM, or UNIX OS) A database server is usually microprocessor-based (e.g., UNIX or Windows/NT Server) but could still be a mainframe or minicomputer Typically data and business logic (and possibly other services) are on separate servers (same OS's as in previous column) Utilizes data and/or file servers as in previous two columns, but adds one or more Internet and intranet servers Where are database commands executed? All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer All data is stored on the server and all file and database access and update commands and instructions are executed on the server computer All data is stored on the server (possibly multiple servers) and all file and database access and update commands and instructions are executed on the server computers All data is stored on the server (possibly multiple servers) and all file and database access and update commands and instructions are executed on the server computers Most business logic is programmed to execute on the server Appropriate business logic is programmed to execute on the server Local Area Network Where is the business logic instruction s executed? Where are user/syste m interface instruction s executed? What is the client and operating system? All business logic is programmed to execute on the server All business logic is programmed to execute on the server Resulting data files may be transferred to another server across the network Resulting data files may be transferred to another server across the network All business logic is programmed to execute on the client using a PC-based programming language Local Area Network Some business logic may be programmed to execute on the client The user interface (usually non-graphical) is stored and executed on the server The user interface (usually graphical) is stored and executed on the client The user interface (usually graphical) is stored and executed on the client Wide Area Network The user interface (usually graphical) is stored and executed on the client Appropriate business logic may be downloaded from Inter/intranet server to execute on the client Intranet or Internet Wide Area Network Local or Wide Area Network Any system interfaces are either executed on the server or across the network on another server Any system interfaces are either executed on the server or across the network on another server Any system interfaces are either executed on the server or across the network on another server Any system interfaces are either executed on the server or across the network on another server System interfaces are managed from the Internet or intranet The clients are either dumb (non-programmable) terminals, or PCs (any OS) that are emulating dumb terminals using software The clients are personal computers or workstations (sometimes called fat clients) running Windows 9x, Windows NT, OS/2, or Macintosh OS The clients are personal computers or workstations (sometimes called fat clients) running Windows 9x, Windows NT, OS/2, or Macintosh OS The clients are personal computers or workstations (sometimes called fat clients) running Windows 9x, Windows NT, OS/2, or Macintosh OS In addition to fat clients (see previous column), some clients may be network computers (also called NCs or thin clients) that only execute downloaded programs Wide Area Network Local Area Network User interfaces may be stored and executed on the client, or downloaded from the Internet or intranet for execution on the client Application Architecture & Process Design Information Technology Architecture Network Architectures for Client/Server Computing Centralized Computing: Centralized process architectures were once dominant because the cost of placing computers closer to the end-user was prohibitive Many (if not most) legacy applications remain centralized on large mainframe computers (such as IBM’s S/370 and 3090 families of computers) or smaller minicomputers (such as IBM’s AS/400) Application Architecture & Process Design Information Technology Architecture Network Architectures for Client/Server Computing Distributed Presentation: This alternative builds upon and enhances centralized computing applications The old character user interfaces are stripped from the centralized applications and regenerated as graphical user interfaces that will run on the PC The user interface (or presentation) is distributed off the server and onto the client All other elements of the centralized application remain on the server, but the system users get a friendlier graphical user interface to the system 10 Application Architecture & Process Design Modeling Application Architecture & Information System Processes System Flowcharts Reading System Flowcharts: The symbols are connected by one of three lines: • A single-ended arrow (indicating either the sequence of activities or processing in the system or a read-only or write-only access to a file or database) • A double-ended arrow (indicating read-write operations against files and databases) • A jagged-double-ended arrow (indicating on-line dialogue or data flow) Unlike DFDs, connections on system flowcharts are not labeled or named Symbols and connections are combined in classic input-processoutput patterns to document the design of a system 81 Application Architecture & Process Design Modeling Application Architecture & Information System Processes CASE for Physical DFDs and Flowcharts Most CASE products support DFDs, but don’t distinguish between logical and physical models Some CASE users simply modify the logical DFDs that they created during systemsanalysis The problem with that approach is that you are overwriting the logical DFDs—the requirements themselves! A better approach is to copy the logical models and then transform the copies into physical DFDs 82 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Drawing Physical DFDs Physical DFDs document the high-level, general design of the new system An acceptable design results in: A system that works A system that fulfills user requirements (specified in the logical DFDs) A system that provides adequate performance (throughput and response time) A system that includes sufficient internal controls (to eliminate human and computer errors, ensure data integrity and security, and satisfy auditing constraints) A system that is adaptable to ever-changing requirements and enhancements 83 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Drawing Physical DFDs A single physical DFD, or a set of physical DFDs can be drawn for the target system The FAST methodology calls for the following: A physical data flow diagram should be developed for the network topology For each processor on the above model, a physical data flow diagram should be developed to show those event processes that will be assigned to that processor 84 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Drawing Physical DFDs The FAST methodology calls for the following: (continued) For all but the simplest event processes, they should be factored into design units and modeled as a single physical data flow diagram • A design unit is a self-contained collection of processes, data stores, and data flows that share similar design attributes A design unit serves as a subset of the total system whose inputs, outputs, files and databases, and programs can be designed, constructed, and unit tested as a single subsystem 85 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Prerequisites The prerequisites to creating physical DFDs include: A logical data model Logical process models Logical network model (optional) Repository details for all of the above 86 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Prerequisites Given the previous models and details, data and processes can be distributed to create a general design The general design will normally be constrained by one or more of the following: • Architectural standards that predetermined the choice of database management systems, network topology and technology, user interface(s), and/or processing methods • Project objectives that were defined at the beginning of systemsanalysisand refined throughout systemsanalysis • Feasibility of chosen or desired technology andmethods 87 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes The Network Topology The first physical DFD to be drawn is the network topology DFD A network topology DFD is a physical data flow diagram that allocates processors (clients and servers) and devices (e.g., machines and robots) to a network and establishes (1) the connectivity between the clients and servers, and (2) where users will interact with the processors (usually, only the clients) Network topology DFDs they show highways over which data flows may travel in either direction 88 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes The Network Topology Network topology DFDs indicate the following: Servers and their physical locations Clients and their physical locations Processor Specifications Transport protocols The network topology DFD can be used to either design a computer network or to document the design of an existing computer network 89 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Data Distribution and Technology Assignments The goal of this step is to distribute data stores to the network processors The required logical data stores are already known from systemsanalysis — as data stores on the logical DFDs or as entities on the logical ERDs The following are possible distribution options Store all data on a single server Store specific tables on different servers Store subsets of specific tables on different servers Replicate (duplicate) specific tables or subsets on different servers 90 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Data Distribution and Technology Assignments The reasons to distribute data storage are as follows: Some data instances are of local interest only Performance can often be improved by subsetting data to multiple locations Some data needs to be localized to assign custodianship of that data Data distribution decisions can be very complex—normally the decisions are guided by data and database professionals 91 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Process Distribution and Technology Assignments Information system processes can now be assigned to processors as follows: For single-tiered client/server systems, all of the logical event diagrams are assigned to the server For two-tiered client/server systems, all of the logical event diagrams are assigned to the client For three-tiered client/server systems, you must closely examine each event’s primitive (detailed data flow diagram • In general, data capture and editing is assigned to clients, and other business logic is assigned to servers 92 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes Process Distribution and Technology Assignments After partitioning, each physical DFD corresponds to a design unit for a given business event For each of these design units, you must assign an implementation method, the SDE that will be used to implement that process You must also assign implementation methods to the data flows 93 Application Architecture & Process Design Designing the Application Architecture & the Information System Processes The Person/Machine Boundaries The last step of process design is to factor out any portion of the physical DFDs that represent manual, not computerized processes This is sometimes called “establishing a person/machine boundary.” Establishing a person/machine boundary becomes complex when the person/machine boundary cuts through a logical process—in other words, part of the process is to be manual and part is to be computerized 94 Application Architecture & Process Design Summary Introduction General System Design Information Technology Architecture Application Architecture Strategies & Design Implications Designing the Application Architecture & the Information System Processes 95 ... server and all file and database access and update commands and instructions are executed on the server computer All data is stored on the server and all file and database access and update commands... adds one or more Internet and intranet servers Where are database commands executed? All data is stored on the server and all file and database access and update commands and instructions are executed... storage (files and databases), (2) the business logic (software and programs), (3) the user interfaces (input and output), and (4( any system interfaces (networking to other computers and systems)