Solution Manual For
Modern Systems Analysis and Design, 9th edition Joseph Valacich, Joey George, Jeffrey
Hoffer
Chapter 1-14
Chapter 1
The Systems Development Environment
Chapter Overview
Chapter 1 is an overview of the systems development process, as well as an overview of the textbook.
This chapter introduces students to the modern approach to systems analysis and design using various
methodologies. Students are introduced to several systems development components, including the
process and data-oriented approaches to systems development, different types of information systems,
and the systems development life cycle.
This textbook is intended primarily for juniors taking a core course in the information systems major,
although the book can be adapted for a similar course at the junior college level or for a two-course
sequence on analysis and design. Often students are not familiar with the systems development
process, different organizational components, or how these components work together. This chapter
provides the general organizational context in which systems development takes place.
The text uses the Systems Development Life Cycle (S D L C) methodology (including its associated
problems with the traditional waterfall approach) to introduce students to the structured approach in
creating new systems. The student is also introduced to other methodologies such as the Agile
Methodologies, eXtreme Programming, Object-Oriented Analysis and Design (O O A D), and the
Rational Unified Process (R U P). The text compares and contrasts the new with more traditional
methods in an effort to show both the advantages and limitations of these methods.
Chapter 1 introduces students to visual and emerging development tools. C A S E tools are used to
apply an engineering approach to systems development and can support each phase of the SDLC.
Instructional Objectives
Specific student learning objectives are included at the beginning of the chapter.
From an instructor’s point of view, the objectives of this chapter are to:
1. Define and discuss the modern approach to systems analysis and design from an
organizational perspective incorporating techniques, tools, and methodologies.
2. Explain how an organization‘s objectives, structure, and processes are essential in the
development of systems to meet their needs.
3. Explain that the S DL C process is not sequential but cyclical and that the order is adaptable as
required for different projects; also, to emphasize that often analysts and designers may go
backwards to the previous step to complete unfinished products or to correct errors or
omissions discovered in the next phase.
4. Explain the difference between the logical design and the physical design as it relates to
systems development.
5. Discuss the problems with the waterfall S D L C and explain the different approaches analysts,
designers and developers have developed to improve the Systems Analysis and Design
process.
6
, 6. Discuss Agile methodologies and eXtreme programming and how these compare to the
traditional Systems Development Life Cycle (SDLC).
7. Explain and discuss object-oriented analysis and design (O O A D) and the Rational Unified
Process (RUP).
8. Show students that the life cycle is a flexible basis for systems analysis and design and that it
can support many different tools and techniques, such as Agile methodologies and eXtreme
Programming.
9. Compare and contrast the various development approaches introduced in Chapter 1 and
depict how they all use an iterative approach.
10. Finally explain that the boundaries and divisions of the 5 steps in Figure 1-2 when imposed to
explain the steps are neither hard nor fast and that in many real-world situations phases or
sub-phases may be combined to improve efficiency and understanding. The cycle is an
organizing and guiding principle; however, in companies and software development teams
will adapt it to suit their needs for specific projects.
Classroom Ideas
1. Figure 1-1 depicts that methodologies, techniques, and tools drive organizational approaches to
systems analysis and design. Ask students to identify the names of methodologies, techniques,
and tools. List them on the board under the heading that they suggest; then after they have
identified 5 or 6 in each heading, review and emphasize the differences among the three and
move any from an incorrect category to the correct one and explain why it is one and not the
other.
2. When introducing the systems development life cycle model featured in the textbook, discuss
other life cycle models using actual ones from existing organizations. Show that the basic model
presented (Planning, Analysis, Design, Implementation, and Maintenance) are broken down into
smaller phases by many companies but that in the end they could be categorized into one of the
basic five explained. This reinforces to students that no one standard life cycle model exists and
the model they will use as a systems analyst will likely differ from the textbook‘s life cycle
model. The point is that the life cycle represents activities that must be done; and the phases are a
way to introduce, in an organized way, the methods, techniques, tools, and skills necessary for
successful systems analysis and design.
3. Provide a brief overview of the activities and outputs from each of the five life cycle phases,
based on your own experience or from reading the rest of the textbook. Table 1-1 summarizes the
products, outputs or deliverables of each phase based on the in-text descriptions.
4. Figure 1-9 illustrates the R U P life cycle. Discuss R U P, and its benefits and drawbacks as it
relates to O O A D. Discuss the differences between R U P and the traditional S D L C. Table 1-2
presents the Agile Manifesto.
5. Ask students to compare Agile methodologies to traditional S D L C (see Table 1-3 Five Critical
Factors that Distinguish Agile and Traditional Approaches to Systems Development). Introduce a
case study project where Agile methodologies were employed. Ask students to identify problems
that the project ran into using Agile methodologies as well as any benefits gained by this
approach.
6. This chapter introduces eXtreme programming. If your students have sufficient background,
assign students to programming pairs and have them work on a small programming problem,
including testing. Ask students to report upon their experience.
7. Discuss IBM‘s Rational Unified Process (RUP) shown in Figure 1-9. This Web site
https://www.ibm.com/search?q=rup&lnk=mhsrch&v=18&en=utf&lang=en&cc=us should help
with background information.
2
,Answers to Key Terms
Suggested answers are provided below. These answers are presented top-down, left to right
1.5. Information systems analysis and design
1.2. Application software
1.15. Systems analyst
1.17. Systems development methodology
1.16. Systems development life cycle
1.13. Planning
1.1. Analysis
1.3. Design
1.7. Logical design
1.12. Physical design
1.4. Implementation
1.8. Maintenance
1.11. Object-oriented analysis and design (OOAD) (RAD)
1.9. Object
1.6. Inheritance
1.10. Object class
1.14. Rational Unified Process (RUP)
Answers to Review Questions
1.18. Information systems analysis and design is the complex organizational process whereby
computer-based information systems are developed and maintained.
1.19. In the early years of computing, analysis and design were considered an art. However, with the
growing importance and changing nature of information technology and its usage in the work
environment, work methods have evolved, making analysis and design a disciplined process.
The analysis and design of computer-based information systems began in the 1950s with
emphasis placed on automating existing processes. All applications were developed in machine
language or assembly language and developed from scratch. The 1960s saw the first procedural,
or third-generation languages, become available. Computers were still large and expensive, and
storage was at a premium. In the 1970s, systems development became more disciplined as many
people worked to make it more like engineering. In the 1980s, microcomputers became key
organizational tools, the software industry expanded greatly, fourth-generation languages were
used more and more to write applications, and C A S E tools were developed. In the 1990s, the
focus shifted to system integration, and developers were using visual programming
environments to design user interfaces. Databases began residing on servers, as well as the
application logic. Companies began purchasing enterprise-wide systems and more and more
systems development focused on the Internet, particularly the Web. The current focus is on
Web-based systems development and wireless components. Additionally, many system
implementations use a three-tier design. Currently, companies may assemble their systems using
off-the-shelf components or by using application service providers.
3
, 1.20. The five systems development life cycle phases are planning, analysis, design, implementation,
and maintenance. During the planning phase, an organization‘s total information system needs
are identified, analyzed, prioritized, and arranged. During the analysis phase, requirements are
gathered from users. The requirements are then studied and organized with any redundancies
eliminated. The output of this phase is a solution recommended by the analysis team. During the
design phase, the description of the recommended solution is converted into logical and then
physical system specifications. During the implementation phase, the information system is
coded, tested, installed, and supported in the organization. During the maintenance phase, the
system is systematically repaired and improved. Another problem was that roles of system users
or customers was narrowly defined with users relegated to the requirements determination or
analysis phase where it was assumed that all requirements could be specified in advance. In
addition, hard dates were set for the early phases and were judged successful if the dates were
met leaving little time to incorporate important changes. The end result of these problems is that
the focus on deadlines led to systems that did not match users'.
1.21. There have been several problems with the traditional waterfall S D L C identified in the
literature. One is that the ―downhill‖ nature of the S D L C process treats each phase as separate
and complete unto itself and feedback is often ignored, resulting in locking users into
requirements that had been previously determined, even though those requirements might have
changed. Another problem is that roles of system users or customers were narrowly defined with
users relegated to the requirements determination or analysis phase where it was assumed that
all requirements could be specified in advance. In addition, hard dates were set for the early
phases and were judged successful if the dates were met leaving little time to incorporate
important changes. The end result of these problems is that the focus on deadlines led to systems
that did not match users' needs and that required increasing development costs.
1.22. Agile methodologies promote a self-adaptive software development process. While other
methodologies focus on roles that individuals play in a project team, Agile methodologies focus
more on the individual. As software is developed, the process used to develop it is refined and
improved through a review process done by the development team through iteration.
1.23. eXtreme programming is an approach to software development distinguished by short
development cycles, an incremental planning approach, a focus on automated tests written by
programmers and customers to monitor the development process, and reliance on an
evolutionary approach to development that lasts throughout the lifetime of the system. This
methodology uses an evolutionary approach to software development. Coding and testing are
part of the same process and are done by a two-person programming team. Code is tested shortly
after it is written and integrated into the system within a few hours of being written. All phases
of the life cycle converge into a series of activities based on coding, testing, listening, and
designing.
1.24. Scrum originated in 1995 and is a popular methodology for agile development. Scrum was
designed for speed development and multiple functional product releases. The primary unit is
the Sprint, which will run for 2-4 weeks. Each Sprint is a complete project, which starts with an
eight-hour planning meeting focusing on two questions, namely 1) what will need to be
delivered by the end of the Sprint, and 2) how will the team accomplish that work? A Daily
Standup 15-minute meeting during the Sprint to evaluate progress made within the previous 24
hours. When the Sprint is completed it is followed by two additional meetings. The first one, the
Sprint Review will last 4 hours, while the second one, the Sprint Retrospective, lasts three hours.
The three primary artifacts in the Sprint process are: 1) the Product Backlog (an ordered list of
everything included in the product), 2) the Sprint Backlog (a subset of the Product Backlog that
lists only those items that are to be addressed in a particular Sprint), and 3) the Increment (which
is the sum of the Product Backlog items completed during a sprint).
1.25. A study of Agile in practice has revealed three primary success factors. The first is a delivery
strategy resulting in the continuous delivery of working software in short time scales. The
4