Software Development Process

Slides:



Advertisements
Similar presentations
P5, M1, D1.
Advertisements

PROBLEM SOLVING TECHNIQUES
Chapter 2: Input, Processing, and Output
Programming Fundamentals (750113) Ch1. Problem Solving
BPC.1 Basic Programming Concepts
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
1 Shawlands Academy Higher Computing Software Development Unit.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
Programming Lifecycle
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Software Life Cycle What Requirements Gathering, Problem definition
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
I Power Higher Computing Software Development The Software Development Process.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
The Software Development Process
1 Program Planning and Design Important stages before actual program is written.
Designing & Testing Software Development Notes Software Design & Development: Design Notations, Development Methodologies & Testing and Documenting Solutions.
Intermediate 2 Computing Unit 2 - Software Development.
Computer Programming CONTENTS Introduction to Operating Systems Introduction to programming languages Introduction to perl programming language Programming.
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Software Development Process Higher Computing Unit 2 – Software Development.
The Hashemite University Computer Engineering Department
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Introduction to Computer Programming using Fortran 77.
Lecture 3 Computer Programming -1-. The main steps of program development to solve the problem: 1- problem definition : The problem must be defined into.
Algorithms and Flowcharts
Component 1.6.
Higher Software Development
Data Types Variables are used in programs to store items of data e.g a name, a high score, an exam mark. The data stored in a variable is entered from.
Lecture 1 Introduction Richard Gesick.
Chapter 2: Input, Processing, and Output
The Software Development Cycle
Software Design and Development
Algorithms An algorithm is a sequence of steps written in the form of English phrases that specific the tasks that are performed while solving the problem.It.
Lecture 2 Introduction to Programming
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Algorithm and Ambiguity
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Unit# 9: Computer Program Development
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 1 Introduction(1.1)
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Understand the Programming Process
Algorithm and Ambiguity
Learning Intention I will learn about evaluating a program.
Programming Fundamentals (750113) Ch1. Problem Solving
Flowcharts and Pseudo Code
ICT Gaming Lesson 2.
Programming Fundamentals (750113) Ch1. Problem Solving
Developing a Program.
Chapter 2: Input, Processing, and Output
Learning Intention I will learn about the different types of programming errors.
Review of Previous Lesson
WJEC GCSE Computer Science
WJEC GCSE Computer Science
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
CHAPTER 6 Testing and Debugging.
Programming Logic and Design Eighth Edition
The Software Development Cycle
Presentation transcript:

National 5 Software Design and Development (Software Development Lifecycle)

Software Development Process Analysis Design Implementation Testing Documentation Evaluation Maintenance

Analysis This is where you specify exactly what the problem is that is to be solved. Design This involves planning a solution to the problem using a recognised design method. There are three design notations: Structure Chart 2. Flow Chart 3. Pseudocode

Structure Chart A graphical way of indicating the various steps that you plan to follow in order to obtain a working solution to your problem. Note: there is no attempt to show the correct order of events (e.g. Dessert comes before the Entrée /Starter) we only want to show which smaller tasks are part of each bigger task.

FLOWCHART A graphical representation of the operations involved. Symbols are used to represent particular operations and arrows indicate the sequence.

Wireframe diagram here????

Pseudocode Here the problem is broken down into steps and written out using plain English instead of programming keywords Declare all variables Get numbers Calculate answer Display result Refinements 1.1 declare firstnumber as integer 1.2 declare secondnumber as integer 2.1 ask for and get firstnumber

Implementation Readability of code A program is easier to understand and read if you include: Meaningful variable names Internal commentary Clear user prompts Use of white space

Testing This involves making sure that your program does solve the problem. Programs should be tested with 3 types of test data: Normal – data well within the limits of the program Extreme – data at the ends of a range; boundaries; limits Exceptional – data which is invalid; a well written program should reject this data. This is used to test the robustness of your program. (Robustness – how well your program copes with errors without crashing.)

Testing Test Table: a test table must be created when you are testing a program. If you were testing a program that inputs 3 test scores and gives the average your table may look like this: Test Test Data Expected Output Actual Output Normal 20, 87, 34 47 47 – Screenshot1 76, 73, 23 57 57 – Screenshot 2 Extreme 100, 0, 100 67 67 – Screenshot 3 0, 0, 100 33 33 – Screenshot 4 Exceptional 101, 120, -1 Invalid Invalid – Screenshot 5 -2, -5, -60 Invalid – Screenshot 6

When testing a program you may come across different types of errors. Syntax error – an error due to the incorrect use of the programming language e.g. missing out a semi-colon (detected when compiled or interpreted) Run-time error –causes the program execution to stop e.g. the computer to try to carry out an impossible task – (debugger useful here) e.g. dividing by 0 Logical error – the program runs but produces an incorrect result due to a mistake in the design e.g. wrong formula: a=1+b instead of a=1*b; discovered during testing (the trace facility can be used to locate this type of error)

Documentation A program should include two types: User documentation - gives instructions how to use the program Technical documentation – this explains what each part of the code does;useful to another programmer who might have to change the code at later date. It includes comment lines, system requirements and installation requirements.

Evaluation This involves checking your solution against the problem. Does your program meet the specification? Is your program efficient/robust? Is it readable? Maintenance This involves changing a program at a later date. It could be altered to add extra features or to make it work better. Having a readable/efficient program will aid future programmers with maintenance.