The key to success in business is the ability to gather, organize, and interpret information. Systems analysis and design is a proven methodology that helps both large and small businesses reap the rewards of utilizing information to its full capacity. As a systems analyst, the person in the organization most involved with systems analysis and design, you will enjoy a rich career path that will enhance both your computer and interpersonal skills.
Systems Analysis and Design (SAD) is an exciting, active field in which analysts continually learn new techniques and approaches to develop systems more effectively and efficiently. However, there is a core set of skills that all analysts need to know no matter what approach or methodology is used. All information systems projects move through the four phases of planning, analysis, design, and implementation; all projects require analysts to gather requirements, model the business needs, and create blueprints for how the system should be built; and all projects require an understanding of organizational behavior concepts like change management and team building.
The major goal of systems analysis and design is to improve organizational systems. Often this process involves developing or acquiring application software and training employees to use it. Application software, also called a system, is designed to support a specific organizational function or process, such as inventory management, payroll, or market analysis. The goal of application software is to turn data into information. For example, software developed for the inventory department at a bookstore may keep track of the number of books in stock of the latest best seller. Software for the payroll department may keep track of the changing pay rates of employees. A variety of off-the-shelf application software can be purchased, including WordPerfect, Excel, and PowerPoint. However, off-the-shelf software may not fit the needs of a particular organization, and so the organization must develop its own product.
Information systems analysis and design is a method used by companies ranging from IBM to PepsiCo to Sony to create and maintain information systems that perform basic business functions such as keeping track of customer names and addresses, processing orders, and paying employees. The main goal of systems analysis and design is to improve organizational systems, typically through applying software that can help employees accomplish key business tasks more easily and efficiently. As a systems analyst, you will be at the center of developing this software. The analysis and design of information systems are based on:
- Your understanding of the organization’s objectives, structure, and processes
- Your knowledge of how to exploit information technology for advantage
This tutorial captures the dynamic aspects of the field by keeping students focused on doing systems analysis and design (SAD) while presenting the core set of skills that we feel every systems analyst needs to know today and in the future. This tutorial builds on our professional experience as systems analysts and on our experience in teaching systems analysis and design in the classroom.
This tutorial will be of particular interest to instructors who have students do a major project as part of their course. Each chapter describes one part of the process, provides clear explanations on how to do it, gives a detailed example, and then has exercises for the students to practice. In this way, students can leave the course with experience that will form a rich foundation for further work as a systems analyst.
Systems analysis and design is typically taught in one or two semesters. Our tutorial may be used in either situation. The text is appropriate for undergraduate (junior or senior) curricula at a four-year university, graduate school, or community college. The level and length of the course can be varied and supplemented by using real-world projects, HyperCase, or other materials available on the Instructor Resource Center.
Chapters 1–3 stresses the basics that students need to know about what an analyst does and introduces the three main methodologies of the systems development life cycle (SDLC), agile approaches, and object-oriented analysis with UML, along with reasons and situations for when to use them. These sections show how a variety of emerging information systems, including mobile and wireless technologies, and enterprise systems integrate IT and fit into organizations; how to determine whether a systems project is worthy of commitment; e-commerce project management; and how to manage a systems project using special software tools. The three roles of the systems analyst as consultant, supporting expert, and agent of change are introduced, and ethical issues and professional guidelines for serving as a systems consultant are covered. There is also material on virtual teams and virtual organizations, and the concept of HCI is introduced. The use of open source software (OSS) is also introduced.
Chapter 2 includes how to initially approach an organization by drawing context-level data flow diagrams, using entity-relationship models, and developing use cases and use case scenarios. Chapter 3 introduces expanded material on creating the project charter and introduces writing the systems proposal early in the process, no matter what method of analysis and design has been chosen. Expanded coverage of evaluating software and hardware, and when to use COTS (commercial off-the-shelf software), is included. This chapter teaches several methods for forecasting costs and benefits, which are necessary to the discussion of acquiring software and hardware.
Chapter 3 helps students evaluate software by assessing trade-offs among creating custom software, purchasing commercial-off-the-shelf (COTS) software, or outsourcing to an application service provider (ASP). Creating a problem definition and determining feasibility are also covered. Chapter 3 guides students in professionally writing and presenting an effective systems proposal, one that incorporates figures and graphs to communicate with users.
Chapters 4–6 emphasizes the use of systematic and structured methodologies for performing information requirements analysis. Attention to analysis helps analysts ensure that they are addressing the correct problem before designing the system. Chapter 4 introduces a group of interactive methods, including interviewing, joint application design (JAD), and constructing questionnaires. Chapter 5 introduces a group of unobtrusive methods for ascertaining information requirements of users. These methods include sampling, investigating hard and archival data, and observation of decision makers’ behavior and their physical environment. Chapter 6 on agile modeling and prototyping is innovative in its treatment of prototyping as another data-gathering technique that enables the analyst to solve the right problem by getting users involved from the start. Agile approaches have their roots in prototyping, so this chapter begins with prototyping to provide a proper context for understanding, and then takes up the agile approach. The values and principles, activities, resources, practices, processes, and tools associated with agile methodologies are presented. This chapter also includes material on rapid application development (RAD) for human information-requirements gathering and interface design.
Chapters 7–10 details the analysis process. It builds on the previous two parts to move students into analysis of data flows as well as structured and semi-structured decisions. It provides step-by-step details on how to use structured techniques to draw data flow diagrams (DFDs). Chapter 7 provides coverage of how to create child diagrams; how to develop both logical and physical data flow diagrams; and how to partition data flow diagrams. Chapter 8 features material on the data repository and vertical balancing of data flow diagrams.
Chapter 8 also includes extensive coverage of extensible markup language (XML) and demonstrates how to use data dictionaries to create XML. Chapter 9 includes material on developing process specifications. A discussion of both logical and physical process specifications shows how to use process specifications for horizontal balancing.
Chapter 9 also covers how to diagram structured decisions with the use of structured English, decision tables, and decision trees. In addition, the chapter covers how to choose an appropriate decision analysis method for analyzing structured decisions and creating process specifications. Push technologies are also introduced.
This part concludes with Chapter 10 on object-oriented systems analysis and design. This chapter includes an in-depth section on using unified modeling language (UML). There is detailed coverage of the use case model, creating the class model diagram with UML, sequence diagrams, creating gen/spec diagrams, use case scenarios, and activity diagrams. Through several examples and Consulting Opportunities, this chapter demonstrates how to use an object-oriented approach.
Consulting Opportunities, diagrams, and problems enable students to learn and use UML to model systems from an object-oriented perspective. Students learn the appropriate situations for using an object-oriented approach. This chapter helps students to decide whether to use the SDLC, the agile approach, or object-oriented systems analysis and design to develop a system.
Chapters 11–14 covers the essentials of design. It begins with designing output, because many practitioners believe systems to be output driven. The design of Web-based forms is covered in detail. Particular attention is paid to relating output method to content, the effect of output on users, and designing good forms and screens. Chapter 11 compares advantages and disadvantages of output, including Web displays, audio, DVD, and electronic output such as email and RSS feeds. Designing a Web site for e-commerce purposes is emphasized, and output production and XML is covered.
Chapter 12 includes innovative material on designing Web-based input forms, as well as other electronic forms design. Also included is computer-assisted forms design. Chapter 12 features in-depth coverage of Web site design, including guidelines on when designers should add video, audio, and animation to Web site designs. The chapter also covers uses of Web push and pull technologies for output designs. There is detailed consideration of how to create effective graphics for corporate Web sites and ways to design effective onscreen navigation for Web site users. Coverage of intranet and extranet page design is also included. Consideration of database integrity constraints has been included as well, in addition to how the user interacts with the computer and how to design an appropriate interface. The importance of user feedback is also found in these topics. How to design accurate data entry procedures that take full advantage of computer and human capabilities to assure entry of quality data is emphasized here.
Chapter 13 demonstrates how to use the entity-relationship diagram to determine record keys, as well as providing guidelines for file/database relation design. Students are shown the relevance of database design for the overall usefulness of the system, and how users actually use databases.
Chapter 14 emphasizes Human–Computer Interaction (HCI), especially as it relates to interface design. It introduces HCI, discussing its importance in designing systems that suit individuals and assisting them in achieving personal and organizational goals through their use of information technology. The concepts of usability, fit, perceived usefulness, and perceived ease of use are introduced, as is the Technology Acceptance Model (TAM), so that systems students can knowledgeably incorporate HCI practices into their designs. Chapter 14 also features material on designing easy onscreen navigation for Web site visitors. The chapter presents innovative approaches to searching on the Web, highlights material on GUI design, and provides innovative approaches to designing dialogs. Chapter 14 articulates specialized design considerations for ecommerce Web sites. Mashups, new applications created by combining two or more Web-based application programming interfaces, are also introduced. Chapter 14 also includes extensive coverage on how to formulate queries, all within the framework of HCI.
Chapters 15 and 16 concludes the tutorial. Chapter 15 focuses on designing accurate data entry procedures and includes material on managing the supply chain through the effective design of business-to-business (B2B) ecommerce. Chapter 16 emphasizes taking a total quality approach to improving software design and maintenance. In addition, material on system security and firewalls is included. Testing, auditing, and maintenance of systems are discussed in the context of total quality management. This chapter helps students understand how service-oriented architecture (SOA) and cloud computing are changing the nature of information systems design. In addition, students learn how to design appropriate training programs for users of the new system, how to recognize the differences among physical conversion strategies, and how to be able to recommend an appropriate one to a client. Chapter 16 also presents techniques for modeling networks, which can be done with popular tools such as Microsoft Visio.
Material on security and privacy in relation to designing ecommerce applications is included. Coverage of security, specifically firewalls, gateways, public key infrastructure (PKI), secure electronic translation (SET), secure socket layering (SSL), virus protection software, URL filtering products, email filtering products, and virtual private networks (VPN), is included. Additionally, current topics of interest to designers of ecommerce applications, including the development and posting of corporate privacy policies, are covered.
Important coverage of how the analyst can promote and then monitor a corporate Web site is included in this section, which features Web activity monitoring, Web site promotion, Web traffic analysis, and audience profiling to ensure the effectiveness of new ecommerce systems. Techniques for evaluating the completed information systems project are covered systematically as well.
- Systems, Roles, and Development Methodologies
- Understanding and Modeling Organizational Systems
- Project Management
- Information Gathering: Interactive Methods
- Information Gathering: Unobtrusive Methods
- Agile Modeling and Prototyping
- Using Data Flow Diagrams
- Analyzing Systems using Data Dictionaries
- Process Specifications and Structured Decisions
- Object-Oriented Systems Analysis and Design Using UML
- Designing Effective Output