Software development slides

1,325 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,325
On SlideShare
0
From Embeds
0
Number of Embeds
180
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Software development slides

  1. 1. Software Development Mr Arthur
  2. 2. Aims of the Lesson  To introduce the 7 steps of the Software Development Process  To exam in detail the Analysis Stage
  3. 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. 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. 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. 6. Aims of the Lesson 2  To exam in detail the Design, Implementation and Testing Stage of the SDP
  7. 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. 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. 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. 10. Aims of the Lesson 3  To exam in detail the Documentation, Evaluation and Maintenance Stages of the SDP
  11. 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. 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. 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. 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. 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. 16. Aims of the Lesson 5  Machine Code  High Level Languages
  17. 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. 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. 19. Aims of the Lesson 6  Translators  Interpreter  Compiler
  20. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×