1 Kendall & Kendall Systems Analysis and Design, Global Edition, 9e Systems, Roles, and Development Methodologies Kendall & Kendall Copyright © 2014 Pearson Education 1-1 Learning Objectives • Understand the need for systems analysis and design in organizations. • Realize what the many roles of the systems analyst are. • Understand the fundamentals of different kinds of information systems • To understand the roles of systems analysis • Comprehend the fundamentals of three system development methods: • SDLC • The agile approach • Object-oriented systems analysis and design Kendall & Kendall Copyright © 2014 Pearson Education 1-2 Traditional Key Resources • People • Material • Machinery • Time, etc Kendall & Kendall Copyright © 2014 Pearson Education 1-3 Information—A Key Resource • Information is a key resource • Why is information Important: It fuels business and can be the critical factor in determining the success or failure of a business • Information needs to be managed correctly • There are costs associated with the production, distribution, security, storage and retrieval of all information – (costs incurred when dealing with information) • Managing computer-generated information differs from handling manually produced data Kendall & Kendall Copyright © 2014 Pearson Education 1-4 Information Systems • System – a set of things working together as part of a mechanism. • The elements of the system act according to a set of rules to form a unified whole • Two major types of systems are: • Natural systems • Designed system Kendall & Kendall Copyright © 2014 Pearson Education 1-5 Information Systems • Information system - A combination of software, hardware, and telecommunication networks to collect useful data. Kendall & Kendall Copyright © 2014 Pearson Education 1-6 Need for Systems Analysis and Design • System Analysts – perform system analysis and Design • Analysis- help identify and solve the right problems • Installing a system without proper planning leads to great user dissatisfaction and frequently causes the system to fall into disuse • A system must be need driven • Systems analysis and design lends structure to the analysis and design of information systems • It is a series of processes systematically undertaken to improve a business through the use of computerized information systems Kendall & Kendall Copyright © 2014 Pearson Education 1-7 Roles of the Systems Analyst • The analyst must be able to work with people of all descriptions and be experienced in working with computers • Three primary roles: • Consultant – bring a fresh perspective that people in an organization do not have • Rely on information system users to help you understand the organizational culture from other people’s viewpoints. • Supporting expert-serving as a resource for the project manager • Agent of change – the most responsible role that the a system analyst takes. • A catalyst for change • Develops a plan for change Kendall & Kendall Copyright © 2014 Pearson Education 1-8 Qualities of the Systems Analyst • Problem solver – views the analysis of problems as a challenge and enjoys devising workable solution • Communicator – cable of relating meaningfully to other people over extended periods of time • Strong personal and professional ethics • Self-disciplined and self-motivated Kendall & Kendall Copyright © 2014 Pearson Education 1-9 Systems Development Life Cycle (SDLC)- a system development methodology • The systems development life cycle is a phased approach to solving business problems • Developed through the use of a specific cycle of analyst and user activities • Each phase has unique user activities Kendall & Kendall Copyright © 2014 Pearson Education 1-10 The Seven Phases of the Systems Development Life Cycle No general agreement on the number of phases taken to develop a system. In our book there are seven phases. Kendall & Kendall Copyright © 2014 Pearson Education 1-11 1. Identifying Problems, Opportunities, and Objectives Phase 1) • This phase is concerned with correctly identifying problems, opportunities, and objectives • Analyst looks honestly at what is occurring in the business. What does the business want to do? • Analysts pinpoint problems. • Activity in this phase: • Interviewing user management • Summarizing the knowledge obtained • Estimating the scope of the project • Documenting the results • Participants in the first phase are: • Users, analysts and systems managers coordinating the project Kendall & Kendall Copyright © 2014 Pearson Education 1-12 1. Identifying Problems, Opportunities, and Objectives • Participants in the first phase are: • Users • Analysts, and • Systems managers coordinating the project. • Output of this phase is a: • Feasibility report containing problem definition and objective summaries • Management must make a decision on whether to proceed with the proposed project. Kendall & Kendall Copyright © 2014 Pearson Education 1-13 2. Determining Human Information Requirements(Phase 2) • This phase involves determining the needs of the users involved. • Activity: The analyst uses interactive methods such as: • Interviewing • Sampling and investing hard data • Questionnaires The analyst also uses unobtrusive methods such as: • Observe the decision maker’s behavior and environment • Prototyping • Learn the who, what, where, when, how, and why of the current system • The analyst uses these methods to pose and answer many questions concerning Human- Computer Interaction (HCI). Kendall & Kendall Copyright © 2014 Pearson Education 1-14 2. Determining Human Information Requirements (Phase 2) • Output of phase 2: • The analyst understands how users accomplish their work when interacting with a computer • Begin to know how to make the new system more useful and usable • Know the business functions • Have complete information on the: • People • Goals • Data • Procedure involved Kendall & Kendall Copyright © 2014 Pearson Education 1-15 3. Analyzing System Needs (Phase 3) • Activity: • Create data flow, activity, or sequence diagrams. Tools used to illustrate systems in a structured or graphical form, e.g.: • Data flow diagrams (DFD) to chart input, processes and output of the business’s functions • Activity diagrams, or • Sequence diagrams- to show the sequence of events. • Complete the data dictionary • Analyze the structured decisions made. There three major tools for analyzing structured decisions: • Structured English • Decision Tables, and • Decision Trees. • Prepare and present the system proposal • Output: • Recommendation on what, if anything, should be done Kendall & Kendall Copyright © 2014 Pearson Education 1-16 4. Designing the Recommended System (Phase 4) In the design of phase of the SDLC, the system analyst uses the information collected earlier to accomplish the logical design of the information system • Activity: • Design procedures for data entry into the information system • Design the human-computer interface (part of logical design of the information system. The interface connects the user with the system. The user interface is designed with the help of users to make sure the system is audible, legible and safe) • Design system controls • Design database and/or files – that will store much of the data needed by decision makers in the organization • Design backup procedures • Output • Model of the actual system Kendall & Kendall Copyright © 2014 Pearson Education 1-17 5. Developing and Documenting Software (Phase 5) • In the fifth phase of the SDLC the analyst works with programmers to develop any original software that is needed (WEIR MINERALS EXAMPLE) • Activity: • System analyst works with programmers to develop any original software • Works with users to develop effective documentation • Programmers design, code, and remove syntactical errors from computer programs • Document software with help files, procedure manuals, and Web sites with Frequently Asked Questions Kendall & Kendall Copyright © 2014 Pearson Education 1-18 5. Developing and Documenting Software (Phase 5) • Output: • Computer programs • System documentation Kendall & Kendall Copyright © 2014 Pearson Education 1-19 6. Testing and Maintaining the System (Phase 6) • Before an information system can be used, it must be tested • Testing is done by: • Programmer • Systems analyst. • Activity: • Test the information system • System maintenance – begins in this phase and is carried out routinely throughout the life of the information system. • Maintenance documentation • Output: • Problems, if any • Updated programs • Documentation Kendall & Kendall Copyright © 2014 Pearson Education 1-20 7. Implementing and Evaluating the System (Phase 7) • In this phase analysts help implement the information system. • Activity: • Train users • Analyst plans smooth conversion from old system to new system • Review and evaluate system • Output: • Trained personnel • Installed system Kendall & Kendall Copyright © 2014 Pearson Education 1-21 The Impact of Maintenance • After the system is installed, it must be maintained, i.e. computer programmes must be kept up to date. • Maintenance is performed for two reasons: • Removing software errors • Bugs or errors creep into computer programs. • Bugs must be corrected as they are detected • Enhancing existing software • Over time the cost of continued maintenance will be greater than that of creating an entirely new system. At that point it becomes more feasible to perform a new systems study. Kendall & Kendall Copyright © 2014 Pearson Education 1-22 Resource Consumption over the System Life (Figure 1.3) Over time – the total cost of Maintenance is likely to Exceed that of systems development At some point- it is more feasible to perform a new systems study because the cost of continued maintenance is clearly greater than the cost of creating an entirely new information system. Kendall & Kendall Copyright © 2014 Pearson Education 1-23 Approaches to Structured Analysis and Design and to the Systems Development Life Cycle • Traditional systems development life cycle • CASE systems development life cycle • Object-oriented systems analysis and design Kendall & Kendall Copyright © 2014 Pearson Education 1-24 Case Tools • Case – computer aided software engineering • Analysts use CASE tools to increase productivity, communicate more effectively with users. • CASE tools are productivity tools for systems analysts that have been created explicitly to improve their routine work through the use of automated support Kendall & Kendall Copyright © 2014 Pearson Education 1-25 Reasons for Using Case Tools • Reasons for using CASE tools • Increasing analyst productivity • Improving analyst-user communication • Integrating life cycle activities Kendall & Kendall Copyright © 2014 Pearson Education 1-26 The Agile Approach • Is a software development based on: • Values i.e. communication, simplicity, feedback and courage. • Principles • Core practices Kendall & Kendall Copyright © 2014 Pearson Education 1-27 Agile Values • Communication • Simplicity • Feedback • Courage Kendall & Kendall Copyright © 2014 Pearson Education 1-28 Four Agile Resources • Resources are adjusted to ensure successful project completion • Time • Cost • Quality • Scope Kendall & Kendall Copyright © 2014 Pearson Education 1-29 Five Stages of Agile Development Two words that characterize a project done with an agile approach are interactive and incremental • There are five distinct stages: • Exploration – • • explore your environment, asserting your conviction that the problem can and should be approached with agile development, assemble the team, and assess team member skills. Explore potential technologies needed to build the new system • Planning • • • You and your customer agree on a date to deliver solutions to their problems The agile development team always pursues limiting uncertainty No wonder why the need to design the simplest solution possible. • Iterations to the first release • The iterations are : cycle of testing, feedback and change. • Productionizing • • The product is released in this phase, but it may be improved by adding other features Getting a system into production is an exciting event • Maintenance • Once a system has been released, it needs to be kept running smoothly. Kendall & Kendall Copyright © 2014 Pearson Education 1-30 • Agile Project Development Process Symbolize incremental Changes created through Repeated testing and Feedback that eventually Lead to a stable but Evolving system. A continuous Feedback loop Involving customers And the development Team as they agree To alter the Evolving system Kendall & Kendall Iterations increased after A product is released Copyright © 2014 Pearson Education 1-31 Object-Oriented (O-O) Systems Analysis and Design • That is intended to facilitate the development of systems that must change rapidly in response to dynamic business environments • Object-oriented programming differs from traditional procedural programming in that it examines objects that are part of a system. • Each object is a computer representation of some actual thing or event • Objects may be customers, items, orders , and so on. • Alternate approach to the structured approach of the SDLC that is intended to facilitate the development of systems that change rapidly in response to dynamic business environments • Analysis is performed on a small part of the system followed by design and implementation • Note: object oriented programming examines objects that are part of a system • Each object is a computer representation of some actual thing or event Kendall & Kendall Copyright © 2014 Pearson Education 1-32 Object-Oriented (O-O) Systems Analysis and Design • Is intended to facilitate the development of systems that must change rapidly in response to dynamic business environment • Objects may be customers, items, orders, and so on. • Each object is a computer representation of some actual thing or event. • Object-oriented programming differs from traditional programming in that it examines objects that are part of a system. • Object-oriented programming uses Unified Modelling Language (UML) • That is intended to facilitate the development of systems that must change rapidly in response to dynamic business environments • The cycle repeats with analysis, design, and implementation of the next part and this repeats until the project is complete • Examines the objects of a system • Note- The phases in UML are similar to those in the SDLC. Kendall & Kendall Copyright © 2014 Pearson Education 1-33 Unified Modeling Language (UML) Phases • The following steps give a brief description of the UML process: • Define the use case model (analyst identifies the actors and the major events initiated by the actors): • Use case diagram : it represents the standard flow of events in the system Analyst draws a diagram with stick figures representing the actors and arrows showing how the actors relate • • • • • • Use case scenarios – the analyst writes up a use case scenario, which describes in words the steps that are normally performed. Create UML diagrams Develop class diagrams Draw statechart diagrams Modify the UML diagrams Develop and document the system Kendall & Kendall Copyright © 2014 Pearson Education 1-34 Kendall & Kendall Copyright © 2014 Pearson Education 1-35 Choosing a Method The three approaches all have these activities in common • • • • • In all the three, the analyst needs to understand the organization first. The analyst or project team needs to budget time and resources and develop a project proposal They need to interview organizational members and gather detailed data by using questionnaires Sample data from existing reports and observe how business is currently transacted. Choose either: • SDLC • Agile • Object-oriented methodologies • • • SDLC + Object oriented approaches both require extensive planning and diagramming Agile approach + Object oriented approach allows subsystems to be built one at a time until the entire system is complete Agile + SDLC approaches are both concerned about the way data logically moves through the system Kendall & Kendall Copyright © 2014 Pearson Education 1-36 When to Use SDLC • Systems have been developed and documented using SLDC • It is important to document each step • Upper level management feels more comfortable or safe using SDLC • There are adequate resources and time to complete the full SDLC • Communication of how new systems work is important Kendall & Kendall Copyright © 2014 Pearson Education 1-37 When to Use Agile • There is a project champion of agile methods in the organization • Applications need to be developed quickly in response to a dynamic environment • A rescue takes place (the system failed and there is no time to figure out what went wrong) • The customer is satisfied with incremental improvements • Executives and analysts agree with the principles of agile methodologies Kendall & Kendall Copyright © 2014 Pearson Education 1-38 When to Use Object-Oriented • The problems modeled lend themselves to classes • An organization supports the UML learning • Systems can be added gradually, one subsystem at a time • Reuse of previously written software is a possibility • It is acceptable to tackle the difficult problems first Kendall & Kendall Copyright © 2014 Pearson Education 1-39 Summary • Information is a key resource • Integration of traditional systems with new technologies • Roles and qualities of the systems analyst • The systems development life cycle • CASE tools • Agile systems development • Object-oriented systems development • Open source systems Kendall & Kendall Copyright © 2014 Pearson Education 1-40 Copyright © 2014 Pearson Education Kendall & Kendall Copyright © 2014 Pearson Education 1-41