You are on page 1of 23

Planning Phase of System Development Life Cycle ▪ Project manager

CHAPTER 1 PLANNING PHASE Systems Analyst

TOPIC 1: THE SYSTEMS ANALYST AND INFORMATION ➢ focuses on the IS issues surrounding the system
SYSTEMS DEVELOPMENT
➢ develops ideas and suggestions for ways IT can improve
The Systems Analyst business process, helps design new business processes,
▪ the systems analyst is a key person analyzing the business, helps design new business process, designs the new
identifying opportunities for improvement, and designing information system, and ensures that all IS standards are
information systems to implement these ideas. maintained.

▪ the systems analyst assists and guides the project team, so Business Analyst
the team develops the right system in an effective way. ➢ focuses on the business issues surrounding the system ➢
▪ Systems analysts must understand how to apply identifies the business value that the system will create ➢
technology in order to solve problems. develops ideas for improving the business processes

▪ Systems analysts may also serve as change agents who ➢ helps design new business processes and policies
identify the organization improvements needed, design
Infrastructure Analyst
systems to implement those changes, and train/motivate
others to use the systems. ➢ focuses on technical issues surrounding the ways the
*The systems analyst plays a key role in information systems system will interact with the organization’s technical
infrastructure
development projects.

What are the skills that a Systems Analyst must possess? ➢ Ensures that the new information system conforms to
organization standards
1. Introduces change to the organization and people
➢ Identifies infrastructure changes
2. Leads a successful organization change effort
Change management Analyst
3. Understands what to change and knows how to change it
4. Must have technical skills, as well as, business skills ➢ focuses on the people and management issues
surrounding the system installation
5. Communicate effectively and give presentations
➢ ensures that adequate documentation and support are
6. Must be able to deal fairly, honestly, and ethically with
available to users
other project members, managers, and systems users.
➢ Provides user training
Systems Analyst Roles

As organizations and technology have become more ➢ Develops strategies to overcome resistance to change
complex, most large organizations now build project teams Project Manager
that incorporate several analysts with different, but
complementary, roles. In smaller organizations, one person ➢ highly experienced systems analyst
may play several of these roles. Here we briefly describe
➢ ensures that the project is completed on time and within
these roles and how they contribute to a systems
budget
development project.

Project Team Specialization ➢ makes sure the system delivers the expected vale to the
organization
▪ Systems Analyst
The roles and the names used to describe them may vary
▪ Business Analyst from organization to organization. In addition, there is no
single typical career path through these professional roles.
▪ Infrastructure Analyst
Some people may enter the field as a more technically-
▪ Change management Analyst oriented programmer/analyst. Others may enter as a
business oriented functional specialist with an interest in 1. During project initiation, the system’s business value to
applying IT to solve business problems. the organization is identified (How will it lower costs or
increase revenues?)

2. During project management, the project manager creates


a work plan, staffs the project, and puts techniques in place
to help the project team control and direct the project
through the entire SDLC.

Phase 2: Analysis

▪ the analysis phase answers the questions of who will use


the system, what the system will do, and where and when it
Career paths system developers will be used.

The Systems Development Life Cycle (SDLC) ▪ during this phase the project team investigates any current
system(s), identifies improvement opportunities, and
All system development projects follow essentially the same develops a concept for the new system.
fundamental process called the system development life
cycle (SDLC). ▪ This phase has three analysis steps:

The SDLC is composed of four fundamental phases: 1. Analysis strategy: This is developed to guide the projects
team’s efforts. This includes an analysis of the current
➢ Planning - Why build the system? system.
➢ Analysis - Who, what, when, where will the system be? ➢ 2. Requirements gathering: The analysis of this information
Design - How will the system work? leads to the development of a concept for a new system. This
concept is used to build a set of analysis models.
➢ Implementation - System delivery
3. System proposal: The proposal is presented to the project
sponsor and other key individuals who decide whether the
project should continue to move forward.

▪ the system proposal is the initial deliverable that describes


what business requirements the new system should meet.
Each of the phases include a set of steps, which rely on
techniques that produce specific document files that provide ▪ the deliverable from this phase is both an analysis and a
understanding about the project. high-level initial design for the new system.

Processes and Deliverables Phase 3: Design

Process Product ▪ In this phase, it is decided how the system will operate, in
Planning Project plan terms of the hardware, software, and network
Analysis System proposal infrastructure; the user interface, forms, and reports that
Design System Specification will be used; and the specific programs, databases, and files
implementation New System and that will be needed.
Maintenance Plan
▪ Five Design steps:

Phase 1: Planning 1. Design Strategy: This clarifies whether the system will be
developed by the company or outside the company.
▪ This phase is the fundamental process of understanding
why an information system should be built. 2. Architecture Design: This describes the hardware,
software, and network infrastructure that will be used.
▪ The Planning phase will also determine how the project
team will go about building the information system. 3. Database and File Specifications: These documents define
what and where the data will be stored.
▪ The Planning phase is composed of two planning steps.
4. Program Design: Defines what programs need to be feasibility, economic feasibility, and organizational
written and what they will do. feasibility. The results of evaluating these three feasibility
factors are combined into a feasibility study deliverable that
Phase 4: Implementation
is submitted to the approval committee at the end of project
▪ During this phase, the system is either developed or initiation.
purchased (in the case of packaged software).
TOPIC 2: PROJECT SELECTION AND MANAGEMENT
▪ This phase is usually the longest and most expensive part
CIOs (Chief Information Officers) are challenged to select
of the process.
projects that will provide highest return on the IT
▪ The phase has three steps: investments. Project portfolio management has become a
critical success factor for IT departments. A selected system
1. System Construction: The system is built and tested to development project must undergo a thorough process of
make sure it performs as designed. project management. A critical success factor for project
2. Installation: Prepare to support the installed system. management is to start with a realistic assessment of the
work and then manage the project according to the plan.
3. Support Plan: Includes a post-implementation review. Finally, the project manager monitors the project and refines
Project Identification and Initiation estimates as work proceeds.

