Systems Analysis Book Outline/ChecklistCh 1 The Modern Analyst System Analyst - facilitates the study of the problems and needs of a business to determine how the business system and information technology can best solve the problems and accomplish improvements for the business. The product of this activity may be improved business processes, improved information systems, or new or improved computer applications - frequently all three. When information technology is used, the analyst is responsible fro the capture of data from its business source, the flow of data into the computer, and the flow of useful and timely information back to the business and it’s people. Systems development life cycle is a systematic and orderly approach to solving system problems. Usually incorporates following steps:
Ch 2 Information System Building Blocks Types of systems: Transaction processing systems Management Information System - provides for management-oriented reporting Decision Support System Expert Systems Office Information Systems Personal and Work Group Information Systems Information System Focuses: matrix of focuses (Data, Process, Interface, Geography) and people (System Owners, System Users, System Designers, System Builders) Detailed Discussion of each of these pp. 50 - 66
Ch 3 Information System Development PIECES Problem-solving framework (p. 81)
Systems Development Phases (FAST Methodology) (p. 82-83)
Detailed discussion of Phases - (Purpose, Participants & roles, Prerequisites, Activities, Deliverables, Prerequisite & Feasibility Checkpoints)
Discussion of CASE Tools
Ch 4 Systems Analysis Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work. More Discussion of the Systems Analysis Phases & associated activities: Survey Phase (128) (Dia 129) Negotiate Project Scope (p.132) Plan Project (p. 134) Present the Project (p. 135) Study Phase (p. 137) (Dia 139) Analyze Business Processes (p. 142) Analyze Problems and Opportunities (p. 143) Establish System Improvement Objectives and Constraints (145) Modify Project Scope and Plan (p. 147) Present Findings & Recommendations (P. 149) Definition Phase (p. 151) (Dia 153) Outline Business Requirements (p. 151) Model Business System Requirements (p. 154) Build Discovery Prototypes OPT (p. 157) Prioritize Business Requirements (p. 159) Modify the Project Plan & Scope (p. 161)
Ch 5 Data Modeling Logical Model p. 172 - show what a system is or does. They are implementation independent. Popular synonyms include essential Models conceptual model, and business model. Physical Models p. 173 - show not only what a system is or does, but also bow the system is physically and technically implemented. Synonyms include implementation model and technical model. Data Modeling is a technique for organizing and documenting a system’s DATA. Data modeling is sometimes called database modeling because a data model is usually implemented as a database. It is sometimes called information modeling. Entity Relationship diagram p. 175 There are several notations for data modeling. The actual model is frequently called an entity relationship diagram (ERD) Because it depicts data in terms of the entities and relationships described by the data We have adopted the Martin (information engineering notation Entity p. 175 - An entity is something about which we want to store data. Synonyms include enmity ~Ai)e and entity class. An entity is a class of persons, places, objects, events, or concepts about which we need to capture and store data. An entity instance is a single occurrence of an entire. Attribute - An attribute is a descriptive property or characteristic of an entity. Synonyms include element, property, and field. rye values for each attribute are defined in terms of three properties: data type, domain, and default. Compound Attribute - is one that actual1y consists of more primitive attributes. Synonyms in different data modeling languages are numerous: concatenated attribute, composite attribute, and data structure. The data type for an attribute defines what class of data can be stored in that attribute, Domains - The domain of an attribute defines what values an attribute can legitimately take on. The default value for an attribute is the value that will be recorded if not specified by the user. Key - is an attribute, or a group of attributes, that assumes a unique value for each entity instance. It is sometimes called an identifier. Concatenated Key - A group of attributes that uniquely identifies an instance of an entity is called a concatenated key. Synonyms include composite key and compound key. Candidate Key - 179 - is a "candidate to become the primary identifier" of instances of an entity. Primary Key - is the candidate key that will most commonly be used to uniquely identify a single entity instance. Alternate Key - Any candidate key that is not selected to become the primary key is called an alternate key. Subsetting criteria - is an attribute (or concatenated attribute) whose finite values divide all entity instances into useful subsets. Some methods call this an inversion entity. Relationship p. 179 - is a natural business association that exists between one or more entities. The relationship may represent an event that links the entities or merely a logical affinity that exists between the entities. Cardinality Notation Diagram Fig 5.3 p.180 Cardinality - defines the minimum and maximum number of occurrences of one entity for a single occurrence of’ the related entity. Because all relation- ships are bi-directional, cardinality must be defined in both directions for every relationship. Degree - The degree of a relationship is the number of entities that participate in die relationship. Recursive relationship - Relationships may also exist between different instances of the same entity. We call this a recursive relationship (sometimes called a unary relationship; degree =1) Associative entity - is n entity that inherits its primary Key from more than one other entity (parents). Each part of that concatenated key points to one and only one instance of each of the connecting entities. Foreign Keys - is a primary key of one entity that is contributed to (duplicated in) another entity to identify instances of a relationship. A foreign key (always in a child entity) always matches the primary key (in a parent entity). Nonspecific relationship or many-to-many relationship - is one in which many instances of one entity are associated with many instances of another entity. Such relationships are suitable only for preliminary data models and should be resolved as quickly as possible. All nonspecific relationships can be resolved into a pair of one-to-many relationships. Generalization p.183 - is a technique wherein the attributes that are common to several types of an entity are grouped into their own entity, called a super-type. The entity supertype will have one or more one-to-one relationships to entity sub-types. More => The Process of Logical Data Modeling Strategic Data Modeling Data Modeling during Systems Analysis Looking Ahead to Systems Configuration and Design Fact-Finding and Information Gathering for Data Modeling Computer-Aided Systems Engineering (CASE) for Data Modeling How to Construct data Models Entity Discovery - determine the entities Context Data Model - construct using verb phrases Key-Based Data Model - determine keys Generalized Hierarchies -business hierarchies Fully attributed Data Model - all attributes, named carefully Fully described Model - add domains (acceptable values) The Next Generation
Ch 6 Process Modeling Steps in Process Modeling (P.237)
Ch 7 Network Modeling No generally accepted network modeling standards Location Decomposition diagram Synchronization of System Models:
Ch 8 Object Modeling Object Oriented Analysis (OOA) - used to 1) study existing objects to see if they can be reused or adapted for new uses and 2) define new or modified objects that will be combined with existing objects into a useful business computing application. Object - something that is or is capable of being seen, touched, or otherwise sensed, and about which users store data and associate behavior. Attributes are the data that represent characteristics of interest about an object. Behavior refers to those things that the object can do and that correspond to functions that act on the object’s data (or attributes). In object-oriented circles, an object’s behavior is commonly referred to as a method or service. Encapsulation is the packaging of several items together into one unit Class is a set of objects that share common attributes and behavior. A class is sometimes referred to as an object class. Inheritance means that methods and/or attributes defined in an object class can be inherited or reused by another object class. Generalization/specialization is a technique wherein the attributes and behaviors that are common to several types of object classes are grouped into their own class, called a super type. The attributes and methods of the super type object class are then inherited by those object classes. A class subtype is an object class whose instances inherit some common attributes from a class super type and then add other attributes that are unique to an instance of the subtype. Object/class relationship is a natural business association that exists between one or more objects/classes. Messages and Message sending - a message is passed when one object invokes one or more of another object’s methods (behaviors) to request information or some action. Multiplicity defines the minimum and maximum number of occurrences of one object/class for a single occurrence of the related object/class. Process of Object Modeling Two general activities of Object Modeling Finding and identifying the business objects Organizing the objects and identifying their relationships Use case modeling is the process of identifying and modeling business events, which initiated them, and how the system responds to them. Use Case is a behaviorally related sequence of steps (a scenario), both automated and manual, for the purpose of completing a single business task. An actor represents anything that needs to interact with the system to exchange information. An actor is a user or a role that could be in an external system or person. Use Cases benefits:
Steps:
Organizing the Objects and Identifying Their Relationships An Object Association Model is used to graphically depict the objects and their relationships.
Ch 9 Systems Design & construction - NR Systems design is the evaluation of alternative solutions and the specification of a detailed computer-based solution. It is also called physical Design. There are many strategies or techniques for performing systems design. They include modern structured analysis, information engineering, prototyping, JAD, RAD. and object-oriented design. Modern structured Design is a process-oriented technique for hre~Ling up a large program into a hierarchy of modules that result in a computer pro- gram that is easier to implement and maintain (change). Synonyms (although technically inaccurate) are top-down program design and structured program m I)1,~. Configuration Phase (319) (Dia 320) Define Candidate Solutions (319) Analyze Feasibility of Alternative Solutions (321) Recommend a System Solution (324) Procurement Phase (326) (Dia 328) Research Technical Criteria and Options (324) Solicit Proposals (or Quotes) from Vendors (329) Validate Vendor Claims and Performance (330) Evaluate and Rank Vendor Proposals (332) Award Contract and Debrief Vendors (333) Establish Integration Requirements (334) Design and Integration Phase (335) (Dia 337) Analyze and Distribute Data (336) Analyze and Distribute Processes (339) Design Databases (340) Design Computer Outputs and Inputs (341) Design On-Line User Interface (342) Present and review design (343)
Ch 10 - Application Architecture and Process Design 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. Client/server computing - system’s database, software, and interfaces are distributed across a network of client and servers that communicate and cooperate to achieve system objectives. Centralized computing - multi-user computer hosts all above. User interacts with a terminal. Distributed presentation Distributed Data - two-tiered client/server - data on server and business logic and UI on the clients. Distributed Data and Logic - Three tiered/n-tiered client/server computing - distributes databases and business logic to separate servers. Internet and Intranets Well-designed network provides connectivity and interoperability Connectivity - how computers are connected to talk to one another Interoperability - ideal state in which connected computers cooperate with one another in a manner that is transparent to their users. Network topology describes how a network provides connectivity between the computers on that network. Types: ring, star, hierarchical (multiple star) Data Architectures for distributed relational databases Distributed relational database distributes or duplicates tables to multiple database servers Data distribution partitions data to one or more database servers. Data replication duplicates data on one or more database servers Interface Architectures - Inputs, Outputs, and Middleware Types of input: Batch I/O - scheduled basis On-line processing, provide for a conversational dialog between the user and computer Remote Batch, - combines the best aspects of batch and on-line I/O. Distributed on-line computers handle data input and editing. Edited transactions are collected into a batch file for later transmission to the host that process the file a batch. Keyless OCR &OMR (optical mark reading) Also auto-identification (Bar coding) Pen Input GUI Electronic Messaging and workgroup technology Electronic data interchange - electronic flow of business transactions btw customers and suppliers Imaging and Document Interchange Middleware -utility software that interfaces systems built with incompatible technologies. Systems Integration - is the process of making heterogeneous information systems (and computer systems) interoperate Process Architecture - Software Development Environment & System Management Software Development environment is a language and tool kit for constructing information systems applications. Different SDEs for: Centralized Computing and distributed processing, 2-Tier Client/server, Multiple tier Client/server, Internet and Intranet Client/Server Application Architecture Strategies and Design Implications Enterprise Application Architecture Strategy - The IT architecture defines
Tactical Application Architecture Strategy - check for feasibility: technical, operational, economic Build vs. Buy - most companies purchase those applications that do not significantly add competitive advantage to the business. Purchase of application changes the methodology of systems analysis. P.372. Modeling Application Architecture and Information Systems Processes Physical Data Flow Diagrams - model the technical and human design decision. Physical data flow represents planned implementation of an input to or output form a physical process. Or Database actions Import of data from or the export to another information system across a network Data flows between two modules or subroutines within the same program System flowcharts are diagrams that show the flow of control through a system while specifying all programs, inputs, outputs, and file/database accesses and retrievals. Still used although on the decline. Designing the application Architecture and the Information System Processes Drawing Physical DFD Prerequisites Network Topology DFD Data Distribution and Technology Assignments Process Distribution and Technology Assignments Person/Machine Boundaries
Ch 11 - Database Design Fields p. 398 Primary Keys Secondary Keys Foreign Keys Descriptive Fields Record Data Architecture p. 401 Data Analysis (p. 408) is process that prepares a data model for implementation as a simple, non-redundant, flexible, and adaptable database. The specific technique is called normalization. Normalization is a technique that organizes data attributes such that they are grouped to form stable, flexible, and adaptive entities. First Normal Form (1NF) - if there are no attributes that can have more than one value for a single instance of the entity (frequently called repeating groups). Any attributes that can have multiple values actually describe a separate entity, possibly an entity (and relationship) that we haven’t yet included in our data model. Second Normal Form (2NF) - if it is already in 1NF and if the values of all non-primary key attributes are dependent on the full primary key - not just part of it. Any non-key attributes that are dependent on only part of the primary key should be moved to any entity where that partial key becomes the full key. Again, this may require creating a new entity and relationship to the model. Third Normal Form (3NF) - if it is already in 2NF and if the values of its non-primary key attributes are not dependent on any other non-primary key attributes. Any non-key attributes that are dependent on other non-key attributes must be moved or deleted. Again, new entities and relationships may have to be added to the data model. Ch 12 - Input Design and Prototyping Ch 13 - Output Design and Prototyping Ch 14 - User Design Interface and Prototyping Ch 15 - Software Design Ch 16 - Object Oriented Design
Ch 17 - Systems Implementation Construction Phase (557)(Diagram 559) Build and Test Networks (if necessary) (557) Build and Test Databases (560) Install and test new software package (561) Write and Test new Programs (562) Delivery Phase (564) (Diagram 566) Conduct System Test (564) Prepare Conversion Plan (566) Install Databases (569) Train System Users (569) Convert to New System (521)
Ch 18 - Systems Support
App A - Project and Process Management Techniques Project - sequence of unique, complex, and connected activities having one goal or purpose and that must be completed by specific time, within budget and according to specification. Project Management is process of defining, planning, directing, monitoring and controlling the development of an acceptable system at a minimum cost within a specified time frame. Problems: Scope Creep Feature Creep Cost overruns Functions of Project manager: planning, staffing, organizing, scheduling, directing, and controlling. Scoping the Project. Project definition should include:
Process management is the planning, selection, deployment, and consistent application of standard system development methods, tools, techniques, and technologies to all information system projects. Methodologies Quality - must be managed. Need internal standards for:
Project Mgmt tools and techniques Gantt Chart - activities as horizontal bars Forward and Reverse scheduling Calendars WBS - hierarchical decomposition of project into phases, activities and tasks Milestones Effort and Duration - Expected Duration function of Optimistic Time and Most Likely Time Predecessors and Constraints Critical Path and Slack Resources Pert Charts - Project Evaluation and Review Technique Graphical Networking Technique, Not calendar format, shows intertask relationships very effectively. Expectations Mgmt Expectations Management Matrix
Record 3 Xs one in each row, no column can contain more than one X Whenever min/max measure begins to slip there is a potential mgmt expectations problem Only system owner can initiate priority migration People Management: Author recommends The One Minute Manager by Blanchard and Johnson
App B - Fact-Finding and Information Gathering Fact Finding is the formal process of using research, interviews, questions, sampling, and other techniques to collect information about systems, requirements, and preferences. It is also called information gathering or data collection. Fact Finding Methods Available:
Fact Finding Strategy
App C - Feasibility and Cost-Benefit Analysis Feasibility is measure of how beneficial or practical the development of an information system will be to an organization Select checkpoints throughout the project to evaluate feasibility Four test for feasibility:
Cost-Benefit Techniques How much will the system cost: personnel, computer usage, training, supply-duplication& equipment, cost of any new computer equipment and software. Lifetime benefits must recover both the developmental and operating costs. What benefits will the system provide, both tangible and intangible Is the proposed system cost-effective: Use Time Value of Money
Feasibility Analysis of Candidate Systems - Candidate Systems Matrix See example p.658
App D - Joint Application Development
App E - Interpersonal Skills and Communications Make people feel at ease |
||||||||||||||||||