MidTerm Exam Review [This document is a combination of the outline of all class lecture slides and my notes added in brackets. I've added notes to emphasize what I expect you know about a slide or to add information discussed in class for which you are also responsible. Unless I explicitly tell you otherwise, you're responsible for all information on all these slides. You're also responsible for text material on the topics addressed in these slides. In contrast, you are not responsible for topics in the text which are not included in the slides or my comments.] Chapter 1 - The Systems Development Environment [What is Systems Analysis & Design, why is it complex, what is the issue about "change." What is meant by the term "Information System" = Total IS.] Systems Analysis & Design Complex organizational process whereby Info Systems are developed & maintained Organizational improvement process Led by Systems Analyst as “Change Agent” People-intensive; Team-based Results in a “Total IS” - application software, hardware, systems software, documentation, training, people, and revised org processes [Know the basic types of information systems, and be able to recognize their definitions.] The Product - Types of Information Systems Transaction Processing Systems Expert Systems Artificial Intelligence & Agent-based Systems Management Information Systems Decision Support Systems Executive Information Systems Enterprise Resource Planning (ERP) Systems Office Automation Systems Scientific or Technical Systems [What does the term stakeholder mean? Know who the key IS stakeholders are & be able to explain their roles in IS development. Who are some of the other IS Managers/Technicians who may be involved? What is the role of the Systems Analyst? Why is the SA shown where it is in this list? ] The People - IS Stakeholders Business Managers End Users Systems Analysts IS Managers Programmers Other IS Managers/Technicians The Process - Systems Analysis Layers [Know the following terms & how they are related (i.e., what the figure represents)] Tools - Computer programs that make it easy to use & benefit from techniques and/or faithfully follow a methodology, e.g., CASE or Visual development tools. [What use to do] Techniques - Particular processes that an analyst will follow to ensure work well thoughtout, complete, and comprehensible to others. [How do it] Methodologies - Comprehensive, multi-step approach to systems development to guide your work and influence the quality of the final product - the information system. [What do, When] Quality - The culture which forms the foundation for the systems analysis process. [Why] [Understand what is meant by Process and Data Oriented approach, be able to compare/constrast them (see Table 1-1), and explain problems of Process-oriented approach which drove us to a Data-oriented approach. What is an object-oriented approach? Which one/ones do we use now?] The Process - Systems Analysis Approaches Process-Oriented Focus on flow, use, and transformation of data, e.g., Structured Systems Analysis & Design Data-Oriented Focus on separating “organizational” view of data from how data used, e.g., Information Engineering Object-Oriented Figure 1.1 - Differences Among Data Figure 1.2 - Traditional Relationship [Know the definitions of systems development methodology, systems development life cycle, and how they are different. Understand the major types of SDLC's, their strengths & weaknesses, & when use.] The Systems Development Process Systems Development Methodology A standard set of activities (steps), milestones, and deliverables used by an organization to develop & support Information Systems [Alternative: The procedures, techniques, and processes used to direct the activities of each phase of a system development life cycle.] [Alternative: Physical implementation of the logical life cycle which incorporates (1) step- by-step activities for each phase, (2) individual and group roles, (3) deliverables and quality standards, (4) tools and techniques to be used.] Systems Development Life Cycle Traditional systems development methodology Many alternative & adaptable SDLCs Often non-sequential (iterative, parallel, etc.) [Alternative: A work break down structure] [Alternative: The logical process by which systems analysts, software engineers, programmers, and end users build an information system to solve business problems and needs.] Figure 1-5 - The Systems Development Life Cycle [Know the basic phases, their purpose, and main deliverables (see Table 1-4)] Figure 1-7 - Evolutionary model Figure 1-8 - Seer Technologies [You can ignore this one] Figure 1-6 - Rapid Application Figure 1-9 - Prototyping Methodologies Generic Life-Cycle Build-and-Fix The Systems Development Process Other alternative approaches Joint Application Design Participatory Design Each approach/methodology has its advantages and disadvantages The most common approach is “Build and Fix” Chapter 2 - Succeeding as a Systems Analyst [You should know the basic skills needed for success as a systems analyst and when you may need them during the systems development life cycle.] Skills needed by Systems Analysts Analytical Technical Management Interpersonal Systems analysis as a profession Figure 2-1 - The Relationship between a Systems Analyst’s Skills and the Development Life Cycle [Know what is meant by systems thinking, what a system is, and what the nine parts of a system are.] Analytical: Systems Thinking System Inter-related set of components, With an identifiable boundary, Working together for some purpose Open system Interacts freely with environment via inputs & outputs; must adapt to env. changes Figure 2-2 - A General Depiction of a System [Pay attention to my change for "environment"] [Know the definition of these systems concepts and the difference between logical & physical descriptions.] Analytical: Systems Thinking Systems Concepts Decomposition, Modularity Coupling & Cohesion Logical vs. Physical system descriptions Information Systems Subsystems in larger organizational systems, with input/output from/to org. environment Analytical Organizational Knowledge (Table 2-1, p.49) Work processes, Internal politics, Org strategies, Competitive & regulatory environment Problem Identification Compare current situation to desired one May be problems, opportunities or directives Problem Analyzing & Solving Intelligence, Design, Choice, Implementation (Simon, 1960) Figure 2-8 - The Systems Development Life Cycle and Simon’s ProblemSolving Model Technical Knowledge of hardware/software technologies & potential/limitations Understand alternative technologies Adept at different system modeling/ representation techniques Versitile; focus on concepts vs. tools Committed to continuous learning Management Systems analysts are members of or lead project teams Leadership requires management skills Resource Management Project Management Risk Management Change Management Interpersonal Skills Communication Interviewing, Listening, Questionnaires Written & Oral Presentations Working alone & with a team Facilitating groups Managing expectations The Profession Standards of Practice Ethics Career Paths Chapter 3 - Managing the Info Systems Project Chapter 3 - IS Project Management Read pp. 69-90, 99-100; Skim pp. 91-98 Project Management Project A planned undertaking of a sequence of related activities having one objective, that must be completed by a specific time, within budget & according to specification Project Management Process of planning, directing, & controlling development to ensure an acceptable system at a minimum cost within a specified time Poor Project Management Can Cause Project Failures Poor leadership/management Taking shortcuts in SDLC/Methodology Expectations mismanagement Uncontrolled scope/feature creep Poor estimating techniques or unreasonably precise early cost/time estimates Poor people management The “Mythical Man-Month” Changing nature of business (& priorities) Figure 3-4 - A Project Manager Juggles Numerous Items during a Project Approaches to Project Mgt Assign to Senior Systems Analyst Appoint a Project Manager from the ranks of team (self-managing team) Hire/develop professional Project Managers Regardless of approach, a Project Manager requires a diverse set of skills (Table 3-1) Field Exercise # 1 - PM Skills (p. 104) Project Management Activities and the SDLC [see figure in notes] Project Planning Project Planning Activities Parallel Project Initiation & Planning Activities (Chapter 6) Summarized in Table 3-3 Field Exercise # 2 - Planning Activities (p. 104) Figure 3-7 - Level of Detail in a Project Plan [Understand basic concept that level of project planning detail increases as move later in the systems development life cycle.] [Know definition & difference between estimation & measurement & when you would use it. Know some different types of estimation approaches.] Estimation & Measurement Estimation: Approximating time, effort, costs, and benefits of developing systems. Measurement: Measuring/analyzing developer productivity and quality Estimation Approaches: Guesstimates Base on experience and data Model, e.g. using COCOMO Calculate using Function Points [Know basic steps you would go through to develop a Project Plan] Developing a Project Plan Identify each activity/task in project Determine task sequence & dependencies Estimate Expected Completion Time (ET) Estimate Optimistic Time (OT), Pessimistic Time (PT), Realistic Time (RT) Calculate ET = ((OT + 4*RT + PT)/6) Draw Gantt & PERT Charts [You don't have to draw a PERT Chart] [Know what a Gantt chart is, its basic components, and how to draw/construct one.] Gantt Chart Simple horizontal bar chart that depicts project tasks against a calendar Each bar represents a named project task Length of bar reflects task duration Tasks listed vertically in the left-hand column Horizontal axis is a calendar timeline Task progress shown with solid line in task bar Most commonly used project scheduling & progress evaluation tool in use Figure 3-22 - Gantt Chart showing Progress on Activities vs Planned Durations [Use this as an example of how to draw a Gantt chart.] [Know what a PERT chart is, its basic components, and how to read one. You do not have to construct one or calculate times for one.] PERT Charts Project Evaluation and Review Technique (PERT) Chart graphically depicts project tasks & their inter-relationships Supports identification of Critical Path Derive Earliest Completion Time (ECT) & Latest Completion Time (LCT) Calculate Slack Time (= LCT - ECT) Identify Critical Path(s) (Path w/no slack time) Figure 3-17 - PERT Chart for the SPTS Project Figure 3-10b: A PERT Chart (with Microsoft Project) [Know each method's strengths/weaknesses and when you might use each.] PERT vs. Gantt Charting PERT Charts Useful for large projects w/high task dependencies Shows task sequence & dependencies (not task duration) Emphasizes critical path identification Gantt Charts Often recommended for simpler projects Shows overlapping tasks & task duration Provides simple, graphical tracking of progress Best Approach: Use Both! Expectations Management [See chart in PPT slides, Understand why expectations management is important & how this chart can be used to help.] [Know what process management is and be able to compare it to project management.] Process Management Process Management Planning, selection, deployment, and consistent application of standard system development methods, tools, techniques, & technologies to all IS projects Prerequisite to Project Management Software Engineering Institute’s Capability Maturity Model (CMM) evaluates Process Maturity Summary Effective project management essential to success of IS development projects Emphasis on project management training & certification is increasing Process management also critical All systems analysts need at least basic understanding of project management tools & techniques Chapter 4 - Automated Tools for Systems Development [Know how CASE tools can support the different phases of the SDLC. Know what is meant by upperCASE and lower-CASE tools, e.g., what phases do they support.] Figure 4-3 - The Relationship between CASE Tools and the Systems Development Life Cycle [Know the types of capabilities/functions CASE tools can provide in support of IS development.] Types of CASE Tools Diagramming tools Form/Report prototype generators Analysis tools Documentation generators Code generators Central repositorities Other features (e.g., import/export, mult-user support, version control) Use of CASE in Organizations [Class discussion and hand-out only; no PPT slides. You should know the objectives of CASE (Table 4-1), Impacts on individuals (Table 4-2 as modified by our class discussion, Driving & Resisting Forces for CASE (Table 4-3, 4-4, and hand-out from Software Development Magazine), and Implementation Issues/Strategies (Table 4-5).] Chapter 5 - Identifying & Selecting System Dev Projects Figure 5-4 - Information Systems Development Projects Come from Both Top-Down and Bottom-Up Initiatives [Know the alternative methods for identifying & selection IS projects and the strengths/weaknesses of each (Table 5-1 & class discussion).] Figure 5-3 - Project Selection Decisions [Know the different types of factors which must be considered when making a Project Selection Decision. Also know the different types of possible outcomes.] [Know alternative evaluation criteria (see Table 5-2) & their strengths/weaknesses.] Possible Evaluation Criteria IS-Centric Criteria Solves business problems (“putting out fires”) Resource Availability Project Size/Duration/Technical Difficulty/Risks Potential Information Systen Benefits Organization-Centric Criteria Value Chain Analysis Strategic Alignment Critical Success Factor Analysis Figure 5-2 - Organizational Value Chain [Know what it is and be able to recognize/read a value chain analysis chart like this.] Corporate Strategic Planning [See chart in PPT slides for definitions of Mission, Vision, Goals, Objectives, and Critical Success Factors. Know what these are, how they are related, and why they are important in corporate strategic & IS planning.] Figure 5-11 - Parallel Activities of Corporate Strategic Planning and Information Systems Planning [Understand how these parallel/complement each other.] [Know what these techniques are, will not have to do them. Know what is included in an IS Plan.] Information Systems Planning Develop Information Systems Architecture (Figure 5-10, p. 171 & Table 5-4, p. 172) [See class hand-out with revised Architecture.] Construct Planning Matrices, then use Affinity Clustering (Figure 5-16, p. 177) Document Information Systems Plan Identify org. mission & role of IS in business Define IS needs, Long-range strategy, and Short-term plan Chapter 6 - Initiating & Planning Systems Dev Projects Chapter 6 - Planning Systems Dev Projects Read pp. 191-202, 206-220; Skim pp. 203-205 Group Discussion - Field Exercise #2 [Know what this phase, what activities are performed in this phase, why they are performed, and what the major deliverables are. Also be able to explain why I don't like the name of this phase, what I think is really important in the phase, and what some alternative names may be.] Initiating & Planning Systems Development Projects First phase of SDLC focusing on one specific systems development project Goals: Understand Project Scope Assess Project Feasibility Document Project Initiation (table 6-1) & Planning (table 6-2) activity results in Baseline Project Plan & SOW [Know what is meant by project scope, why it's important, and what some of the questions are they need to be answered to determine scope. Also, what's scope creep and why is it a problem?] Scope of the Project What problem(s) trying to solve? What opportunities or directives exist? What business functions, organizational units, and stakeholders affected? What is the objective of the project? What system capabilities will be considered? What systems will be changed/impacted? Ref: Figure 6-11 & 6-12, p. 214-5 Figure 6-12 - Context-Level Data Flow Diagram Showing Project Scope [Know that this is an alternative way to display scope & be able to read, don't need to be able to develop one on your own yet.] [Know the different types of feasibility which much be assessed, what is involved in each, and why each are important in their own right.] Assessing Project Feasibility Economic Technical Operational Schedule Legal & Contractual Political Economic Feasibility Goal: To identify project Benefits & Costs, i.e., to conduct a Cost-Benefit Analysis Costs (of IS and its development) Tangible vs. intangible One-time vs. recurring Fixed vs. variable Benefits Tangible - Measurable in dollars Intangible - Not easily measured Cost-Benefit Analysis Techniques [Know what these are, don't have to calculate.] Net Present Value (NPV) Return on Investment (ROI) Break-Even Analysis (BEA) Project Planning Phase: Identify benefits & costs, perform high-level analysis Analysis Phase: Conduct detailed analysis, may need to meet organization thresholds Figure 6-8 - Break-Even Analysis for the Customer Tracking System [Just graphically displays what this is, you don't have to draw; just be able to read/explain BEA.] Technical Feasibility Goal: To assess development organization’s ability to construct proposed system Factors: Project size - larger projects riskier Project structure - Unclear requirements riskier Development group’s experience with target hardware & software - new/inexperienced riskier User group’s experience - inexperienced riskier See Project Risk Matrix (Fig 6-9, p. 209) Operational/Political Feasibility To measure how well the solution will work in the organization Political Feasibility To determine how people/key stakeholders feel about the proposed system/project Operational Feasibility To assess whether proposed system solves business problem(s) Other Feasibility Concerns Schedule Feasibility To assess likelihood that project dates will be met & that they meet organizational needs Legal/Contractual Feasibility To assess potential legal (e.g., copyright, privacy) and contractual (e.g., licensing) ramifications of proposed system [You may have to do something like this, so may want to think about what we did in class.] Feasibility Field Exercise Field Exercise #2 (p. 223) Break into Groups Choose a personal or professional project (Buying a new vehicle/SUV) Assess feasibility of the project Report group results to class [Know what a BPP is, when/why it's used, what's included, and what types of info I added to the book's BPP & why.] Baseline Project Plan Introduction (~Executive Summary) Project Overview & Recommendation System Description Current system/problems Alternatives (scope, platforms, acquisition) Proposed system description Feasibility Assessment Management Issues See Sample BPP (fig 6-10) & Project RFP [Know what a SOW is, what's in it, when it's used, and what type of circumstances it may more or less formal.] Statement of Work (SOW) Prepared for Customer High-level description of project, work required & deliverables; summary of BPP May be formal or informal; can serve as contract basis [Know the different types of end-of-phase reviews, how/why they are done.] End-of-Phase Reviews BPP Walk-Through Structured peer review of BPP, SOW, & other project documentation before formal review End-of-Phase Review Formal review and approval required for project continuation to next phase; “Incremental Commitment” Chapter 7 - Determining Systems Requirements Part III Overview - Analysis Analysis - To determine what information/ info system is needed to support the objectives & functions of the organization Analysis Steps Requirements Determination (Ch. 7) Requirements Structuring (Ch. 8-10) Alternative Generation & Selection (Ch. 11) Requirements Determination To gather information about: Current system Organization the new system will support User requirements/expectations for new system Ref: Questions on p. 236, 242 Understanding current system essential, but must avoid “analysis paralysis” Rqmts Determination Methods [Be able to fill out this diagram identifying the different traditional requirements determination methods, what is done during each, and their pros & cons.]