You are on page 1of 43

21CSIS01P

Introduction to Information Systems

Lecture 3
Information Systems Development

Dr. Yasmine Afify


yasmine.afify@bue.edu.eg
Lecture Outline

• SDLC Phases

• SDLC Methodologies

• Participants in Systems Development

• Outsourcing

• Success Factors

2
Systems Development
• The SDLC provides a structured and standardized process
for activities of system development effort.

• The SDLC is composed of the following fundamental


phases:
1. Systems analysis 4. Testing
2. Systems design 5. Conversion
3. Implementation 6. Maintenance
• Each phase includes a set of steps, which relies on
techniques that produce specific document files that provide
understanding about the project.
3
System Development Life Cycle (SDLC)

Building a
system can
be broken
down into
six core
activities.

4
Kenneth C. Laudon and Jane P. Laudon. Management Information Systems, 12th Ed, Prentice Hall, 2011.
System Analysis

• Analysis of problem to be solved by new


system
• Gather data about the existing system
• Define the problem and identifying causes
• Specify solutions

• Includes feasibility study


• Is solution feasible and good investment?
• Is required technology and skills available?

5
System Analysis

• Establishing information requirements


– Who needs information, where, when, and how
– Define objectives of new/modified system
– Details of the functions the new system must
perform
• Generates system requirements specification
document

Faulty requirements analysis is leading cause of


systems failure and high systems development cost
6
System Design
• Describes system specifications that will deliver
functions identified during systems analysis
• Should address all components of system
solution
• Architecture Design: describes the hardware, software, and
network infrastructure that will be used
• Database Design: defines what and where the data will be
stored
• Program Design: defines what programs need to be written
and what they will do
• Insufficient user involvement in design effort is
major 7
System Implementation

• Implementation
– System specifications from design stage are
translated into software program code
– Generates operational system

8
System Testing
• Testing
– Ensures system produces right results
– Even thorough testing processes do not
guarantee error-free system
– Types:
• Unit testing: Tests each component in system
separately
• System testing: Test functioning of system as a whole
• Acceptance testing: Makes sure system is ready to be
used in production setting, carried out by customers
9
System Testing

Assessing the functionality of SW program


Two main categories: Dynamic and static
Static Testing
Manual or automated review for
Code (static code reviews)
Requirements and design documents (technical reviews)

Dynamic Testing
Check the functional behavior of a SW unit by entering test data
and comparing results to the expected results
Dynamic Testing Opacity

Opacity (view of code)


Black-box testing
Tester has no knowledge of code
Often done by someone other than the coder

White-box testing
Testing all possible logic paths in the software unit
Deep knowledge of the logic
Makes each program statement execute at least once
System Conversion

• Process of changing from old system to new system


• Finalization of detailed documentation showing how
system works from technical and end-user
standpoint
• Train end-users

12
System Conversion Forms

13
1. Direct Conversion
• Old system turned off, new system is turned on.
• Least expensive.
• May be the only viable solution in situations where
activating the new system is an emergency or
when the two systems cannot coexist under any
conditions.
• Poses the greatest risk of failure.
• Disruptive to the organization.

14
2. Parallel Conversion

• Old and new systems are run simultaneously until the


end users and project coordinators are fully satisfied
that the new system is functioning correctly, and the
old system is no longer necessary.
• Low risk.
• Highest cost (End users must perform all daily
functions with both systems, thus a massive
redundancy in activities and literally double the work.
All outputs from both systems are compared for
accuracy).

15
3. Pilot Conversion

• This approach allows for the conversion to new


system, using either direct or parallel method, at a
single location.
• The advantage to this approach is that a location can
be selected that best represents the conditions across
organization but also may be less risky in terms of any
loss of time or delays in processing.
• Once the installation is complete at the pilot site, the
process can be evaluated and any changes to the
system made to prevent problems encountered at the
pilot site from reoccurring at remaining installations.
16
4. Phased Conversion

• Allows for the new system to be brought online as


a series of functional components that are logically
ordered to minimize disruption to the end users and
the flow of business.
• low risk.
• Long time.

17
System Maintenance

• System reviewed to determine if revisions are


needed
• May include post-implementation audit documents
• Maintenance
– Changes in hardware, software, documentation,
or procedures to a production system to correct
errors, meet new requirements, or improve
processing efficiency

18
SDLC
SUMMARY OF SYSTEMS DEVELOPMENT ACTIVITIES
CORE ACTIVITY DESCRIPTION
Identify problem(s)
Systems analysis Specify solutions
Establish information requirements

Systems design Create design specifications

Programming Translate design specifications into code

Unit test
Testing Systems test
Acceptance test
Plan conversion
Conversion Prepare documentation
Train users and
technical staff
Operate the system
Production and Evaluate the system
maintenance Modify the system
19
SDLC