Projects are identified when someone recognizes a business Project Selection


need that can be satisfied through the use of information Many IT organizations tackle several important initiatives
technology. Project initiation is the point at which an simultaneously. For example, new software applications
organization creates and assesses the original goals and may be under development; new business models may be
expectations for a new system. The first step in the process under consideration; organizational structures may be
is to identify the business value for the system by developing revised; new technical infrastructures may be evaluated.
a system request that provides basic information about the
proposed system. Next, the analysts perform a feasibility Systems projects today are evaluated in the context of an
analysis to determine the technical, economic, and entire portfolio of projects. Determination of a project’s
organizational feasibility of the system. contribution to an entire portfolio of a project reinforces the
need for a feasibility study. Portfolio management takes into
System Request consideration the different of projects that exist in an
The business value for an information system is identified organization. An approval committee (steering committee)
and then described in a system request. This form contains must be selective about where to allocate resources as most
the project’s sponsor, business need, business organizations have limited funds. If there are several
requirements, and business value of the information system, potentially high-payoff projects, and they all have the same
along with any other issues or constraints that are important risk, then maybe only one of the projects will be selected.
to the project. The document is submitted to an approval Ways to Classify Projects
committee who determines whether the project would be a
wise investment of the organization’s time and resources. Size What is the size? How many people are
needed to work on the project?
Feasibility Analysis Cost How much will the project cost the
organization?
Once the need for the system and its business requirements
Purpose What is the purpose of the project? Is it
have been defined, the approval committee may authorize
meant to improve the technical
the systems analyst to prepare a more detailed business infrastructure? support a current business
case to better understand the proposed information system strategy? improve operations? demonstrate
project. Feasibility analysis guides the organization in an innovation?
determining whether to proceed with the project. Feasibility Length How long will the project take before
analysis also identifies the important risks associated with completion? How much time will go by before
the project that must be managed if the project is approved. value is delivered to the business?
As with the system request, each organization has its own Risk How likely is it that the project will succeed or
process and format for the feasibility analysis, but most fail?
include techniques to assess three areas: technical
Scope How much of the organization is affected by
the system? a department? a division? the
entire corporation?
Economic How much money does the organization
Value expect to receive in return for the amount the
project costs?

Creating the Project Plan


Parallel Development.
Once the project is launched by being selected by the
This methodology evolved to address the lengthy time
approval committee, it is time to carefully plan the project.
frame of waterfall development. Instead of doing the design
The project manager will follow a set of project management
and implementation in sequence, a general design for the
guidelines, sometimes referred to as the project
whole system is performed. Then the project is divided into
management life cycle, as he or she organizes, guides, and
a series of subprojects that can be designed and
directs the project from inception to completion. Generally
implemented in parallel. Once all subprojects are complete,
speaking, the project management phases consist of
there is a final integration of the separate pieces, and the
initiation, planning, execution, control, and closure.
system is delivered. Parallel development reduces the time
Project Methodology Options required to deliver a system, so changes in the business
environment are less likely to produce the need for rework.
As we discussed in Chapter 1, the Systems Development Life
Cycle (SDLC) provides the foundation for the processes used
to develop an information system. A methodology is a
formalized approach to implementing the SDLC (i.e., it is a
list of steps and deliverables). There are many different
systems development methodologies, and they vary in
terms of the progression that is followed through the phases
of the SDLC. Some methodologies are formal standards used
by government agencies, while others have been developed
by consulting firms to sell to clients. V-model.

• Waterfall Development Another variation of waterfall development that pays more


explicit attention to testing. The development process
• Parallel Development proceeds down the left-hand slope of the V, defining
• V-model (variation of the Waterfall Development) requirements and designing system components. At the
base of the V, the code is written. On the upward-sloping
• Rapid Application Development (RAD) - Iterative right side of the model, testing of components, integration
Development - System prototyping testing, and, finally, acceptance testing is performed. A key
concept of this model is that as requirements are specified
• Agile Development
and components designed, testing for those elements is also
Waterfall Development. defined. In this manner, each level of testing is clearly linked
to a part of the analysis or design phase, helping to ensure
Analysts and users proceed sequentially from one phase to
high quality and relevant testing and maximize test
the next. The key deliverables for each phase are typically
effectiveness.
voluminous (often, hundreds of pages) and are presented to
the approval committee and project sponsor for approval as
the project moves from phase to phase. Once the work
produced in one phase is approved, the phase ends and the
next phase begins. As the project progresses from phase to
phase, it moves forward in the same manner as a waterfall.
While it is possible to go backward through the phases (e.g.,
from design back to analysis), it is quite difficult. (Imagine
yourself as a salmon trying to swim upstream in a waterfall)
Rapid Application Development (RAD).

It is a collection of methodologies that emerged in response


