Systems Analysis and Design PDF
Document Details
2020
Kenneth E. Kendall Julie E. Kendall
Tags
Related
Summary
This document is a textbook about Systems Analysis and Design. It covers various aspects of the topic, from learning objectives to different development methodologies. The authors cover both theoretical and practical aspects of systems analysis and design.
Full Transcript
Systems Analysis and Design Tenth Edition Global Edition Chapter 1 Systems, Roles, and Development Methodologies Copyright © 2020 Pearson Education Ltd. Learning...
Systems Analysis and Design Tenth Edition Global Edition Chapter 1 Systems, Roles, and Development Methodologies Copyright © 2020 Pearson Education Ltd. Learning Objectives 1.1 Understand the need for systems analysis and design in organizations 1.2 Realize what the many roles of the systems analyst are 1.3 Comprehend the fundamentals of three development methodologies: 1.3.1 The systems development life cycle (SDLC) 1.3.2 The agile approach including Scrum 1.3.3 Object-oriented systems analysis and design Copyright © 2020 Pearson Education Ltd. Information – A Key Resource Fuels business and can be the critical factor in determining the success or failure of a business Needs to be managed correctly. It is not free. Managing computer-generated information differs from handling manually produced data Copyright © 2020 Pearson Education Ltd. Major Topics Fundamentals of different kinds of information systems Roles of systems analysts Phases in the systems development life cycle as they relate to Human-Computer Interaction (HCI) factors Agile development Object-oriented Systems Analysis and Design Copyright © 2020 Pearson Education Ltd. Need for Systems Analysis and Design Systems analysis and design, as performed by systems analysts, is used to understand what people need to be able to systematically analyze data input or data flow, process or transform data, store data, and output information in the context of a particular organization or enterprise. Systems analysts seek to identify and solve the right problems by performing a thorough analysis of the client’s system. Furthermore, systems analysis and design is used to analyze, design, and implement improvements to the computerized information systems that support users and the functions of businesses. Copyright © 2020 Pearson Education Ltd. Need for Systems Analysis and Design Security is critical to the functioning of organizational information systems, and security is a challenge for everyone involved in systems development. Information systems present multiple vulnerabilities, and the idea of perfect security is a fantasy. Rather, organizations make trade-offs. As a systems developer, it is important that you design new systems with an awareness of what you can do to design security into a system from the very beginning. You should always examine systems you are updating or improving for ways to address vulnerabilities and improve training for security issues. Copyright © 2020 Pearson Education Ltd. Need for Systems Analysis and Design Installing a system without proper planning leads to great user dissatisfaction and frequently causes the system to fall into disuse Systems analysis and design lends structure to the analysis and design of information systems User involvement throughout a systems project is critical to the successful development of computerized systems Copyright © 2020 Pearson Education Ltd. Roles of the Systems Analyst A systems analyst systematically assesses how users interact with technology and how businesses function by examining the inputting and processing of data and the outputting of information with the intent of improving organization processes. Many improvements involve better support of users’ work tasks and business functions through the use of computerized information systems. An analyst must be able to work with people of all descriptions and be experienced in working with computers. Copyright © 2020 Pearson Education Ltd. Roles of the Systems Analyst An analyst plays many roles, sometimes balancing several at the same time. Three primary roles: – Consultant – Supporting Expert – Agent of change Copyright © 2020 Pearson Education Ltd. Roles of the Systems Analyst Consultant: A systems analyst frequently acts as a systems consultant to humans and their businesses and, thus, may be hired specifically to address information systems issues within a business. – Advantage→outside consultants bring with them a fresh perspective that people in an organization do not possess. – Disadvantage→an outsider can never know the true organization culture. Copyright © 2020 Pearson Education Ltd. Roles of the Systems Analyst Supporting Expert: an analyst draws on professional expertise concerning computer hardware and software and their uses in the business. This work is often not a full-blown systems project and may entail only a small modification or a decision affecting a single department. As the supporting expert, you are not managing the project; you are merely serving as a resource for those who are managing it. Copyright © 2020 Pearson Education Ltd. Roles of the Systems Analyst Agent of Change: you are an agent of change whenever you perform any of the activities in the systems development life cycle and are present and interacting with users and the business for an extended period (from two weeks to more than a year). Your presence in the business changes it. As a systems analyst, you must recognize this fact and use it as a starting point for your analysis. Hence, you must interact with users and management from the very beginning of your project. Copyright © 2020 Pearson Education Ltd. Qualities of the Systems Analyst Problem solver – views the analysis of problems as a challenge and enjoys devising workable solutions. Communicator – capable of relating meaningfully to other people over extended periods over time. Strong personal and professional ethics – need to shape their client relationships. Self-disciplined and self-motivated – must be able to coordinate other people as well as innumerable project resources. Copyright © 2020 Pearson Education Ltd. Systems Development Life Cycle (SDLC) The systems development life cycle is a phased approach to solving business problems The SDLC is a phased approach to analysis and design based on the assumption that systems are best developed through the use of a specific cycle of analyst and user activities. Each phase has unique user activities. Analysts disagree on exactly how many phases there are in the SDLC. For this course we will use the following. Copyright © 2020 Pearson Education Ltd. Figure 1.1 The Seven Phases of the Systems Development Life Cycle Copyright © 2020 Pearson Education Ltd. Identifying Problems, Opportunities, and Objectives The first phase requires that the analyst look honestly at what is occurring in a business. Then, together with other organization members, the analyst pinpoints problems. Opportunities are situations that the analyst believes can be improved through the use of computerized information systems. Seizing opportunities may allow the business to gain a competitive edge or set an industry standard. Identifying objectives is also an important component of the first phase. Then the analyst will be able to see how can the business reach its objectives by addressing specific problems or opportunities. Copyright © 2020 Pearson Education Ltd. Identifying Problems, Opportunities, and Objectives Activity: – Interviewing user management – Summarizing the knowledge obtained – Estimating the scope of the project – Documenting the results Output: – Feasibility report containing problem definition and objective summaries from which management can make a decision on whether to proceed with the proposed project Copyright © 2020 Pearson Education Ltd. Determining Human Information Requirements The analyst determines the human needs of the users involved, using a variety of tools to understand how users interact in the work context with their current information systems. In this phase, the analyst is striving to understand what information users need to perform their jobs. The analyst is examining – How to make the system useful to the people involved? – How can the system better support individual tasks that need to be done? – What new tasks are enabled by the new system that users were unable to do without it? – How can the new system extend a user’s capabilities beyond what the old system provided? – How can the analyst create a system that is rewarding for workers to use? Copyright © 2020 Pearson Education Ltd. Determining Human Information Requirements Activity: – Interviewing – Sampling and investigating hard data – Questionnaires – Observe the decision maker’s behavior and environment – Prototyping – Learn the who, what, where, when, how, and why of the current system Copyright © 2020 Pearson Education Ltd. Determining Human Information Requirements Output: – 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 – The analyst should also know the business functions – Have complete information on the people, goals, data and procedure involved Copyright © 2020 Pearson Education Ltd. Analyzing System Needs Activity: – Create data flow diagrams – Complete the data dictionary – Analyze the structured decisions made using structured English, decision tables decision trees. – Prepare and present the system proposal summarizing ▪ discovery about users ▪ usability and usefulness of current system ▪ provides cost/benefit analysis of alternatives ▪ makes recommendations on what (if anything) should be done Output: – Recommendation on what, if anything, should be done Copyright © 2020 Pearson Education Ltd. Designing the Recommended System Activity: – Design procedures to accurately enter data – Design the human–computer interface (HCI) – Design files and/or database – Design backup procedures Output – Model of the actual system Copyright © 2020 Pearson Education Ltd. Developing and Documenting Software Activity: – System analyst works with programmers to develop any original software – Works with users to develop effective documentation – Coders design, code, and remove syntactical errors from computer programs – Document software with procedure manuals, online help, Frequently Asked Questions (FAQ) and Read Me files Output: – Computer programs – System documentation Copyright © 2020 Pearson Education Ltd. Testing and Maintaining the System Activity: – Test the information system – System maintenance – Maintenance documentation Output: – Problems, if any – Updated programs – Documentation Copyright © 2020 Pearson Education Ltd. Implementing and Evaluating the System Activity: – Train users – Plans the conversion from old system to new system – Review and evaluate system Output: – Trained personnel – Installed system Copyright © 2020 Pearson Education Ltd. The Impact of Maintenance Maintenance is performed for two reasons – Remove software errors, and – Enhance existing software Enhance software for three reasons – Include additional features – Address business changes over time – Address hardware and software changes Copyright © 2020 Pearson Education Ltd. Maintenance Impact Estimates of the time spent by departments on maintenance have ranged from 48 percent to 60 percent of the total time spent developing systems. 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 Copyright © 2020 Pearson Education Ltd. Figure 1.2 Resource Consumption Over the System Life Copyright © 2020 Pearson Education Ltd. Case Tools CASE (computer aided software engineering) tools are productivity tools for systems analysts that have been created explicitly to improve their routine work through the use of automated support Reasons for using CASE tools – Improving Analyst–User Communication – Help support modeling functional requirements – Assist in drawing project boundaries Copyright © 2020 Pearson Education Ltd. Case Tools Copyright © 2020 Pearson Education Ltd. The Agile Approach The agile approach is a software development approach based on – Values – Principles – Core practices The four values are – Communication – Simplicity – Feedback – Courage Copyright © 2020 Pearson Education Ltd. Agile Approach Scrum is named after a starting position in the sport of rugby. Scrum’s success has much to do with its extremely quick releases. A typical sprint cycle will last between two and four weeks. At the end of that period, the team is expected to produce a potentially releasable product. Each iteration boasts a new set of features produced during the sprint cycle. Copyright © 2020 Pearson Education Ltd. Agile Approach Activities and behaviors shape the way development team members and customers act during the development of an agile project. Agile approach is – Interactive – Incremental 5 stages of the agile approach: exploration, planning, iterations to the first release, productionizing, and maintenance Frequent iterations are essential for successful system development Copyright © 2020 Pearson Education Ltd. Figure 1.4 The Five Stages of the Agile Modeling Development Process Copyright © 2020 Pearson Education Ltd. Exploration Assemble team Assess skills Examine potential technologies Experiment with writing user stories Adopt a playful and curious attitude toward the work environment, its problems, technologies, and people Copyright © 2020 Pearson Education Ltd. Planning The entire agile planning process has been characterized using the idea of a planning game, as devised by Kent Beck, the father of Extreme Programming. Rules that can help formulate the agile development team’s relationship with their business customers The planning game – goal of the game – strategy to pursue – pieces to move – players involved Copyright © 2020 Pearson Education Ltd. Planning The goal of the game is to maximize the value of the system produced by the agile team. Strategy pursued is to design the simplest solution possible, put the system into production as soon as possible, get feedback from the business customer about what’s working, and adapt their design from there. Story cards become the pieces in the planning game that briefly describe the task, provide notes, and provide an area for task tracking. The two main players in the planning game are the development team and the business customer. Copyright © 2020 Pearson Education Ltd. Iterations to the First Release Iterations are cycles of – Testing – Feedback – Change One goal is to run customer-written function tests at the end of each iteration Copyright © 2020 Pearson Education Ltd. Productionizing In this phase the feedback cycle speeds up Daily briefings The product is released in this phase May be improved by adding other features Copyright © 2020 Pearson Education Ltd. Maintenance New features may be added Riskier customer suggestions may be considered Team members may be rotated on or off the team Copyright © 2020 Pearson Education Ltd. Object-Oriented Systems Analysis and Design Alternate approach to the structured approach of the SDLC that is intended to facilitate the development of systems that must change rapidly in response to dynamic business environments Use unified modeling language (UML) to model object-oriented systems Each object is a computer representation of some actual thing or event Copyright © 2020 Pearson Education Ltd. Figure 1.5 The Steps in the UML Development Process Copyright © 2020 Pearson Education Ltd. Define the Use Case Model Identify the actors and the major events initiated by the actors Draw a use case diagram A diagram with stick figures representing the actors and arrows showing how the actors relate Copyright © 2020 Pearson Education Ltd. Begin Drawing UML Diagrams Draw activity diagrams, which illustrate all the major activities in the use case Create one or more sequence diagrams for each use case that show the sequence of activities and their timing Review the use cases, rethink them, and modify them if necessary Copyright © 2020 Pearson Education Ltd. Analysis Phase Develop class diagrams Draw statechart diagrams Copyright © 2020 Pearson Education Ltd. System Design Modifying the existing system Modifying the diagrams drawn in the previous phase Write class specifications for each class Develop method specifications that detail the input and output requirements for each method, along with a detailed description of the internal processing of the method. Copyright © 2020 Pearson Education Ltd. Develop and Document the System Documentation is critical. The more complete the information you provide to the development team through documentation and UML diagrams, the faster the development and the more solid the final production system Object-oriented methodologies often focus on small, quick iterations of development, sometimes called the spiral model. UML is a powerful modeling tool that can greatly improve the quality of your systems analysis and design and the final product. Copyright © 2020 Pearson Education Ltd. How to Decide Which Development Method to Use In all three approaches, – understand the organization – budget time and resources and develop a project proposal – gather detailed data (interviews, questionnaires) – observe how business is currently transacted Even the methods have similarities – SDLC and OOAs both require extensive planning and diagramming – Agile approach and the OOA both allow subsystems to be built one at a time until the entire system is complete – Agile and SDLC approaches are both concerned with the way data logically moves through the system Copyright © 2020 Pearson Education Ltd. Figure 1.6 How to Decide Which Development Method to Use Choose When The Systems systems have been developed and documented using SDLC Development Life it is important to document each step of the way Cycle (SDLC) Approach 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 Agile Methodologies 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 Object-Oriented the problems modeled lend themselves to classes Methodologies 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 Copyright © 2020 Pearson Education Ltd. Open Source Software An alternative to traditional software development Many users and coders can study, share, and modify the code (e.g., Apache, Firefox, Linux, etc.) Development of OSS also has been characterized as a philosophy rather than simply as the process of creating new software Copyright © 2020 Pearson Education Ltd. Open Source Software Categorized open source communities into four types – Ad hoc – Standardized – Organized – Commercial Six different dimensions – General structure – Environment – Goals – Methods – User community – Licensing Copyright © 2020 Pearson Education Ltd. Why Organizations Participate in Open Source Communities? Rapidity with which new software can be developed and tested Benefit of having many good minds working on innovative applications Keeping down development costs Bolster their own self-image (“good guys” to the public) Copyright © 2020 Pearson Education Ltd. The Role of the Analyst in Open Source Software Your company may ask you to participate in an open source community for – curiosity about what the software benefits to the organization might be – Bandwagon effect – Responsive design – Possible new product Copyright © 2020 Pearson Education Ltd. Summary Systematic approach to identifying problems Systems analysts are required to take on many roles Analysts possess a wide range of skills The systems Development Life Cycle Agile approach Object-oriented analysis and design Copyright © 2020 Pearson Education Ltd.