IS - CHAPTER 2
IS - CHAPTER 2
INFORMATION SYSTEMS
Level: HND1 By: Mr. NYAMBI BLAISE
Lesson objectives
It is expected that after going through this lesson, you would be able to
Table of Contents
CHAPTER TWO – SOFTWARE DEVELOPMENT LIFE CYCLE ..................................................... 3
1.0 INTRODUCTION .................................................................................................................. 3
1.1. Introduction ............................................................................................................................. 3
1.2 Definition ................................................................................................................................ 3
1.3 Objectives of SDLC ...................................................................................................................... 3
1.4 Systems Analysis and Design ....................................................................................................... 4
1.4.1 System Analysis ..................................................................................................................... 4
1.4.2 System Design ....................................................................................................................... 4
1.5 Requirements of the SDLC ........................................................................................................... 5
1.6 Stages (Phases) of the SDLC ........................................................................................................ 6
1.6.1 Planning or Requirement Gathering Phase ............................................................................ 6
1.6.2 Analysis Phase ....................................................................................................................... 7
1.6.3 Design Phase .......................................................................................................................... 7
1.6.4 Development or Coding Phase ............................................................................................... 8
1.6.5 Testing Phase ......................................................................................................................... 9
1.6.6 Deployment Phase.................................................................................................................. 9
1.6.7 Maintenance Phase................................................................................................................. 9
1.7 SDLC MODELS ......................................................................................................................... 10
CHAPTER 2 – INCOMPLETE P a g e 1 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
CHAPTER 2 – INCOMPLETE P a g e 2 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
1.0 INTRODUCTION
1.1. Introduction
New computers and information systems frequently replace existing ones and the new
systems will someday be replaced by another one. The process of replacing an old system with
a new one is often refere to as systems development life cycle (DSLC). The cycle is a project
management techniique which divides a complex project into the wollowing smaller phases
that can easily be managed: planning, analysis, design, development, testing, implementation
and maintenance. SDLC is used by analysts to develop an information system.
An effective System Development Life Cycle (SDLC) should result in a high quality system
that meets customer expectations, reaches completion within time and cost evaluations, and
works effectively and efficiently in the current and planned Information Technology
infrastructure.
1.2 Definition
System Development Life Cycle (SDLC) is a conceptual model which includes policies and
procedures for developing or altering systems throughout their life cycles.
In order to meet all of the SDLC's objectives and requirements, there are certain design
approaches that are required:
CHAPTER 2 – INCOMPLETE P a g e 3 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
It must organize its information in a hierarchical manner so that users with varying
degrees of familiarity can find what they want easily and quickly.
Defining or selecting an SDLC should be undertaken as a project with full time resources
who have the appropriate level of expertise. It is an extremely high leverage effort. It also
represents a major cultural change for the staff. It must be planned and executed in a
professional manner.
It is a process of collecting and interpreting facts, identifying the problems, and decomposition
of a system into its components. System analysis is conducted for the purpose of studying a
system or its parts in order to identify its objectives. It is a problem solving technique that
improves the system and ensures that all the components of the system work efficiently to
accomplish their purpose.
Systems
Processes
Technology
CHAPTER 2 – INCOMPLETE P a g e 4 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
CHAPTER 2 – INCOMPLETE P a g e 5 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
This stage gives a clearer picture of the scope of the entire project and the anticipated issues,
opportunities, and directives which triggered the project.
Requirements Gathering stage need teams to get detailed and precise requirements. This helps
companies to finalize the necessary timeline to finish the work of that system. During this
phase, the following are identified:
A need to acquire a new system of enhance the existing system is identified
Its feasibility and cost are accessed and the risks and various project-planning
approaches are defined
Define the problem and scope of existing system.
Overview the new system and determine its objectives.
CHAPTER 2 – INCOMPLETE P a g e 6 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
CHAPTER 2 – INCOMPLETE P a g e 7 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Low-Level Design(LLD)
Functional logic of the modules
Database tables, which include type and size
Complete detail of the interface
Addresses all types of dependency issues
Listing of error messages
Complete input and outputs for every module
In this phase, Developer needs to follow certain predefined coding guidelines. They also need
to use programming tools like compiler, interpreters, debugger to generate and implement the
code. This phase has the following characteristics:
CHAPTER 2 – INCOMPLETE P a g e 8 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Bug fixing - bugs are reported because of some scenarios which are not tested at all
Upgrade - Upgrading the application to the newer versions of the Software
Enhancement - Adding some new features into the existing software
CHAPTER 2 – INCOMPLETE P a g e 9 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Waterfall is the oldest and most straightforward of the structured SDLC methodologies —
finish one phase, then move on to the next. No going back. Each stage relies on information
from the previous stage and has its own project plan. Waterfall is easy to understand and simple
to manage.
But early delays can throw off the entire project timeline. And since there is little room for
revisions once a stage is completed, problems can’t be fixed until you get to the maintenance
stage. This model doesn’t work well if flexibility is needed or if the project is long term and
ongoing.
CHAPTER 2 – INCOMPLETE P a g e 10 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project. In "The Waterfall" approach, the whole process of software development
is divided into separate phases
CHAPTER 2 – INCOMPLETE P a g e 11 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Maintenance − There are some issues which come up in the client environment. To fix
those issues, patches are released. Also to enhance the product some better versions are
released. Maintenance is done to deliver these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases. The next phase is started only after the defined
set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model".
In this model, phases do not overlap.
Easy to manage due to the rigidity of the model. Each phase has specific deliverables
and a review process.
Phases are processed and completed one at a time.
A schedule can be set with deadlines for each stage of development and a product can
proceed through the development process model phases one by one.
Works well for smaller projects where requirements are very well understood.
Clearly defined stages.
Well understood milestones.
Easy to arrange tasks.
Process and results are well documented.
CHAPTER 2 – INCOMPLETE P a g e 12 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
An iterative life cycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which
is then reviewed to identify further requirements. This process is then repeated, producing a
new version of the software at the end of each iteration of the model.
CHAPTER 2 – INCOMPLETE P a g e 13 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
In this incremental model, the whole requirement is divided into various builds. During each
iteration, the development module goes through the requirements, design, implementation and
testing phases. Each subsequent release of the module adds function to the previous release.
The process continues till the complete system is ready as per the requirement.
The key to a successful use of an iterative software development lifecycle is rigorous validation
of requirements, and verification & testing of each version of the software against those
requirements within each cycle of the model. As the software evolves through successive
cycles, tests must be repeated and extended to verify each version of the software.
CHAPTER 2 – INCOMPLETE P a g e 14 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
The disadvantage with this SDLC model is that it is applicable only to large and bulky software
development projects. This is because it is hard to break a small software system into further
small serviceable increments/modules.
The advantages of the Iterative and Incremental SDLC Model are as follows −
Some working functionality can be developed quickly and early in the life cycle.
Results are obtained early and periodically.
Parallel development can be planned.
Progress can be measured.
Less costly to change the scope/requirements.
Testing and debugging during smaller iteration is easy.
Risks are identified and resolved during iteration; and each iteration is an easily
managed milestone.
Easier to manage risk - High risk part is done first.
With every increment, operational product is delivered.
CHAPTER 2 – INCOMPLETE P a g e 15 | 16
Chapter 2 : Software Development Life Cycle By: Mr. Nyambi Blaise
Issues, challenges and risks identified from each increment can be utilized/applied to
the next increment.
Risk analysis is better.
It supports changing requirements.
Initial Operating time is less.
Better suited for large and mission-critical projects.
During the life cycle, software is produced early which facilitates customer evaluation
and feedback.
The disadvantages of the Iterative and Incremental SDLC Model are as follows −
More resources may be required.
Resources can quickly be eaten up by repeating the process again and again.
Although cost of change is lesser, but it is not very suitable for changing requirements.
More management attention is required.
System architecture or design issues may arise because not all requirements are
gathered in the beginning of the entire life cycle.
Defining increments may require definition of the complete system.
Not suitable for smaller projects.
Management complexity is more.
End of project may not be known which is a risk.
Highly skilled resources are required for risk analysis.
Projects progress is highly dependent upon the risk analysis phase.
CHAPTER 2 – INCOMPLETE P a g e 16 | 16