 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.

Slides:



Advertisements
Similar presentations
Int 2 Computing Software Development.
Advertisements

CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
ITEC113 Algorithms and Programming Techniques
A High-Level Model For Software Development
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Review Algorithm Analysis Problem Solving Space Complexity
ALGORITHMS AND FLOWCHARTS
Adapted from slides by Marie desJardins
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
Languages and Environments Higher Computing Unit 2 – Software Development.
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.
CSC141 Introduction to Computer Programming
Algorithmic Problem Solving CMSC 201 Adapted from slides by Marie desJardins (Spring 2015 Prof Chang version)
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Input, Output, and Processing
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
By the end of this session you should be able to...
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
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.
Problem Solving using the Science of Computing MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Coding Design Tools Rachel Gauci. What are Coding Design Tools? IPO charts (Input Process Output) Input- Make a list of what data is required (this generally.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
© 2006 Pearson Education 1 More Operators  To round out our knowledge of Java operators, let's examine a few more  In particular, we will examine the.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
The Software Development Process
1 Program Planning and Design Important stages before actual program is written.
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
CS2301:Computer Programming 2
Intermediate 2 Computing Unit 2 - Software Development.
Computer Programming CONTENTS Introduction to Operating Systems Introduction to programming languages Introduction to perl programming language Programming.
Algorithm Discovery and Design Objectives: Interpret pseudocode Write pseudocode, using the three types of operations: * sequential (steps in order written)
The Hashemite University Computer Engineering Department
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Chapter – 8 Software Tools.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
STEP 3- DEVELOP AN ALGORITHM At this stage we break down the problem into simple manageable steps so that they can be handled easily.
CPSC 233 Tutorial 5 February 2 th /3 th, Java Loop Statements A portion of a program that repeats a statement or a group of statements is called.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Marr CollegeHigher Software DevelopmentSlide 1 Higher Computing Software Development Topic 4: Standard Algorithms.
Topics Designing a Program Input, Processing, and Output
Programming Languages
Chapter 5: Control Structure
Lecture 2 Introduction to Programming
ALGORITHMS AND FLOWCHARTS
Unit# 9: Computer Program Development
Algorithms & Pseudocode
1) C program development 2) Selection structure
ALGORITHMS AND FLOWCHARTS
Chapter 2- Visual Basic Schneider
Chapter 1 Introduction(1.1)
Chapter 2- Visual Basic Schneider
Software Development Process
Flowcharts and Pseudo Code
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Programming Logic and Design Eighth Edition
Presentation transcript:

 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of Priority and Relational Operators

A Dance In The Dark Every Monday

Analysis is about understanding the problem. Start by describing the problem, as you see it, in your own words as clearly and concisely as possible.  Identify all required inputs. (external information)  Identify all required processes. (calculations, decisions, comparisons)  Identify all required outputs. (anything which must be shown on the screen or output in any other way)

At this stage the designers will set out how the problem will be solved. They will design various aspects of the program using:  storyboards  testplan  pseudocode  graphical design notation (flowcharts)  shows the overall structure of the program clearly

Actually writing all the program code using a software development program e.g. Java, C++, Visual Basic. Software development programs provide a text editor that you use to write high level language code

 normal conditions the program does what it should do with normal input e.g. the user has to enter a number between 1 and 100  extreme conditions the program can handle situations that are at the edge of what would be considered normal  exceptional conditions it can handle inputs that it has not been designed to cope with e.g. A program is being written to record scores rolled on a six-sided dice the most suitable set of test data : 3, 1, 0, 7, 6, 2

The types of documentation generated at this stage often include:  technical guide  information about the spec of computer required  user guide  step by step guide on how to use the program  description of the features of the software

 checking whether the program is readable  does the solution solve the problem  the issues encountered  the issues outstanding  recommendations for improvement

program maintenance may be required when  new bugs are uncovered by the end-user  new requirements are identified  at a later date the client requires the original solution to be integrated with other systems

Translates high level languages (written by humans) into machine code (understood by processors) There are two main types of translator programs.  Compiler  translates a program into machine code (commands that are written in ones and zeroes)  Interpreter  does the same as a compiler but one line at a time

Small programs called macros can be developed within some application packages e.g. Word Processing, Spreadsheets. The macro is actually coded in a scripting language called Visual BASIC for Applications(VBA) A Macro is a set of commands activated by a single keystroke.

There are some standard pre-defined functions that you may want to use in your programs. Pre-defined functions: greatly speed up program development  Int  takes a number and removes any fractional part leaving the whole number part  isKeyDown  retrieves keyboard input

An algorithm is a finite sequence of steps that solves a specific problem. For this unit, you need to know about 4 standard algorithms.  finding a minimum  finding a maximum  counting occurrences  linear search

Example: a list of daily midday temperatures recorded at a weather station during February 2003 The find a minimum algorithm would search through all the daily temperatures in the list, and find the lowest one i.e. (2°C) date temperature (°C) date temperature (°C)

 find maximum works its way through a list of numbers and finds the number with the highest value i.e. (12°C)  counting occurrences  counts how many occurrences of a given value there are in the list  Linear search  searches through a list looking for a particular item and reports where the item is found

All of the standard algorithms which you met in the last slides operate on a list of data items. We will see how a computer program can store a list of items

Suppose a program was required which would prompt the user to enter and store the names and scores for nine dart players. Variables required: first_name, second_name, third_name, fourth_name …… ninth_name (all strings) first_score, second_score, third_score, fourth_score …… ninth_score (all numbers).

Instead of creating 18 individual variables you create 2 arrays:  An array of strings:  string[] names = new string[5];  An array of numbers  int[] marks = new int[5];

 Fixed loop  the number of times a section of code is to be repeated is fixed in advance For(i=0; i<5; i++) { Lines of code }  Conditional loop  A section of code in a program is to be repeated until a particular item of data is entered by the user while (i < 10) { Lines of code }

 Arithmetic operators +, -, *, / Which one of the following would be the output from the line of program code below? PRINT * 4 –

== != > = <= A ticket program will give a discount if the person is under 16 or if the person is 65 and over Age > 65 AND age < 16 Age > 65 OR age < 16 Age > = 65 AND age < 16 Age > = 65 OR age < 16

Mix of English and programming language and can help when converting to code let score be 24 if score is greater than or equal to 30 display “A Pass” if score is greater than or equal to 24 and less than 30 display “B Pass” if score is greater than or equal to 16 and less than 24 display “C Pass” if score is less than 16 display “Fail”

In the code sample above, what type of statement is the first line? let score be 23 Conditional loop Fixed loop Conditional statement Assignment What is the output on screen from the code section above? A Pass B Pass C Pass Fail What program construct is being used in the section of pseudocode shown above? A fixed loop A conditional loop Conditional statements An arithmetical operation