20
Systems Development Methodologies

21
Systems Development Methodologies

• A methodology is a formalized approach to


implementing the SDLC.
• System development methodologies:

I. Traditional (Waterfall, Parallel)


II. Rapid application development (RAD)
III. Agile

• Outsourcing
22
I. Waterfall Development-based
Methodology

With waterfall
methodology,
the team
proceeds
sequentially
from one phase
to the next.

Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. 23
I. Waterfall Development-based
Methodology
• Advantages:
– The system requirements are identified long before
programming begins.
– Changes to the requirements are minimized as the project
proceeds.
• Disadvantages:
– The design must be completely specified before
programming begins (no flexibility).
– A long time elapses between the completion of the
system proposal in analysis phase and system delivery.

24
I. Parallel Methodology
A general design for
the entire system is
performed and then
the project is
divided into a series
of distinct
subprojects.

This methodology
attempts to address
the problem of long
time between
analysis phase and
system delivery.

Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. 25
II. Rapid Application Development
(RAD)

• RAD is a software development methodology that


focuses on building applications in a very short
time through iterative prototyping development by
automating revisions and changes

• RAD employs tools, techniques and


methodologies designed to speed up application
development (CASE tools)

26
Computer-Aided Software Engineering
CASE Tools
– Software tools used to automate system
development and reduce repetitive
work, including
• Graphics facilities for producing charts and
diagrams
• Screen and report generators, reporting
facilities
• Analysis and checking tools
• Code and documentation generators
27
Prototyping

– In prototyping, the analysis, design and


implementation phases are performed concurrently.
– All three phases are performed repeatedly in a cycle
until the system is completed.
– A prototype is a smaller version of the system with a
minimal amount of features
– Advantage: Provides a system for the users to
interact with, even if it is not initially ready for use.
– Disadvantage: Increased development times and
often the prototype undergoes significant changes
that it cannot be built upon.
28
Prototyping

Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. 29
Prototyping

• Operational prototype:
- Functioning prototype
- Accesses real data files, edits input data,
makes necessary computations and
produces real output
• Nonoperational prototype:
A mock-up, or model that includes output
and input specifications and formats (UI)
30
III. Agile Development

– Focuses on streamlining the SDLC by eliminating


much of the modeling and documentation
overhead and the time spent on those tasks
– Solves problems of traditional development
methodologies
– The most popular agile methodologies include
Extreme Programming (XP) and Scrum

31
Extreme Programming

• Extreme Programming (XP) was founded


on four core values:
– Communication

– Simplicity

– Feedback

– Courage

32
Extreme Programming

Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition Copyright 2006 © John Wiley & Sons, Inc. 33
Outsourcing

• Eliminates staffing and personnel problems

• Reduces costs

• Obtains state-of-the-art technology

• Increases technological flexibility

34
Why IT Development Projects Succeed or Fail?

Success
 User involvement
 Executive management support
 Clear statement of
requirements
 Proper planning Fail
 Realistic expectations  Lack of user input
 Incomplete requirements
and specifications
 Changing requirements and
specifications
 Lack of executive support
 Technological
incompleteness
Replace With Key Term
1. Mock-up, or model that includes output and input
specifications and formats.
2. Structured and standardized process for all activities
of any system development effort.
3. Describes system specifications that will deliver
functions identified during systems analysis.
4. Focuses on streamlining SDLC by eliminating much of
modeling and documentation overhead and time
spent on those tasks, such as scrum.
5. Eliminates staffing and personnel fluctuation
problems.
37
Replace With Key Term
1. A general design for the entire system is performed and
then project is divided into a series of distinct subprojects.
2. May be the only viable conversion solution in situations
where activating the new system is an emergency or when
the two systems cannot coexist under any conditions.
3. Phase during which a feasibility study is done.
4. Includes post-implementation audit documents.
5. Process of changing from old system to new system.
6. Methodology that focuses on building applications in a
very short time through iterative prototyping development.
7. The methodology in which the team proceeds sequentially
from one phase to the next.
38
Complete
1. Gathering data about the existing system and defining the
problem is done during the --- activity.
2. System design includes design of program, --- and ---.
3. In ---, the analysis, design and implementation phases are
performed concurrently.
4. --- are tools to automate SW development and reduce
repetitive work.
5. --- conversion incurs highest cost as end users must perform
all daily functions with both systems.
6. Smaller version of system with minimal amount of features is
called --.
Compare

• Unit and system testing.

• Phased and pilot conversion.

• Operational and non-operational prototype.

• Architecture and database design.

40
State Advantages and Disadvantages

• Waterfall model.

• Prototyping.

• Direct conversion.

41
Illustrate Using Figures

• Differences between waterfall, parallel,


prototyping and extreme programming
models.

42

You might also like