CSUN Information Systems Systems Analysis & Design http://www.csun.edu/~dn58412/IS431/IS431_F15.htm Systems Design & Application Architecture IS 431: Lecture 8 1 Systems Design & Application Architecture Design Phase in Systems Development Life Cycle In-house vs. Commercial-of-the-shelf (COTS) Application Development. Application Architecture: Data, Processes, Interface – – – – Physical Data Flow Diagrams (DFDs) Distributed vs. Centralized Systems Client/Server Architecture Interface Architecture IS 431 : Lecture 8 2 Systems Design in SDLC IS 431 : Lecture 8 3 Systems Design Information systems design: tasks that focus on the specification of a detailed computer-based solution (also called physical design.) Systems analysis emphasizes on the business problem, (WHAT) whereas systems design emphasizes on the technical or implementation concerns of the system (HOW). BUILD (In-house) vs. BUY (COTS) IS 431 : Lecture 8 4 System Design of an In-House Projects (BUILD) IS 431 : Lecture 8 5 Design Tasks of an In-House Project IS 431 : Lecture 8 6 Design Tasks of an In-House Project … Design the Application Architecture – Defines the technologies to be used and used to build – Physical Data Flow Diagram Design the System Databases – Database schema (Data Dictionary) Design the System Interface – User Interfaces: Input, output, and dialogue specifications – Prototypes Package Design Specifications – Specifications to guide programmers Update Project Plan – Modified Budget/Schedule IS 431 : Lecture 8 7 System Design for a COTS Solution (BUY) IS 431 : Lecture 8 8 Tasks for COTS Solution IS 431 : Lecture 8 9 Tasks for COTS … Research Technical Criteria and Options Solicit Proposals/Quotes from Vendors Validate Vendor Claims and Performances Evaluate and Rank Vendor Proposals: Gap Analysis on the differences between proposed and desired features. Cost/Benefit Analysis. Contract “Winning” Vendor and Debrief “Losing” Vendors IS 431 : Lecture 8 10 Application Architecture IS 431 : Lecture 8 11 Application Architecture An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS, and INTERFACE, and how these components interact across a network. It serves as an outline or blueprint for detailed design and implementation. IS 431 : Lecture 8 12 Application Architecture … The blueprint to communicate the following design decisions: – The degree to which the information system will be centralized or distributed. – The distribution of stored data. – The implementation technology for software developed in-house. – The integration of commercial off-the-shelf software. – The technology to be used to implement the user interface. – The technology to be used to interface with other systems IS 431 : Lecture 8 13 DFD Deliverables for a System Development Project CURRENT SYSTEM (AS-IS) – Context Diagram – Logical Level-0 DFD – Logical Level-1 DFD’s (for multi-task functions) (No Physical DFD for current system, unless the focus of the project is security & control) PROPOSED SYSTEM (TO-BE) – Context Diagram – Logical Level-0 DFD Level-0 – Logical Level-1 DFD’s (for multi-task functions) – Physical Level-0 DFD Level-0 – Physical Level-1 DFD’s (for multi-task functions) IS 431 : Lecture 4 14 Physical Data Flow Diagrams (DFDs) Physical data flow diagrams (DFDs) model the technical and human decisions to be implemented as part of an information system (HOW, BY WHOM). Physical DFDs communicate technical choices and other design decisions to those actually construct and implement the system. IS 431 : Lecture 8 15 A Physical DFD IS 431 : Lecture 8 16 Physical Processes A physical process is either a processor, such as a computer or person, or a technical implementation of specific work to be performed, such as a computer program or manual process. Logical Process 4.3 Check Customer Credit Sample Physical Process Implementations 4.3 4.3 4.3 4.3 Check Customer Credit Check Customer Credit Check Customer Credit Check Customer Credit Acct Clerk COBOL/CICS Visual Basic Quickbooks IS 431 : Lecture 8 17 Computerized Process Implementation A purchased application software package (COTS) A system or utility program An existing application program with possible modification A program to be written IS 431 : Lecture 8 18 Physical Data Flows A physical data flow represents any of the following: – The planned implementation of an input to, or output from a physical process. – A database command / action such as create, read, update, or delete. – The import of data from, or the export of data to another information system across a network. – The flow of data between to modules or subroutines (represented as physical processes) in a program. IS 431 : Lecture 8 19 Physical Data Flows … IS 431 : Lecture 8 20 Physical Data Flows … IS 431 : Lecture 8 21 Physical Data Stores A physical data store represents the planned implementation of one of the following: – – – – – – A database A table in a database A computer file A tape or media backup of anything important A temporary file or batch Any type of noncomputerized file (paper file folders, accounting books etc…) IS 431 : Lecture 8 22 Physical Data Stores… IS 431 : Lecture 8 23 Distributed vs. Centralized Systems Distributed system : DATA, PROCESS, and INTERFACE components of an information system are distributed to multiple locations in a computer network. Accordingly, the processing workload is distributed across the network. Centralized systems : a central, multi-user computer hosts all the DATA, PROCESS, and INTERFACE components of an information system. Users interact with the system via terminals (or terminal emulators). IS 431 : Lecture 8 24 Why Distributed Systems? Modern businesses are already decentralized and distributed. Distributed computing moves information and services closer to the customers and users who need them. Distributed computing consolidates the power of personal computers across the enterprise. Distributed computing solutions are more userfriendly because they utilize the PC as the end user interface. Personal computers and network servers are cheaper than centralized mainframe computers. IS 431 : Lecture 8 25 Distributed Computing Layers Presentation layer—the user interface INTERFACE Presentation layer logic—such as input editing Application logic layer—the business rules, policies, and procedures PROCESS Data manipulation layer—to store and retrieve data to and from the database DATA Data layer—the actual business data IS 431 : Lecture 8 26 Distributed Computing IS 431 : Lecture 8 27 File Server Architecture A local area network (LAN) is a set of client computers (PCs) connected to one or more server computers either through cable or wireless connections over relatively short distances. A file server system is a LAN-based solution in which a server hosts only the data layers of an information system. All other layers are implemented on the client computers. Disadvantages include: – Frequently excessive network traffic to transport data between servers and clients. – Client must be fairly robust (“fat”) because it does most of the work – Database integrity can be easily compromised. IS 431 : Lecture 8 28 Client/Server Architecture: The Clients A client/server system is a solution in which the presentation, presentation logic, application logic, data manipulation, and data layers are distributed between client PCs and one or more servers. • A thin client is a personal computer that does not have very powerful processor speed and memory because it only presents the user interface to the user. • A fat client is a personal computer or workstation that has typically more powerful processor speed, memory, and storage capacity. It has software applications to process data at the client site. IS 431 : Lecture 8 29 Client/Server Architecture: The Servers A database server hosts one or more shared databases but also executes all data manipulation commands. A transaction server hosts services that ultimately ensure that all database updates for a single transaction succeed or fail as a whole. An application server hosts the application or business logic and services for an information system. A messaging or groupware server hosts services for email, calendar, and other work group functionality. A web server hosts Internet or intranet web sites and services, communicating through thin-client interfaces such as web browsers. IS 431 : Lecture 8 30 Client/Server : Distributed Presentation A distributed presentation client/server system is a solution in which the presentation and presentation logic layers only are shifted from the server to reside on the client. The application logic, data manipulation, and data layers remain on the server (frequently a mainframe). IS 431 : Lecture 8 31 Client/Server: Distributed Data A distributed data client/server system is a solution in which 1) the data and data manipulation layers are placed on the server(s), 2) the application logic, presentation logic, and presentation layers are placed on the clients. Also called two-tiered client/server computing. IS 431 : Lecture 8 32 Client/Server: Distributed Data and Application A distributed data and application client/server system is a solution in which: 1) the data and data manipulation layers are placed on their own server(s), 2) the application logic is placed on its own server, 3) the presentation logic and presentation layers are placed on the clients. Also called three- or n-tiered client/server computing. It requires design partitioning to distribute or duplicate application components (DATA, PROCESS, and INTERFACE) across the network. IS 431 : Lecture 8 33 Internet- and Intranetbased Architectures A network computing system is a multi-tiered solution in which the presentation and presentation logic layers are implemented in client-side Web browsers using content downloaded from a Web server. The presentation logic layer then connects to the application logic layer running on the application server, which subsequently connects to the database servers on the backside of the system. An intranet is a secure network, usually corporate, that uses Internet technology to integrate desktop, work group, and enterprise computing into a cohesive framework. IS 431 : Lecture 8 34 Data Architectures •A relational database stores data in tabular form. Each file is implemented as a table. Each field is a column in the table. Related records between two tables are implemented by intentionally duplicated columns in the two tables (Primary and Foreign Keys). •A distributed relational database distributes or duplicates tables to multiple database servers located in geographically important locations. IS 431 : Lecture 8 35 Data Distribution Options Store all data on a single server (Centralization) Store specific tables on different servers. Store subsets of specific table(s) on different servers – Subsets of columns (Vertical Partitioning) – Subsets of rows (Horizontal Partitioning) Replicate (duplicate) specific tables or subsets on different servers for back up (Replication) IS 431 : Lecture 8 36 Database Distribution • Data partitioning truly distributes rows and columns of tables to specific database servers with little or no duplication between servers. – Vertical partitioning assigns different columns to different servers. Sensitive data columns, Transactional data columns – Horizontal partitioning assigns different rows to different servers. Customers in LA; Customers in SF • Data replication duplicates some or all tables (or parts of tables) on more than one database server. Database technology controls access to, and manages consistency of duplicated data across the servers. IS 431 : Lecture 8 37 Database Distribution Vertical partitioning IS 431 : Lecture 8 38 Database Distribution Horizontal partitioning IS 431 : Lecture 8 39 Database Distribution IS 431 : Lecture 8 40 Database Distribution IS 431 : Lecture 8 41 Data Partitioning vs. Data Replication Logical Data Store 1 2 CUSTOMERS PRODUCTS Physical Data Stores using Partitioning 1P.# Oracle 7: REGION 1 CUSTOMERS 1P.# Oracle 7: REGION 2 CUSTOMERS Not applicable. All branch offices need access to data for all products, regardless of sales region. IS 431 : Lecture 8 Physical Data Stores using Replication Not applicable. Branch offices do not need access to data about customers outside of their own sales region. 2M Oracle 8i: PRODUCTS (Master) 2R Oracle 8i: PRODUCTS (Replicated Copy) 42 Interface Architectures How to get input and display output of the system: Batch inputs and outputs On-line inputs and outputs Remote batch Keyless data entry (and automatic identification) Pen input Electronic Data Interchange (EDI) Middleware (BizTalk) IS 431 : Lecture 8 43 Design Units Design unit – a self-contained collection of processes, data stores, and data flows that share similar design characteristics. – A design unit serves as a subset of the total system whose inputs, outputs, files and databases, and programs can be designed, constructed, and tested as a self-contained unit. – Ultimately, design units must be integrated into a whole system. IS 431 : Lecture 8 44 Application Architecture Strategies for System Design The Enterprise Application Architecture Strategy – Enterprise-wide information technology architecture to be followed in all subsequent development projects. Approved network, data, interface, and processing technologies and development tools. Strategy for integrating legacy systems and technologies. On-going process for continuously reviewing application architecture. On-going process for researching emerging technologies Process for analyzing requests for variances from the above. The Tactical Application Architecture Strategy – Defines architecture for each new system on an application-byapplication basis as needed. – Requires feasibility analysis for each application. IS 431 : Lecture 8 45