Midterm Review Information System Design Topics Covered Chpt 8: Process Modeling Chpt 9: Feasibility Analysis Chpt 10: Systems Design Chpt 12: Database Design Process Modeling Test Design Closed book. No calculators or notes. True/False questions (20 pts) Short answer (50 pts) Two designing/modeling questions (30 pts) A model is a representation of reality. Just as a picture is worth a thousand words, most models are pictorial representations of reality. Logical models show what a system is or does. They are implementation independent; that is, they depict the system independent of any technical implementation. Physical models show not only what a system is or does, but also how the system is (to be) physically and technically implemented. They are implementation dependent because they reflect technology choices. Decomposition is the act of breaking a system into its component subsystems, processes, and subprocesses. Each level of abstraction reveals more or less detail. System Decomposition Other Process Modeling Topics Data Flow Diagrams Structured English Decision Tables Data packets Legal and illegal data flows Data structures, data types and domains Diverging and converging data flows External agents, data stores Use cases Data to Process CRUD Matrix Data Flows and Control Flows A data flow represents an input of data to a process, or the output of data from a process. A data flow may also be used to represent the creation, reading, deletion, or updating of data in a file or database (called a data store). A composite data flow is a data flow that consists of other data flows. A control flow represents a condition or nondata event that triggers a process. Used sparingly on DFDs. Feasibility Analysis Four Feasibility Tests Operational feasibility is a measure of how well the solution will work in the organization. It is also a measure of how people feel about the system/project. Technical feasibility is a measure of the practicality of a specific technical solution and the availability of technical resources and expertise. Schedule feasibility is a measure of how reasonable the project timetable is. Economic feasibility is a measure of the cost-effectiveness of a project or solution. Cost/Benefit Analysis Costs: Development costs are one time costs that will not recur after the project has been completed. Operating costs are costs that tend to recur throughout the lifetime of the system. Such costs can be classified as: Fixed costs — occur at regular intervals but at relatively fixed rates. Variable costs — occur in proportion to some usage factor. Benefits: Tangible benefits are those that can be easily quantified. Intangible benefits are those benefits believed to be difficult or impossible to quantify. Three Ways to Approach Cost/Benefit Analysis Payback Analysis Return On Investment Net Present Value The Time Value of Money is a concept that should be applied to each technique. The time value of money recognizes that a dollar today is worth more than a dollar one year from now. Candidate System Matrices Feasibility Analysis Matrix Feasibility Analysis Matrix is intended to complement the candidate systems matrix with an analysis and ranking of the candidate systems. Candidate 1 Name Candidate 2 Name Candidate 3 Name Description Operational Feasibility Technical Feasibility Schedule Feasibility Economic Feasibility Ranking System Design System Design Approaches Model-Driven Modern structured design Information engineering Prototyping Object-oriented JAD RAD Modern Structured Design A process-oriented technique for breaking up a large program into a hierarchy of modules that result in a computer program that is easier to implement and maintain (change). Synonyms (although technically inaccurate) are top-down program design and structured programming. Information Engineering A model-driven and data-centered, but process-sensitive technique to plan, analyze, and design information systems. The primary tool of IE is a data model diagram. Prototyping and Obj. Oriented The prototyping approach is an iterative process involving a close working relationship between the designer and the users. Object-oriented design (OOD) techniques are used to refine the object requirements definitions identified earlier during analysis, and to define design specific objects. RAD and JAD Rapid application development (RAD) is the merger of various structured techniques (especially the datadriven information engineering) with prototyping techniques and joint application development techniques to accelerate systems development. RAD calls for the interactive use of structured techniques and prototyping to define the users’ requirements and design the final system. Joint Application Development (JAD) is a technique that complements other systems analysis and design techniques by emphasizing participative development among system owners, users, designers, and builders. Database Design Files and Databases A file is a collection of similar records. A database is a collection of interrelated files (meaning that records in one file are physically related to records in another file). A field is the physical implementation of a data attribute. They are the smallest unit of meaningful data. A primary key is a field whose values identify one and only one record in a file. A secondary key is an alternate identifier for a record. A foreign key is a pointer to a record in a different file. A descriptive field is any other (nonkey) field that stores business data. Relational databases implement stored data in a series of twodimensional tables that are “related” to one another via foreign keys. The physical data model is called a schema. The DDL and DML for a relational database is called SQL (Structured Query Language). Triggers are programs embedded within a table that are automatically invoked by updates to another table. Stored procedures are programs embedded within a table that can be called from an application program. Data Normalization An logical entity (or physical table) is in first normal form if there are no attributes (fields) that can have more than one value for a single instance (record). An logical entity (or physical table) is in second normal form if it is already in first normal form and if the values of all nonprimary key attributes are dependent on the full primary key. An logical entity (or physical table) is in third normal form if it is already in second normal form and if the values of all nonprimary key attributes are not dependent on other nonprimary key attributes Database Goals A database should provide for efficient storage, update, and retrieval of data. A database should be reliable—the stored data should have high integrity and promote user trust in that data. A database should be adaptable and scalable to new and unforeseen requirements and applications Study Hard! Good Luck!