Software DevelopmentMr Arthur
Aims of the Lesson To introduce the 7 steps of the Software
Development Process To exam in detail the Analysis Stage
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
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
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
Aims of the Lesson 2 To exam in detail the Design, Implementation
and Testing Stage of the SDP
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
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
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.
Aims of the Lesson 3 To exam in detail the Documentation,
Evaluation and Maintenance Stages of the SDP
Documentation and Evaluation StagesDocumentation 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
Software Revision Quiz1. List the 7 stages of the Software Development
Cycle2. What document is created at the Analysis Stage3. Give 2 Design notations that are used at the
Design stage4. 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
Aims of the Lesson 4 To exam in detail the Maintenance Stages of
the SDP To complete the baby programming task in
pairs
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
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.
Aims of the Lesson 5 Machine Code High Level Languages
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
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 */+-
Aims of the Lesson 6 Translators
Interpreter Compiler
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
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 input2. Calculate overall mark out of 1003. Grade pupils4. Display name, overall mark and grade
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)
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
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
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
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
Lesson Starter
1. What is a Macro?2. Give 2 features of a Text Editor3. What is a Variable?4. What is an Array?5. Give 2 data types you would associate with
an Integer
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
Software Development All program can be split
up into 3 steps Inputlength = InputBox(“……”) ProcessArea = length * breadth OutputpctDisplay.print Area
Arithmetic OperationsArea = length * breadth Addition + Subtraction – Division / Multiplication *
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 OperatorsANDIf length = 5 AND breadth = 10 thenpctDisplay.print ……..ORIf length = 5 OR breadth = 10 thenpctDisplay.print ……..NOTIf NOT(length = 10) thenpctDisplay.print ……..
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
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 10Age(num) = inputbox(“Enter age”)Next num
Loops Conditional Loop
Where the loop ends when the condition is metDo WhileDo while age < 1 and age > 100Age = inputbox(“Not valid”)LoopLoop UntilDoAge = inputbox(“Enter age”)Loop until age = 15
Standard AlgorithmsInput Validation1.1 Get name of golfer and score for the round1.2 Do while score < 55 and score > 1201.3 Display an error message, prompt user to re-enter1.4 End loop
Finding Minimum2.1 Set the lowest place in the array to minimum2.2 For the size of the array2.3 If the current score is lower than minimum then set to minimum2.4 End if2.5 Loop
Standard AlgorithmsFinding Maximum3.1 Set the lowest place in the array to maximum3.2 For the size of the array3.3 If the current score is higher than maximum then set to maximum3.4 End if3.5 LoopLinear Search4.1 Ask user for the target golfer4.2 loop for each item in the list4.3 If current item = target value then4.4 Display message showing their score4.5 Else display an error message 4.5 end if4.6 end loop
Standard AlgorithmsCounting Occurrences5.1 Set the Counter to 0 5.2 Loop round for all the positions in the array5.3 If the current position is “Chips”5.4 Add 1 to Counter5.5 End If5.6 Close loop
ArrangementsSoftware 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
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