to the weaknesses of waterfall development and its
variations. RAD incorporates special techniques and
computer tools to speed up the analysis, design, and
implementation phases in order to get some portion of the
system developed quickly and into the hands of the users for
evaluation and feedback. CASE (computer-aided software
engineering) tools, JAD (joint application development) Throwaway prototyping.
sessions, fourth generation/visual programming languages
It includes the development of prototypes but uses the
(e.g., Visual Basic.NET), and code generators may all play a
prototypes primarily to explore design alternatives rather
role in RAD. While RAD can improve the speed and quality of
than as the actual new system (as in system prototyping).
systems development, it may also introduce a problem in
Throwaway prototyping has a thorough analysis phase that
managing user expectations. As systems are developed
is used to gather requirements and to develop ideas for the
more quickly and users gain a better understanding of
system concept. Many of the features suggested by the
information technology, user expectations may dramatically
users may not be well understood, however, and there may
increase and system requirements may expand during the
be challenging technical issues to be solved. Each of these
project (sometimes known as scope creep or feature creep).
issues is examined by analyzing, designing, and building a
Iterative development design prototype. A design prototype is not intended to be a
working system. It contains only enough detail to enable
Breaks the overall project into a series of versions that are
users to understand the issues under consideration.
developed sequentially. The most important and
fundamental requirements are bundled into the first version
of the system. This version is developed quickly by a mini-
waterfall process, and once implemented, the users can
provide valuable feedback to be incorporated into the next
version of the system.

System prototyping

Performs the analysis, design, and implementation phases


concurrently in order to quickly develop a simplified version
of the proposed system and give it to the users for Agile Development.
evaluation and feedback. The system prototype is a “quick
and dirty” version of the system and provides minimal It is a group of programming-centric methodologies that
features. Following reaction and comments from the users, focus on streamlining the SDLC. Much of the modeling and
the developers reanalyze, redesign, and implement a second documentation overhead is eliminated; instead, face-to-face
prototype that corrects deficiencies and adds more features. communication is preferred. A project emphasizes simple,
This cycle continues until the analysts, users, and sponsor iterative application development in which every iteration is
agree that the prototype provides enough functionality to be a complete software project, including planning,
installed and used in the organization. System prototyping requirements analysis, design, coding, testing, and
very quickly provides a system for users to evaluate and documentation. Extreme programming emphasizes
reassures users that progress is being made. customer satisfaction and teamwork.
Selecting the Appropriate Development Methodology more planning; so using the amount of time spent in the
planning phase is a reasonable way to estimate overall
As the previous section shows, there are many
project time requirements. A more precise approach to
methodologies. The first challenge faced by project
estimation is called the function point approach. This
managers is to select which methodology to use. Choosing a
approach is a more complex—and, it is hoped, more
methodology is not simple, because no one methodology is
reliable—way of estimating time and effort for a project.
always best. Many organizations have standards and policies
to guide the choice of methodology. You will find that
organizations range from having one “approved”
methodology to having several methodology options to
having no formal policies at all.

Developing the Work Plan

▪ Identify Tasks. Remember that the overall objectives for


the system were recorded on the system request, and the
project manager’s job is to identify all the tasks that will be
needed to accomplish those objectives. This is a daunting
task, certainly. The methodology that was selected by the
project manager should be a valuable resource, however.
Important factors to consider in selecting the development The methodology that seems most appropriate for the
methodology: project provides a list of steps and deliverables.
• Clarity of User Requirements ▪ the Project Work Plan. The project work plan is the
• Familiarity with Technology mechanism used to manage the tasks that are listed in the
work breakdown structure. It is the project manager’s
• System Complexity primary tool for managing the project. Using it, the project
• System Reliability manager can tell whether the project is ahead of or behind
schedule, how well the project was estimated, and what
• Short Time Schedules changes need to be made to meet the project deadline.
• Schedule Visibility Staffing the Project
Estimating the Project Time Frame Staffing the project includes determining how many people
should be assigned to the project, matching people’s skills
As the previous section illustrated, some development
with the needs of the project, motivating them to meet the
methodologies have evolved in an attempt to accelerate the
project’s objectives, and minimizing project team conflict
project through the SDLC as rapidly as possible while still
that will occur over time.
producing a quality system. Regardless of whether time is a
critical issue on a project or not, the project manager will ▪ the staffing plan describes the kinds of people working on
have to develop a preliminary estimate of the amount of the project.
time the project will take. Estimation16 is the process of
assigning projected values for time and effort. ▪ the project charter describes the project’s objectives and
rules.
There are two basic ways to estimate the time required to
build a system. The simplest method uses the amount of ▪ a functional lead manages a group of analysts.
time spent in the planning phase to predict the time required ▪ a technical lead oversees progress of programmers and
for the entire project. The idea is that a simple project will technical staff members.
require little planning, and a complex project will require
Motivation.
Assigning people to tasks isn’t enough; project managers CASE comes in a wide assortment of flavors in terms of
need to motivate the people to make the project a success. complexity and functionality, and there are many good
Motivation has been found to be the number-one influence programs available in the marketplace, such as the Visible
on people’s performance, 17 but determining how to Analyst Workbench, Oracle Designer, Rational Rose, and the
motivate the team can be quite difficult. Logic Works suite. The benefits of using CASE are numerous.
With CASE tools, tasks are much faster to complete and
▪ Use monetary rewards cautiously
alter; development information is centralized; and
▪ Use intrinsic rewards information is illustrated through diagrams, which typically
are easier to understand. Potentially, CASE can reduce
o Recognition maintenance costs, improve software quality, and enforce
o Achievement discipline; and some project teams even use CASE to assess
the magnitude of changes to the project.
o The work itself
Standards.
o Responsibility
Standards are created to ensure that team members are
o Advancement performing tasks in the same way and following the same
o Chance to learn new skills procedures.

