Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
13 views9 pages

Introduction To Chapter Two

Chapter 2 outlines the software development processes, defining them as activities aimed at solving organizational problems through information systems. It details the Systems Development Life Cycle (SDLC), which includes planning, analysis, design, development, testing, implementation, and maintenance phases, along with their respective deliverables. The chapter also discusses various software process models and their characteristics, emphasizing the importance of selecting the right process to enhance software quality and adaptability.

Uploaded by

joykavulunze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views9 pages

Introduction To Chapter Two

Chapter 2 outlines the software development processes, defining them as activities aimed at solving organizational problems through information systems. It details the Systems Development Life Cycle (SDLC), which includes planning, analysis, design, development, testing, implementation, and maintenance phases, along with their respective deliverables. The chapter also discusses various software process models and their characteristics, emphasizing the importance of selecting the right process to enhance software quality and adaptability.

Uploaded by

joykavulunze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

CHAPTER 2: SOFTWARE DEVELOPMENT PROCESSES

Definition: The activities that go into producing an “information


systems” solutions to “an organizational” problem or opportunity/
challenge.
● It is part of organizational problem-solving process.
● Problem may be :-
● Nonperformance as expected.
● Realization of areas, it should take
advantage of new opportunities (to perform
more successfully).

Systems Development Life Cycle


It is a systematic study and orderly approach to solving system
problems.
Note: While this approach comes in different formats, it usually
incorporates the following steps:

(i) Planning
- Identify the scope and boundary of the problem, and plan the
development strategy and goals, conduct feasibility study, establish
project plan.
- To properly decide what to make, what not to make, and what to
make first, you can use a feature prioritization framework that takes into
account the value of the software/update, the cost, the time it takes to
build, and other factors.
- Once it is decided that the software project is in line with business
and stakeholder goals, feasible to create, and addresses user needs, then
you can move on to the next phase.

(ii) Systems Analysis


Study and analyze the problems, causes and effects. Then identify and
analyze the requirements that must be fulfilled by any successful
solution

(iii) System Design


- Design how the requirements are to be met by the new
system, define technical specifications.

(iv) System Development


The actual development phase is where the development team members
divide the project into software modules and turn the software
requirement into code that makes the product.

This SDLC phase can take quite a lot of time and specialized
development tools. It’s important to have a set timeline and milestones
so the software developers understand the expectations and you can keep
track of the progress in this stage.

In some cases, the development stage can also merge with the testing
stage where certain tests are run to ensure there are no critical bugs.

Keep in mind, different types of product development software will have


different specialties so you’ll want to pick the one that suits you best.

(v) Testing
Before getting the software product out the door to the production
environment, it’s important to have your quality assurance team perform
validation testing to make sure it is functioning properly and does what
it’s meant to do. The testing process can also help hash out any major
user experience issues and security issues.

In some cases, software testing can be done in a simulated environment.


Other simpler tests can also be automated.

The types of testing to do in this phase:

● Performance testing: Assesses the software's speed and scalability


under different conditions
● Functional testing: Verifies that the software meets the requirements
● Security testing: Identifies potential vulnerabilities and weaknesses
● Unit-testing: Tests individual units or components of the software
● Usability testing: Evaluates the software's user interface and overall
user experience
● Acceptance testing: Also termed end-user testing, beta
testing, application testing, or field testing, this is the
final testing stage to test if the software product delivers
on what it promises

(vi) System Implementation


- Test system and train users, get the system running and begin to
use the system.
viI) Evaluation/maintenance
- Evaluate the implemented solution, refine the design and implement
improvements.
The term "cycle" refers to the natural tendency for systems to cycle
through these activities.
Deliverables - planning
• Identification and prioritization of information system needs
• Problem is identified and articulated
• Business case or system justification
• Project scope
• Project feasibility
• Selection of system development participants
• Project (work) plan

Deliverables - Analysis
• Description of the current system/environment
• Determine and structure functional requirements
• Identification of alternatives
• Initial system models are built

Deliverables - Design
• Technical detailed specifications of all systems elements (programs,
files, network, system software, etc.)
• Interface Design
• Database and file design

Deliverables - Implementation
• Software code
• Documentation
• Installation plan
• Testing plan
• Training procedures
• Initial support capabilities outlined
• Maintenance Plan
• Evaluation Plan

Maintenance
The maintenance phase is the final stage of the SDLC if you’re
following the waterfall structure of the software development process.
However, the industry is moving towards a more agile software
development approach where maintenance is only a stage for further
improvement.

In the maintenance stage, users may find bugs and errors that were
missed in the earlier testing phase. These bugs need to be fixed for better
user experience and retention. In some cases, these can lead to going
back to the first step of the software development life cycle.

The SDLC phases can also restart for any new features you may want to
add in your next release/update.

The Software Process Models


The software process is the set of activities and associated results, which
produce a software product. These activities are mostly carried out by
software engineers.
There is no such thing as a ‘right’ or a ‘wrong’ software process.
Different software processes decompose software activities (feasibility
study, analysis, design, implementation and evolution) in different ways.
The timing of the activities varies as does the results of each activity.
Different organizations use different processes to produce the same type
of product. However, some processes are more suitable than others for
some types of application. If the wrong process is used, this will
probably reduce the quality or the usefulness of the software product to
be developed.
Because there are a variety of different process models used, it is
impossible to produce reliable figures for cost distribution across these
activities. However, we do know that modifying software usually takes
up more than 60% of total software costs. This percentage is increasing
as more and more software is produced and has to be maintained.
Designing software for change is therefore essential.
Software processes (like most business processes) are complex and
involve a very large number of activities. Like products, processes also
have attributes or characteristics.
It is not possible to optimize all process attributes simultaneously. For
example, if a rapid development process is required then it may be
necessary to reduce the process visibility. Making a process visible
means producing documents at regular intervals.

SOFTWAREPROCESSCHARACTERISTICS DESCRIPTION
i) Understandability – To what extent is the process explicitly defined
and how easy is it to understand the process definition?

ii) Visibility – Do the process activities culminate in clear results so


that the progress of the process is externally visible?

iii) Supportability – To what extent can the process activities be


supported by CASE tools?

iv) Acceptability – Is the defined process acceptable to and unable by


the engineers responsible for producing the software products?

v) Reliability - Is the process designed in such a way that process


errors are avoided or trapped before they result in product errors?

vi) Robustness – Can the process continue in spite of unexpected


problems?

vii) Maintainability – Can the process evolve to reflect changing


organization requirements or identified process improvements?

viii) Rapidity – How fast can the process of delivering a system from a
given specification be completed?

You might also like