+ All Categories
Home > Education > Software development slides

Software development slides

Date post: 02-Nov-2014
Category:
Upload: iarthur
View: 13 times
Download: 0 times
Share this document with a friend
Description:
 
Popular Tags:
38
Software Development Mr Arthur
Transcript
Page 1: Software development slides

Software DevelopmentMr Arthur

Page 2: Software development slides

Aims of the Lesson To introduce the 7 steps of the Software

Development Process To exam in detail the Analysis Stage

Page 3: Software development slides

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

Page 4: Software development slides

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

Page 5: Software development slides

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

Page 6: Software development slides

Aims of the Lesson 2 To exam in detail the Design, Implementation

and Testing Stage of the SDP

Page 7: Software development slides

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

Page 8: Software development slides

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

Page 9: Software development slides

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.

Page 10: Software development slides

Aims of the Lesson 3 To exam in detail the Documentation,

Evaluation and Maintenance Stages of the SDP

Page 11: Software development slides

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

Page 12: Software development slides

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

Page 13: Software development slides

Aims of the Lesson 4 To exam in detail the Maintenance Stages of

the SDP To complete the baby programming task in

pairs

Page 14: Software development slides

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

Page 15: Software development slides

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.

Page 16: Software development slides

Aims of the Lesson 5 Machine Code High Level Languages

Page 17: Software development slides

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

Page 18: Software development slides

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 */+-

Page 19: Software development slides

Aims of the Lesson 6 Translators

Interpreter Compiler

Page 20: Software development slides

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

Page 21: Software development slides

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

Page 22: Software development slides

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)

Page 23: Software development slides

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

Page 24: Software development slides

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

Page 25: Software development slides

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

Page 26: Software development slides

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

Page 27: Software development slides

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

Page 28: Software development slides

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

Page 29: Software development slides

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 *

Page 30: Software development slides

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 ……..

Page 31: Software development slides

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

Page 32: Software development slides

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

Page 33: Software development slides

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

Page 34: Software development slides

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

Page 35: Software development slides

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

Page 36: Software development slides

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

Page 37: Software development slides

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

Page 38: Software development slides

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


Recommended