• Formal rules for naming files

• Forms indicating goals reached

• Programming guidelines

Documentation The date and project name should


standards appear as a header on all
documentation. All margins should be
set to 1 inch. All deliverables should be
added to the project binder and
recorded in its table of contents.
Coding All modules of code should include a
standards header that lists the programmer, last
Handling Conflict. date of update, and a short description
of the purpose of the code. Indentation
The third component of staffing is organizing the project to
should be used to indicate loops, if-
minimize conflict among group members.
then-else statements, and case
Conflict Avoidance Strategies: statements. On average, every program
should include one line of comments
for every five lines of code
Procedural Record actual task progress in the work
standards plan every Monday morning by 10 A.M.
Report to project update meeting on
Fridays at 3:30 P.M. All changes to a
requirements document must be
approved by the project manager.
Coordinating Project Activities Specification Name of program to be created
requirement Description of the program’s purpose
CASE (Computer-Aided Software Engineering) tools – A standards Special calculations that need to be
category of software that automate all or part of the computed Business rules that must be
development process. incorporated into the program Due
date
- Upper CASE
User interface Labels will appear in boldface text, left-
- Lower CASE design justified, and followed by a colon. The
standards tab order of the screen will move from
- Integrated CASE
top left to bottom right. Accelerator system support a new strategy that was developed at a
keys will be provided for all updatable recent board meeting.
fields.
Time boxing.

Documentation. This technique sets a fixed deadline for a project and delivers
the system by that deadline no matter what, even if
Another technique that project teams put in place during the functionality needs to be reduced. Time boxing ensures that
planning phase is good documentation, which includes project teams don’t get hung up on the final “finishing
detailed information about the tasks of the SDLC. A simple touches” that can drag out indefinitely, and it satisfies the
way to set up your documentation is to get some binders and business by providing a product within a relatively fast time
use dividers to separate content according to the major frame.
phases of the project. An additional divider should contain
internal communication, such as the minutes from status Managing Risk.
meetings, written standards, letters to and from the One final facet of project management is risk management,
business users, and a dictionary of relevant business terms. the process of assessing and addressing the risks that are
• Project binder associated with developing a project. Many things can cause
risks: weak personnel, scope creep, poor design, and overly
• Table of contents optimistic estimates. The project team must be aware of
potential risks so that problems can be avoided or controlled
• Continual updating
well ahead of time.
Managing and Controlling the Project
• Risk assessment
The science (or art) of project management is in making
• Actions to reduce risk
trade-offs among three important concepts:
• Revised assessment
- The size of the system,

- The time to complete the project, and

- The cost of the project.


Systems Analysis and Design
Refining the Estimates.
ANALYSIS PHASE
The estimates that are produced during the planning phase
will need to be refined as the project progresses. This does
Requirements Determination
not necessarily mean that estimates were poorly done at the
start of the project; it is virtually impossible to develop an Chapter 3 Outline
exact assessment of the project’s schedule before the •The analysis phase.
analysis and design phases are conducted. A project •Requirement determination.
manager should expect to be satisfied with broad ranges of
estimates that become more and more specific as the •Requirement elicitation techniques.
project’s product becomes better defined. •Requirement analysis strategies.
Managing Scope. THE ANALYSIS PHASE
The most common reason for schedule and cost overruns
occurs after the project is underway— scope creep. Scope •Analysis refers to breaking a whole into its parts with the
intent of understanding the parts’ nature, functions, and
creep happens when new requirements are added to the
interrelationships.
project after the original project scope was defined and
•The planning phase deliverables are the key inputs into the
“frozen.” It can happen for many reasons: Users may analysis phase.
suddenly understand the potential of the new system and
realize new functionality that would be useful; developers The basic process of analysis is involves three steps:
may discover interesting capabilities to which they become
very attached; a senior manager may decide to let this •Understand the existing situation (the as-is system)
•Identify improvements
•Define the requirement for the new system (the to-be
system).

❖The final deliverables of the analysis phase is the system


proposal.

❖The system proposal is presented to the approval


committee in the form of a system walk-through to explain
the system in moderate detail.

❖The deliverables from the analysis phase are the first step
in the design of the new system.

The Process of Determining Requirements


REQUIREMENTS DETERMINATION
-Both business and IT perspectives are needed to determine
requirements during the analysis phase.
➢Requirements determination is performed to transform
the system request’s high-level statement of business
-The most effective approach is to have both businesspeople
requirements into a more detailed, precise list of what the
and analysts working together to determine requirements.
new system must do to provide the needed value to the
business
-The analyst must also consider how best to elicit the
requirements from the stakeholders.
What is a Requirement?
-The process of determining requirements continues
•A requirement is a statement of what the system must do
throughout the analysis phase, and the requirements
or what characteristics it needs to have.
definition evolves over time.
•Requirements describe
The requirements definition statement
-what the business needs
(business requirements)
-what the users need to do
(user requirements)

-what the software should do


(functional requirements)

-characteristics the system should have


(non-functional requirements), and

-how the system should be built


