Title: Int 2 Computing
1Int 2 Computing
- Software Development
- The Software Development Process
2The Software Development Process (SDP)
- To be a successful programmer takes a logical and
reasoned approach to problem solving. - Good practice is the result of a series of
well-documented stages. - Each stage makes an important contribution to the
whole development process.
3The Seven Stages
- Analysis.
- Design.
- Implementation.
- Testing.
- Documentation.
- Evaluation.
- Maintenance.
Some stages may have to be repeated if the
software does not meet the requirements. This
mean that the process can be described as an
iterative process.
4Analysis
- This stage extracts information from the client
and other relevant staff. - This may take many forms
- Interviews with clients and staff.
- Observation of current system.
- Examination of current paperwork.
- It is important that the task is fully agreed
before the design stage can begin as the
Specification is a legal Contract.
5Design
- The design may be either a
- Pseudocode A design written in a code like
version of English. Each line of design should
relate to one line of code. - Or
- Structured Diagram A graphical design that can
describe the overall structure of the proposed
program
6Pseudocode - Example
- 1. Display information
- 2. Get details
- 3. Do calculation
- 4. Display answer
Refine step 2 2.1 display prompt 2.2 get
value 2.3 while value out of range 2.4 display
error message 2.5 get value 2.6 loop
Simple English words in a familiar program form
Notice the numbering system
7Structure Diagram an example
A structure diagram allows the design of a
program to be drawn out in diagrammatic form.
Here is an example
8Implementation
- This stage involves coding the algorithm in a
chosen language. To chose a language we must
consider. - Type of problem.
- Hardware and software compatibility.
- Datatypes available.
- Features and Constructs available.
9Testing
- To ensure that the implementation is correct the
testing should be systematic and comprehensive.
This is normally carried out by an Independent
Test Group (ITG). - Comprehensive testing should include
- Normal data Data within the expected range.
- Extreme data (Boundary data) Data at the edge of
the expected range. - Exceptional Data (Out of range data) Data
outside the expected range.
10Documentation
- The programmer must also create several documents
including - Structured Listing A formatted printout of the
actual code. - Test Report A list of test data with predicted
and actual output. - User Guide A set of instructions on how to
install and use the software. - Technical Guide Descriptions of any technical
requirements. It may also record the development
history of previous versions.
11Evaluation
- A report is produced and given to the client that
will state whether the software is fit for
purpose. - If software is to be considered fit for purpose
then it must be able to meet all the criteria in
the software requirements document.
12Evaluation (Cont.)
- The software should also be evaluated in terms
of - Robustness The ability to cope with errors when
running. E.g.Not crashing. - Reliability The ability to cope with expected
data and give correct and predictable results. - Portability The ability to run on a computer
system other than the one the software was
designed for. E.g. Run on both a PC and a Mac.
13Evaluation (Cont.)
- Efficiency Not using too much of the Computers
memory or processor time. - Maintainability The ability to be changed with
ease in the future. E.g. - Readability. Using meaningful variable names and
sensible comments throughout the program. - Modularity. Using Procedures, functions or
Subroutines. - Documented History. Are previous versions of the
software documented.
14Maintenance
- Starts when the software is handed over to the
client. - The three types of maintenance are
- Corrective Fixing errors not found during
testing. - Adaptive Changing the code to cope with changes
made to the environment. - Perfective Adding new features or amendments
requested by the client. This is beyond the
original specification and will cost the client
extra.
15Personnel
- Client The client commissions the software,
describing the scope and boundaries of the
problem to the analyst. - Systems Analyst The systems analyst agrees with
the client the detailed specification of the
software to be written. This should be completed
to the satisfaction of both parties before the
design or coding is carried out.
16Personnel (Cont.)
- Project manager This individual takes sole
responsibility for keeping the project on track,
from the receipt of the software specification
until the software is delivered to the client. - Programmer The programmer is responsible,
individually or as part of a team, for converting
the algorithm into program code.
17Personnel (Cont.)
- Independent test group The independent test
group (ITG) carries out testing of the software.
This may be modular testing and/or component
testing, looking at important subsections of the
code. It will also entail testing of the finished
product.