2. Aims of the Lesson
To introduce the 7 steps of the Software
Development Process
To exam in detail the Analysis Stage
3. The Software Development
Process
When developing new software the developer would
follow these steps
A Analysis
Dance Design
In Implementation
The Testing
Dark Documentation
Every Evaluation
Monday Maintenance
4. Analysis Stage
Analysis = Deciding what type of software
you want to create, and what features you
want it to have.
At the Analysis stage the Customer, Systems
Analyst and Programmer agree on the
software required and create a Software
Specification
Software Specification = a legally binding
document that outlines what the developer is
going to create
5. Programming Task
I want a program that asks for 5 pupils
names. The program then asks for their NAB
scores out of 20. The program then displays
the name of each pupil, their score and
whether they have passed or failed. Pass is
>=12. Use TABS to display
6. Aims of the Lesson 2
To exam in detail the Design, Implementation
and Testing Stage of the SDP
7. Design Stage
At the Design Stage the
problem is broken down and a
method of solving the problem
is identified
Design Notations
Algorithms – pseudocode
Where you break the program up into
steps in English
Structure Diagrams
Where you create a graphical
representation of the steps
8. Implementation and Testing
Stages
Implementation
The programmer coding the
algorithm into the chosen
language
Testing
May involve an Independent
Test Group to make sure
the program meets the
Program Specification
Normal = data within the
normal range
Extreme = data at the
boundaries of the normal
range
Exceptional = data outside
the normal range
9. Program Task
I want a program that asks for the names of 5
contestants and their votes. The program
should validate the votes between 0 and
1000. The program should display the name
of each contestant, their votes using tabs and
display the person with the least votes.
10. Aims of the Lesson 3
To exam in detail the Documentation,
Evaluation and Maintenance Stages of the
SDP
11. Documentation and Evaluation
Stages
Documentation
User Guide = A set of
instructions on how to install
and use the software. May
include tutorials and FAQs
Technical Guide = This
document details the
technical requirements i.e
RAM, disk space. It may
also info on previous
versions and upgrades
Evaluation
The software would be
evaluated on the following:
Fitness for purpose
Does the program do what it is
meant to do?
User interface
How user friendly is the
interface
Readability
Does the program has suitable
commentary
Have tabs been used on If
statements, for loops to make it
easier to read
12. Software Revision Quiz
1. List the 7 stages of the Software Development
Cycle
2. What document is created at the Analysis
Stage
3. Give 2 Design notations that are used at the
Design stage
4. A program asks for a number between 1 and
100. Name 3 tests that would be carried out to
fully test the program. Give examples of the
test data
5. Give 2 documents that are created at the
Documentation stage of the SDP process
13. Aims of the Lesson 4
To exam in detail the Maintenance Stages of
the SDP
To complete the baby programming task in
pairs
14. Maintenance Stage
Maintenance
Corrective
Fixing errors in the program
Corrective Maintenance is not paid for by the customer as the
software does not do what it is meant to and does not match
the Software Specification
Adaptive
Changing the software to run on a different Operating System
or environment
Perfective
Adding new features and improving the program in some way
The customer would pay for this as not in Software Spec
15. Program Task
I want a program that asks for the name, date of birth, birth
weight in pounds and hospital born of 5 babies. The
program should validate their weight between 1 pound and
13 pounds. The program should classify the babies as
Underweight < 3 pounds
Normal >=3 and < 9
Overweight >=9.
The program should then generate a baby id that will be put
on their baby bracelet. The id should be the first 3 letters of
their name, date of birth and first 5 letters of the hospital
The program should use Tabs and display name, dob, birth
weight, classification, hospital and baby id.
16. Aims of the Lesson 5
Machine Code
High Level Languages
17. Machine Code
Machine Code is the only language a
computer can process
101010101
It is an impossible language to program in
and errors would be inevitable
18. High Level Languages
A High Level Languages is a programming
language that uses everyday words
IF, Then, For
Features
English like words
Build in functions like left, right, mid, ucase
Must be translated to machine code
Can be run on different environments
Arithmetic functions can be performed */+-
19. Aims of the Lesson 6
Translators
Interpreter
Compiler
20. Translators
All programs written in a
High Level Language
must be translated to
Machine Code
Interpreters
Translates the program
one line at a time
Easier for user to identify
errors
Interpreter takes up RAM
as it is present during
translation
Compilers
Translates the High
Level Language into
Machine Code in one
operation
Uses less RAM as
after translation
Compiler does not
need to be present
Hard to find errors
21. Name, Section 1, Section 2, Section 3,
Programming Coursework, System
Coursework, Overall Score, Grade (A. B etc
I want a program that asks for the marks of 3
pupils. It should ask for their name, section 1
marks (15), section 2 (30), section 3 (25),
Programming Coursework (15), Systems
Coursework (15). It should add up their score
and display their grade
A = 70+/B = 60-69/C = 50-59/D = 40-49/NA = <40
1. Get user input
2. Calculate overall mark out of 100
3. Grade pupils
4. Display name, overall mark and grade
22. Lesson Starter
1. What is the difference between a High Level
language and machine code?
2. What is the difference between an
Interpreter and a Compiler
3. What document is created at the Analysis
stage of the SDC
4. Give 3 different factors we Evaluate
software on (FUR)
23. Aims of the Lesson 7
Today’s Lesson
Macros
Text Editors
Last Lessons
Software Development Cycle
Analysis – Software Specification
Design – Algorithm/Structure
Diagram
Testing –
Normal/Extreme/Exceptional
Evaluation
Maintenance
Machine Code
High Level Languages
Translators
Interpreter
Compiler
24. Macros/Text Editor
Macro
A feature of Application
program where the
user can record mouse
clicks and assign them
to a shortcut
Formatting text
Adding page numbers
Changing page layout
Save/Print document
Text Editor
A window where the
programmer enters a
high level language
Copy and paste code
Edit code
Indent loops/ifs
Highlight commentary
25. Aims of the Lesson 7
Today’s Lesson
Variables
Arrays
Last Lessons
Software Development Cycle
Analysis – Software Specification
Design – Algorithm/Structure
Diagram
Testing –
Normal/Extreme/Exceptional
Evaluation
Maintenance
Machine Code
High Level Languages
Translators
Interpreter
Compiler
Macros
Text Editors
26. Variable/Arrays
Variable
A variable is an item of data
that is given a name and
data type and is stored in
the computers memory for
later use in a program
Data Types
String = storing text
Integer = whole number
Single = non whole
numbers
One dimensional
Array
An array is used to store a
list of values that are the
same data type
Each value is given an
index number
Dim age(5) as integer
Age(1), Age(2) etc
27. Lesson Starter
1. What is a Macro?
2. Give 2 features of a Text Editor
3. What is a Variable?
4. What is an Array?
5. Give 2 data types you would associate with
an Integer
28. Aims of the Lesson 7
Today’s Lesson
• Programming Theory
• Input/Process/Output
• Arithmetic Operations
• Predefined Functions
• Logical Operations
Last Lessons
Software Development Cycle
Analysis – Software Specification
Design – Algorithm/Structure Diagram
Testing – Normal/Extreme/Exceptional
Evaluation
Maintenance
Machine Code
High Level Languages
Translators
Interpreter
Compiler
Macros
Text Editors
Variables
Arrays
29. Software Development
All program can be split
up into 3 steps
Input
length = InputBox(“……”)
Process
Area = length * breadth
Output
pctDisplay.print Area
Arithmetic Operations
Area = length * breadth
Addition +
Subtraction –
Division /
Multiplication *
30. Software Development
Predefined Functions
A predefined function
is a piece of code that
has already been
written for you
UCASE(uname)
LCASE(uname)
LEFT(uname,3)
RIGHT(uname,5)
ROUND(Depth)
Logical Operators
AND
If length = 5 AND breadth = 10 then
pctDisplay.print ……..
OR
If length = 5 OR breadth = 10 then
pctDisplay.print ……..
NOT
If NOT(length = 10) then
pctDisplay.print ……..
31. Aims of the Lesson 8
Today’s Lesson
• Programming Theory
• Loops
• Fixed
• Conditional
• Nested
• Standard Algorithms
• Input Validation
• Counting Occurrences
• Finding Max
• Finding Min
• Linear Search
Last Lessons
Software Development Cycle
Analysis – Software Specification
Design – Algorithm/Structure Diagram
Testing – Normal/Extreme/Exceptional
Evaluation
Maintenance
Machine Code
High Level Languages
Translators
Macros
Text Editors
Variables
Arrays
Input/Process/Output
Arithmetic Operations
Predefined Functions
Logical Operations
32. Loops
A Loop is used to repeat a group of instructions
Fixed Loop
A fixed loop repeats the code a set number of
times
For num = 1 to 10
Age(num) = inputbox(“Enter age”)
Next num
33. Loops
Conditional Loop
Where the loop ends when the condition is met
Do While
Do while age < 1 and age > 100
Age = inputbox(“Not valid”)
Loop
Loop Until
Do
Age = inputbox(“Enter age”)
Loop until age = 15
34. Standard Algorithms
Input Validation
1.1 Get name of golfer and score for the round
1.2 Do while score < 55 and score > 120
1.3 Display an error message, prompt user to re-enter
1.4 End loop
Finding Minimum
2.1 Set the lowest place in the array to minimum
2.2 For the size of the array
2.3 If the current score is lower than minimum then set to minimum
2.4 End if
2.5 Loop
35. Standard Algorithms
Finding Maximum
3.1 Set the lowest place in the array to maximum
3.2 For the size of the array
3.3 If the current score is higher than maximum then set to maximum
3.4 End if
3.5 Loop
Linear Search
4.1 Ask user for the target golfer
4.2 loop for each item in the list
4.3 If current item = target value then
4.4 Display message showing their score
4.5 Else display an error message
4.5 end if
4.6 end loop
36. Standard Algorithms
Counting Occurrences
5.1 Set the Counter to 0
5.2 Loop round for all the positions in the array
5.3 If the current position is “Chips”
5.4 Add 1 to Counter
5.5 End If
5.6 Close loop
37. Arrangements
Software Development Process
Description of the stages (in order) of the software development process: analysis,
design, implementation, testing, documentation, evaluation, maintenance
Description and exemplification of pseudocode and one graphical design notation
(structure diagram or other suitable)
Description and exemplification of appropriate test data (normal, extreme and
exceptional)
Description of the features of a user guide and a technical guide
Evaluation of software in terms of fitness for purpose, user interface and readability
Software development languages and environments
Description and comparison of machine code and high level languages
Explanation of the need for translation; description of the functioning of interpreters
and compilers
Description of the process of recording a macro and assigning it to a keystroke
Description of a macro, and examples of the use of macros
Description of the features and use of a text editor
38. Arrangements
High level programming language constructs
Description and exemplification of the following constructs in an appropriate
high level language: input and output, assignment, arithmetical operations
(+,-,*,/,^) and logical operators (AND, OR, NOT), fixed loops, conditional
loops, simple and complex conditions, conditional statements (IF), nested
loops
Description and exemplification of numeric and string variables and 1-D
arrays
Description and exemplification of pre-defined functions
Standard algorithms
Description and exemplification of the following standard algorithm in an
appropriate high level language: input validation
Recognition of appropriate use of the following standard algorithms: input
validation, find min/max, count occurrences, linear search