(system requirements)

FUNCTIONAL REQUIREMENTS

REQUIREMENTS ELICITATION TECHNIQUES


Requirements Elicitation in Practice
NONFUNCTIONAL REQUIREMENTS
•The analyst should recognize that important side effects of
the process of determining requirements include building
political support for the project and establishing trust •Structured interview
between the project team and the users. • for very specific information

•The analyst should carefully determine who is included in


the process of determining requirements.
Top-down vs. bottom-up interview

Interviews

•The most commonly used requirements elicitation


technique

•Basic steps:
• Selecting Interviewees
• Designing Interview Questions
• Preparing for the Interview
• Conducting the Interview
• Post-Interview Follow-up
Preparing for the interview
•Prepare a general interview plan
SELECTING INTERVIEWEES
•Confirm areas of knowledge
•Interview schedule
•Set priorities in case of time shortage

•Prepare the interviewee


• Schedule
• Inform of reason for interview
• Inform of areas of discussion

Conducting the Interview


•Appear to be professional and unbiased.

•Record all information.


•Including people at different levels of the organization •Be sure you understand the issues that are discussed.
• Managers
• Users •Separate facts from opinions.
• Other key stakeholders
DESIGNING INTERVIEW QUESTIONS •Give interviewee time to ask questions, and brief explain
what will happen next.

Post-interview follow-up

•After the interview, the analysts needs to prepare an


interview report.
•The report includes interview notes.
•The report is sent to interviewee with a request to read it
and inform the analyst of clarification and updates.

•Unstructured interview Joint Application Development (JAD)


• for a broad and roughly defined set of information
•JAD is an information gathering technique that allows the QUESTIONNAIRES
project team, users, and management to work together to
identify requirements for the system. A questionnaire is a set of written questions for obtaining
information from individuals.
•It can reduce scope creep by 50%, Selecting participants -using a sample of people who are
representative of the entire group.
•JAD is a structure process in which 10 to 20 users meet
under the direction of a facilitator skilled in JAD techniques. Designing the questionnaire –following good practice
guidelines.

Selecting participants Administering the questionnaire –improving the response


rates.
•Selecting JAD participants in the same basic way as selecting Questionnaire follow-up –developing a report.
interview participants.
GOOD QUESTIONNAIRE DESIGN
•Facilitator

• Expert in JAD and e-JAD techniques


• In many cases, the JAD facilitator is a consultant
external to the organization.

Designing the JAD session and Preparing for the JAD sessions

•JAD sessions can run from a half day to several weeks


depending upon the size and scope of the project.
DOCUMENT ANALYSIS
•JAD success depends upon a careful plan. • Document analysis is used to understand the as-is
system.
•Most JAD sessions are designed to collect specific • Forms, reports, policy manuals, organization charts
information from users. describe the formal system that the organization
uses.
•It is important to prepare the analyst and participants for
the JAD session. • The “real” or informal system differs from the formal
one, and reveals what needs to be changed.
CONDUCTING THE JAD SESSION
• The indication that system needs to be changed is
•Most JAD sessions follow formal agenda and ground rules. when users create new forms or make changes to
the existing forms/reports.
•The JAD facilitator performs three key functions: •
• Keep session on track, following the agenda. Observation
• Help the group understand the technical terms and ➢Observation–the act of watching processes being
jargon. performed.
• Record group’s input on a public display area.
➢It is a powerful tool to gain insight into the as-is system,
and to check the validity of information gathered from other
▪The facilitator must remain neutral at all time and help the
group through the process. sources.

Post JAD Follow-up ➢Nonetheless, people tend to be extremely careful in their


behaviors when they are being watched.
•Post session report is prepared and circulated among
session attendees Selecting the Appropriate Techniques

•The report should be completed approximately a week to •Type of information


two after the JAD session
•Depth of information
•Breadth of information •Potential solutions:
• Process integration
•Integration of information
• Parallelization
•User involvement
•Cost
Activity-Based Costing
•Combining techniques
•Activity-based costing examines the cost of each major
process or step in a business process.
Comparison of Requirements Elicitation Techniques
•Both direct and indirect costs are considered.

•The analysts identify most costly steps and focus


improvement efforts on them.

Informal Benchmarking
REQUIREMENTS ANALYSIS STRATEGIES
•Benchmarking refers to studying how other organizations
Problem Analysis
perform a business process.
▪Asking users to identify problems and solutions
•Informal benchmarking is common for “customer-facing”
▪Improvements from problem analysis tend to be small and processes.
incremental
•The analysts visit other organizations as customers to watch
▪This type of improvements often is very effective at how the business process is performed.
improving a system’s efficiency or ease of use; however, it
provides minor improvements in business value.
Outcome Analysis

Root Cause Analysis •Outcome analysis focuses on understanding fundamental


outcomes that provide value to customers.

•Think what the organization could enable the customer to


do

Technology Analysis

•Technology analysis involves two steps:


1. The analysts and managers list important and
interesting technologies.

2. Then, the group identifies how each and every


technology might be applied to the business and
how the business would benefit.
Activity Elimination
Duration Analysis
The analysts and managers work together to identify
•Duration analysis requires a detailed examination of
amount of time it takes to perform each process in the as-is •how the organization could eliminate each and every
system. activity in the business process,

•how the function could operate without it, and


