0% found this document useful (0 votes)
15 views19 pages

Chapter 3

Chapter 3 discusses the software development process, emphasizing the traditional lifecycle stages including project initiation, requirement analysis, system design, coding, testing, and implementation. It outlines the importance of defining problems, gathering requirements, and creating detailed specifications to guide development. Additionally, it introduces data structures and their role in organizing and storing data for effective problem-solving.

Uploaded by

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

Chapter 3

Chapter 3 discusses the software development process, emphasizing the traditional lifecycle stages including project initiation, requirement analysis, system design, coding, testing, and implementation. It outlines the importance of defining problems, gathering requirements, and creating detailed specifications to guide development. Additionally, it introduces data structures and their role in organizing and storing data for effective problem-solving.

Uploaded by

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

Chapter 3- Data Analyses

and Problems
Ntiamoah Nkansah B.SC (Hons)Information
Technology
Lesson Objectives
The Software Development Process
Overview of Data Structures
File Data Structures
Introduction to Program structured Diagrams
(Problem analyses)
Jackson’s Structured Approach to Data
Structures and Program Structures
Determining the structure of a program from
a given specification
Program Development Process
There are varieties of software lifecycle
models. However, all of them share a common
approach to breaking down the development
process into manageable units.
 This units, which include initial study,
requirement analyses, system design, coding,
testing, implementation and support also
called the traditional software development
is organized in varying steps to solve
software problems
Program Development Process
The Traditional Software or system life cycle
includes:
Project Initiation / Initial Study
Requirement Analyses
System Design
Coding
Testing
Implementation and support
Program Development Process
At the end of each phase, there is a control
point where the achievement of the goals of
the phase can be evaluated. There are three
(3) possibilities after the evaluation:
Satisfactory results which means the goals of
the phase has been achieved and development
can proceed the next stage
 Partially satisfactory which means that some
parts still needs to clarified and improved
Poor results and entire projects may be
discontinued or restarted
Project Initiation / Initial Study
 Project Initiation deals with the Precise definition of problem
to be solved in a clearly and in a well understood manner.
 Undertake feasibility study. Thus whether the system of a
sort can produce or not
 After this initial study is the output of:
 A brief description of the proposed system (including hardware
and software requirements)
 An estimated project cost
 Possible completion date for project
 Initial issues of system integration are also considered at
this stage. Thus how the system is going to fit into the
existing system. Usually this process is initiated by project
managers
Requirement Analyses
At this state, the requirements of clients,
users, management, development team
members, and all stakeholders are taken.
How do you pick these requirements?
Interviews
Direct Observation
Issuance of questionnaires
Team sitting (conferencing)
etc
Requirement Analyses
 Client verses the user of a system
 The client is the person or organization who is paying for the
software to be developed.
 The users are the people who will be using the completed
software.
 At the end of requirement analyses, a Requirement Analyses
document is produced which will contain the following
information:
 The proposed system agreed by users, clients, the development
team and all other stakeholders
 A list of existing tools (hardware and software), new tools
required for development, the expertise who are going to
develop the system (internal or outsourced team)
 Schedules for the next stage of the project including the
deliverables for each stage
Requirement Analyses
The objective of the requirement analyses stage is to
define, in detail, a solution that will fully meet the
clients and user requirements.
Out of the requirement analyses document, a program
specification document is produced which involves
translating the requirements identified into terms that
can be understood by the system designers,
programmers and testers. The end product of this
stage is a program specification which normally
includes a description of:
 The input to the process
 The operations the system will perform on each input
 The output obtained for the corresponding input
Requirement Analyses
 Key Attributes of requirements specification
it should be clear and unambiguous
it should be complete
 it should be appropriately detailed
 it should be cohesive (interlinked)
 it should be attainable
 it should be testable
etc
System Design
It describes how a solution will be built to
satisfy the requirements specified in the
initial stage. System design should be
detailed, technical and logical definition of
system to be produced
At the design stage, complex problems are
divided into sub problems which individually
are easily solved
A test plan should also be developed to test
each sub problem and also the integrated
problem
System Design
At this stage, the use of formal program design
techniques and standards are deployed (Selection
of good data structures for input and output data)
and better algorithms for program processes or
functions. Techniques like pseudo code, flowcharts,
DSD’s, PSD’s, use cases, class diagrams, state
chart diagrams, sequence diagrams, deployment
diagrams, etc are used.
After design, a decision will have to be made as to
which programming language will be most
appropriate. Is the programming going to be
deployed internally, externally or both?
Coding
Coding is started when design is completed.
This is the stage where the actual
programming is done. This phase is
completed when actual code is written and
compiled without errors. There should be a
lot of proper documentation to be done on the
code.
Characteristics of a good code
It should work correctly
It should be bug or error free
It should be readable and maintainable
Testing
Every program module should be tested according to
the existing test plan developed in the design phase
of the software process.
After every separate module has been tested, a full
test according to the test plan is performed. Any
errors uncounted will be corrected and system will
be retested
If the program is part of a system, a system test will
take place after the individual programs have been
tested to see how they all work together as a system.
It must also be tested in the environment where it
will actually be used to see how it will function there.
Testing
Internal testing (alpha testing) and outside
testing (beta testing) are carried out
Testing must be done in a controlled
environment and also in a live environment to
identify all hidden problems.
Implementation and Support
After software is developed and well tested, now it is
ready to be deployed. User documentation and
operation instructions are required. The system must
also be maintained.
Before writing a program the programmer needs to
know
 The output required by the user => screen displays,
print outs or updated files
 The process required to produce this output for the
user
 The data or input to be processed to create the output
required by the user => data files or input from user
via keyboard, mouse, etc
Introduction to Data Structures
 Every data has a name, type, value and range
 A data structure is a way by which this data are organized
and stored. Examples include arrays, files, graphs, trees,
tables, etc
 A data structure may be selected or design to store data for
the purpose of working on it with various algorithm
 Data structure diagrams are tools used to analyze or clarify
how data are organized
 DSD can be used to analyze both how data and problems are
composed. They are concerned with the physical structure of
problems but not the logical structure or the flow or logical
aspect of data or problems
 Data structure diagrams is about the results or the
externally visible properties of data and their relationships
Symbols used for DSD

This is a box to represent a component of data or a


problem

To represent the repetition of all subsequent lower


level boxes

Selection (choice between alternative set of boxes)

You might also like