•Compare the total time to complete basic steps and the
total time for the overall process –a significant difference •what effects are likely to occur.
indicates that the process is badly fragmented.
COMPARING ANALYSIS STRATEGIES ❖The actor refers to a person, another system, or a
hardware device that interacts with the system to achieve a
•Each of the requirement analysis strategies has its own useful goal.
purpose.
❖The trigger for the use case –the event that causes the use
case to begin.
•No one strategy is inherently better that the others.

•The requirement analysis strategy should be chosen to fit Example


the nature of the project.
This use case is based on the scenario of a lawn care
SUMMARY company that employs specially trained workers to apply
✓Analysis focuses on capturing the business requirements lawn chemicals to customers’ lawns. The company maintains
for the system a chemical supply warehouse where the employees obtain
the needed chemicals for their lawn care assignments. The
✓Requirement Determination is the part of analysis in which
process of obtaining lawn chemicals involves three main
the project team turns the business requirements stated in
steps: authenticating the employee and ensuring he has the
the system request into a precise list of requirements.
required training and credentials; submitting are quest for
✓Five Requirements Elicitation Techniques can be used to the needed chemical; and picking up the chemical from the
elicit business requirements. chemical supply warehouse. The example use case focuses
on the second step of this over all process: requesting a
✓Requirements Analysis Strategies are useful for analysts to
chemical.
help the business users think critically about the new system
requirements.
Preconditions
The pre conditions define the state the system must be in
before the use case commences.
ANALYSIS PHASE
Chapter 4 Normal Course
Use Case Analysis The next part of a use case is the description of the major
steps that are performed to execute the response to the
Chapter 4 Outline event, the inputs used for the steps, and the outputs
-Use Cases produced by the steps.
-Elements of a use case. ***The normal course lists the steps.
-Alternative use case formats.
-Use cases and functional requirements. Alternative Courses
-Use cases and testing. Alternative courses depict branches (alternative paths of
-Building use cases. the steps) in logic that also will lead to a successful
conclusion of the use case.

USE CASES Post conditions


✓Use cases are a means of expressing user requirements. The post conditions section defines the final product of the
use case.
✓Use cases are used extensively in the analysis phase. These post conditions also serve to define the preconditions
for the next use case in the series.
A use case depicts a set of activities that produce some Exceptions
output result.
Each use case describes how an external user triggers an A use case should describe any error conditions or
event to which the system must respond. exceptions that may occur as the use case steps are
performed.
Elements of a Use Case
Basic Information Summary of Inputs and Outputs
❖Each use case has a name and number, and brief
The final section of the use case summarizes the set of major
description.
inputs and outputs of the use case, along with their source
❖The priority may be assigned to indicate the relative or destination.
significance.
Additional Use Case Issues
Additional sections may be included:
-Frequency of use
-Business rules
-Special requirements
-Assumptions
-Notes and issues

Chain Of Use Cases –An Example


Step 2: Identify the major steps for each use case

Step 3: Identify elements within steps

Alternative Use Case Formats


A full-dressed use case is very thorough, detailed, and highly
structured.
The project team may decide that a more casual use case
Step 4. Confirm the use case
format is acceptable.

Use Cases and the Functional Requirements


❑Use cases are very useful tools to us to understand user
requirements. However, use cases only convey the user’s
point of view.
❑Transforming the user’s view into the developer’s view by Revise Functional Requirements Based On Use Cases
creating functional requirements is one of the important
contributions of system analyst. The functional requirements in the requirements definition
❑The derived functional requirements give more may be modified to reflect the more detailed understanding
information to the developer about what the system must and to provide insight to the development team on some
do. “back-end” processing.

SUMMARY
Example •A use case contains all the information needed to build one
part of a process model, expressed in an informal, simple
way.

•When writing a use case,

-identify the triggering event,


-develop a list of the major steps,
-identify the input(s) and output(s) for every step,
-have the users role-play the use case to verify.

Chapter 5 Process Modelling

Use Cases and Testing Outline


Building Use Cases
Step 1: Identify the major use cases
Data flow diagrams.
-Reading data flow diagrams

-Elements of data flow diagrams

-Using data flow diagrams to define business processes

-Process descriptions

Creating data flow diagrams.

✓A process model can be used to further clarify the


requirements definition and use cases.

✓A process model is a graphical way of representing how a


business system should operate.

✓A process model can be used to document the as-is system Elements of Data Flow Diagrams
or the to-be system, whether computerized or not. Process–A process is an activity or a function performed for
some specific business reason.
Data Flow –A data flow is a single piece of data, or a logical
✓Data flow diagrammingis a technique that diagrams the collection of several pieces of information.
business processes and the data that pass among them. Data Store –A data store is a collection of data that is stored
in some way.
External Entity –An external entity is a person, organization,
organization unit, or system that is external to the system,
✓Logical process models describe processes without but interacts with it.
suggesting how they are conducted. Illustration:

✓Physical process models provide information that is


needed to build the system.

DATA FLOW DIAGRAMS (DFDs)


Reading Data Flow Diagrams

Using DFDs to Define Business Processes


Business processes are too complex to be explained in one ➢The Level 0 diagram shows all the processes at the first
DFD. level the numbering, the data stores, external entities, and
One important principle in process modeling with DFDs is data flows among them.
the decomposition of the business process into a series of
➢A key concept: Balancing
DFDs, each representing a lower level of detail.
➢-Ensuring that all information presented in a DFD at one
level is accurately represented in the next-level DFD.
➢A process model has one and only one level 0 DFD.

Level 1 Diagrams

•Each process on the level 0 DFD can be decomposed into a


more explicit DFD called level 1 diagram (or level 1 DFD).

•The set of children and the parent are identical; they are
simply different ways of looking at the same thing.

•It is important to ensure that level 0 and level 1 DFDs are


balanced.

CONTEXT DIAGRAM
•The first DFD in every business process is the context
diagram.

•It shows the entire system in context with its environment.

•The context diagram shows the overall business process as


just one process and shows the data flows to and from
external entities.

Level 0 Diagram
➢The level 0 diagram (or level 0 DFD) shows all the major
high-level processes of the system and how they are
interrelated.
Process Descriptions
❑The purpose of the process descriptions is to explain what
the process does and provide additional information that
the DFD does not provide.

❑Three techniques are commonly used to describe more


complex processing logic:
➢Structured English
➢Decision trees
➢Decision tables

CREATING DATA FLOW DIAGRAMS


DFDs start with the information in the use cases and the
requirements definition.

Generally, the set of DFDs integrates the individual use


cases.

The project team takes the use cases and rewrites them as
DFDs, following the DFD formal rules about symbols and
syntax.

CASE tools are used to draw process models.

CREATING DATA FLOW DIAGRAMS


1. Build the context diagram.
2. Create DFD fragments for each use case.
3. Organize the DFD fragments into level 0 diagram.
4. Develop level 1 DFDs based on the steps with each use
case. In some cases, these level 1 DFDs are further
decomposed into level 2 DFDs, level 3 DFDs, and so on.
Level 2 Diagrams 5. Validate the set of DFDs to make sure that they are
❑The next level of decomposition: a level 2 diagram, or complete and correct.
level 2 DFD.
Creating the Context Diagram
•The context diagram defines how the business process or
computer system interacts with its environment.
❑A level 2 DFD shows all processes, data flows, and data •Draw one process symbol for the business process or
stores that comprise a single process on the level 1 diagram. system being modeled (numbered 0 and named for the
process or system).
•Add all inputs and outputs listed on the form of the use
cases as data flows.
❑It is important to ensure that level 1 and level 2 DFDs are
balanced. •Draw in external entities as the source or destination of the
data flows.
Alternative Data Flows •No data stores are included in the context diagram.
❑A process can produce different data flows under different
circumstance. Example of Context Diagram

❑We show both data flows and use the process description
to explain why they are alternatives.
Creating DFD Fragments
❑A DFD fragment is one part of a DFD that eventually will
be combined with other DFD fragments to form a DFD.

❑Each use case is converted into one DFD fragment using


the information given on the form of the use case: the name,
the ID number, and major inputs and outputs.

❑The information about the major steps that make up each


use case is ignored at this point; it will be used in a later step.

Example of Fragment

•Important changes are often made in converting the use


case into a DFD:
-modifications to the process names
-the addition of data flows.
•Make sure that any information given to the user is
obtained from a data store.

•There are not formal rules covering the layouts; typically


–place the processes in the middle
–inputs start from the left or top
–outputs leave from the right or the bottom
–place data stores below the processes

Creating the Level 0 Diagram


•Combine the set of DFD fragments into one diagram –the
level 0 DFD.
•There are not formal layout rules. Generally,
Additional Example of Fragment
-to put the process that is first chronologically in the upper-
left corner and work the way from top to bottom, left to
right;
-to reduce the number of crossed data flow lines.
•Iteration is the cornerstone of good DFD design.
Validating the DFD
•There two fundamental types of errors in DFDs:

1. Syntax errors –can be thought of as grammatical errors


that violate the rules of the DFD language.
2. Semantics errors –can be thought of as
Creating Level 1 DFD(and Below) misunderstandings by the analyst in collecting, analyzing,
•Level 1 DFD –lower-level DFDs for each process in the level and reporting information about the system.
0 DFD. •Syntax errors are easier to find and fix than are semantics
•Each one of the use cases is turned into its own DFD errors because there are clear rules that can be used to
identify them.
•Each major step in the use case becomes a process on the
level 1 DFD, with the inputs and outputs becoming the input •Most CASE tools have syntax checkers that will detect
and output data flows. syntax errors.

•Level 1 DFDs include the sources and destinations of data Common Syntax Errors
flows for data stores and data flows to processes.
•Including external entities in level 1 and lower DFDs can
simplify the readability of DFDs.

❑There is no simple answer to the “ideal” level of


decomposition, because it depends on the complexity of the
system or business process being modeled.

❑In general, you decompose a process into a lower-level


DFD whenever the process is sufficiently complex that
additional decomposition can help explain the process.

❑Rules of thumb:
-There should be at least 3, and no more than 7-9, processes
on every DFD.
-Decompose until you can provide a detailed description of
the process in no more than 1 page of process descriptions.
Validating the DFD

Checklist of Common Errors in DFDs

SUMMARY
•Data Flow Diagram Syntax –four symbols are used on data
flow diagrams (processes, data flows, data stores, and
external entities).

•Creating Data Flow Diagrams


-The DFDs are created from use cases. ▪Lines drawn between entities represent relationships
-Every set of DFDs starts with a context diagram. among the data.
-DFDs segments are created for each use case and are then
organized into a level 0 DFD.
-Level 1 DFDs are developed on the basis of the steps within ▪Special symbols communicate high-level business rules.
each use case.
-The set of DFDs are validated to make sure that they are Reading an Entity Relationship Diagram
complete and correct and contain no syntax or semantics
errors.

Chapter 6
Data Modeling
Outline Elements of an Entity Relationship Diagram
The Entity Relationship Diagram (ERD).
-Elements of ERD
-The Data Dictionary and Metadata
Creating an Entity Relationship Diagram.
Validating an ERD.

INTRODUCTION

❖A data model is a formal way of representing the data that


are used and created by a business system.

❖During analysis (this Chapter), analysts draw a Logical


data model which shows the logical organization of data
without indicating how it is stored, created, or manipulated.

❖During design (Chapter 11), analysts draw a physical data


model to reflect how the data will physically be stored in
databases or files.
ENTITY
Topics of this chapter: ▪The entity is the basic building block for a data model. It is
✓Creating an entity relationship diagram (ERD). a person, place, event, or thing about which data is
collected.
▪Entities represent something for which there exist multiple
✓Normalization, a technique that helps analysts validate instances, or occurrences.
the data models. ▪-E.g., John Smith could be an instance of the customer
entity.

✓How data models balance, or interrelate, with the process


models.

THE ENTITY-RELATIONSHIP DIAGRAM (ERD)


▪An entity-relationship diagram (ERD) is a picture showing
the information that is created, stored, and used by a
business system.

▪Entities lists similar kinds of information


Attributes Modality
▪An attribute is some type of information that is captured ▪A relationship has modality of null or not null, which refers
about an entity. to whether an instance of a child entity can exist without a
▪Attributes are nouns that are listed with an entity. related instance in the parent entity.
▪One or more attributes can serve as the entity identifier-
the attribute(s) that can uniquely identify one instance of an
entity. ▪Null means that an instance of a child entity can exist
▪Concatenated identifier-several attributes are combined without a related instance in the parent entity.
to uniquely identify an instance.

Choices for Identifiers ▪Not Null means that an instance of a child entity can’t exist
without a related instance in the parent entity.

Relationships
▪Relationships are associations between entities. The Data Dictionary and Metadata
▪A data dictionary contains the information about the
entities, attributes, and relationships on the ERD, or
▪Every relationship has a parent entity and a child entity.
metadata.

▪Relationships should be labeled with active verbs. ▪Meta data is data about data.

Cardinality ▪Metadata is stored in the data dictionary so it can be shared


by developers and users throughout the SDLC.
▪A relationship has cardinality which is the ratio of parent
instances to child instances.

▪The 1:1 relationship means that one instance of the parent


entity is associated with one instance of the child entity.

▪The 1:N relationship means that a single instance of a


parent entity is associated with many instances of a child
entity.

▪The M:N relationship means that many instances of a


parent entity can relate to many instances of a child entity.

Example of M:N Relationship


Step 2. Add two 1:N relationships to the model.
Step 3. Name the intersection entity.

Resolving an M:N Relationship

CREATING AN ENTITY RELATIONSHIP DIAGRAM (ERD)


▪Drawing the ERD is an iterative process of trial and revision.
▪The basic steps in building an ERD:

1. Identify the entities; VALIDATING AN ERD


2. add the appropriate attributes to each entity; and ▪General design guidelines.
3. draw relationships among entities. ▪Normalization.
▪Check the ERD against the process models to make sure
Advanced Syntax that both model balance each other.
Three special types of entities:
▪Independent Entity Design Guidelines
•Can exist without the help of another entity.
•The identifiers is created from the entity’s own attributes.
•Attributes from other entities are not needed to uniquely
identify instances of these entities.

▪Dependent Entity
•There are situations when a child entity does require
attributes from the parent entity to uniquely identify an
instance. In these cases, the child entity is called a
dependent entity, and its identifier consists of at least one
attributes from the parent entity.
(E.g., the Chemical Request entity in Figure 6.1).
Normalization
▪Normalization is a technique that can help analysts validate
the data models.
▪Intersection Entity
•It exists in order to capture some information about the
relationship between two other entities. ▪It is a process whereby a series of rules are applied to a
•Typically, intersection entities are added to a data model to logical data model to determine how well it formed is.
store information about two entities sharing an M : N
relationship. Balancing ERDs with DFDs
▪The process models and data models are interrelated.

▪There are three steps involved in adding an intersection


entity: ▪Although the process model focuses on the business
Step 1.Remove the M:N relationship line and insert a new processes, it contains two data components –the data and
entity (intersection entity) in between the two existing ones. the data store.
▪These two data components of the DFDs need to balance
with the ERDs. -Normalization
-CRUD matrix
▪The DFD data components need to correspond with the
ERD’s data stores (i.e., entities) and the data elements that
comprise the data flows (i.e., attributes) depicted on the
data model.

▪Many CASE tools provide features of identifying problems


with balance between DFDs and ERDs; however, it is
important to understand how to identify problems on your
own.

▪Check your DFDs and ERDs to make sure all data


components correspond between DFDs and ERDs.

A Portion of a DFD and the CRUD Matrix

A useful tools to clearly depict the interrelationship between


process and data models is the CRUD matrix (create, read,
update, delete matrix).

SUMMARY
▪Basic Entity Relationship Diagram Syntax

-Entity describes people, places, or things.


-Attribute is some type of information about the entity.
-Relationship conveys the associations between entities.
▪Creating an ERD

-Identify the entities.


-Add the attributes to each entity.
-Draw relationships among entities.
▪Validating an ERD

You might also like