Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

DATA PROCESSING SYSTEMS
Int 2 Computing Software Development.
Computer Software 3 Section A Software Basics CHAPTER PARSONS/OJA
P5, M1, D1.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
1 Input: capturing and assembling elements that enter the system to be processed. Example: Raw material, data and human effort must be organized for processing.
Understanding the Mainline Logical Flow Through a Program (continued)
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
General concepts of ICT systems.  Know what is meant by the terms ‘hardware’ and ‘software’  Understand the difference between systems software and.
Software Development, Programming, Testing & Implementation.
Systems Software Operating Systems.
System Implementation
Documentation 1. User Documentation 2. Technical Documentation 3. Program Documentation.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
UNIT 21 Software Engineering.
The Operating System. Operating Systems (F) What you need to know about –operating system as a program; –directory/folder.
TEST REFLECTION CHAPTER 9 & 10. QUESTION 1 A spreadsheet is an application program you can use for working with numbers and doing math. False Look up.
Int 2 & Higher Computing Software Development in True Basic INTRODUCTION.
Systems Life Cycle A summary of what needs to be done.
SYSTEM LIFE CYCLES. OBJECTIVES o Be able to describe the stages of development of a hardware/software system. o Know what the different stages of the.
Lesson 4 Computer Software
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
The Software Development Process A*D*I*T*D*E*M All Day I Try to Defy Evil Milligan.
© The McGraw-Hill Companies, 2006 Chapter 1 The first step.
SOFTWARE.
Languages and Environments Higher Computing Unit 2 – Software Development.
1 Shawlands Academy Higher Computing Software Development Unit.
Systems Software & Operating systems
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Chapter 8: Systems analysis and design
1 UNIT 20 Software Engineering Lecturer: Ghadah Aldehim.
11.10 Human Computer Interface www. ICT-Teacher.com.
Application Software Performs a specific job or task. Helps people use their computers to perform their work more effectively. Categorized in two ways.
Section 2 Variables National 4/5 Scratch Course. What you should know after this lesson What a variable is Where variables are stored How to get data.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Making a great Project 2 OCR 1994/2360. Design Some candidates dive in, make a database or spreadsheet, then try and make a design afterwards. This won’t.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
I Power Higher Computing Software Development The Software Development Process.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Learning Objective The students should be able to: a. state the definition of software b. state the usage of software c. list different types of software.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The Software Development Process
Intermediate 2 Computing Unit 2 - Software Development.
M4 BTEC Level 3 Subsidiary Diploma in ICT. Technical Documentation The technical documentation may be a section in the user documentation or could be.
Chapter 3: Software Explain the difference between systems software and application software
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
1 The System life cycle 16 The system life cycle is a series of stages that are worked through during the development of a new information system. A lot.
Systems and User Interface Software. Types of Operating System  Single User  Multi User  Multi-tasking  Batch Processing  Interactive  Real Time.
1 Lesson 6 Software and Hardware Interaction Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Software Design and Development Development Methodoligies Computing Science.
In today’s lesson we will be looking at: what we mean by the software development lifecycle the phases in the lifecycle We will focus particularly on testing:
Unit 3 Computer Systems. What is software? unlike hardware it can’t be physically touched it’s the missing link between the computer hardware and the.
Advanced Higher Computing Science
Development Environment
IL Marking Get out your CPU / Memory answers Swap with someone else
MBI 630: Week 11 Interface Design
Software Development Life Cycle
Software Development Process
The Software Development Process
ICS103 Programming in C 1: Overview of Computers And Programming
Presentation transcript:

Software Development Process

 You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy to understand, because you can see it. It is all the pieces of equipment that make up the system – the processor, monitor, keyboard, mouse, printer, scanner and so on.  Software is not so obvious. It is all the programs, instructions and data that allow the hardware to do something useful and interesting.

 Microsoft Word (the word processing program that I use – I regularly use three versions of it: Word 2000, Word 98 for MacOS 8, Word v.X for MacOS X)  Microsoft Excel (spreadsheet used to keep charity accounts for which I am the treasurer)  AppleWorks (integrated package – I mainly use its word processor and simple database sections)  Internet Explorer (both PC and Mac versions – for browsing the web)

1. What is the meaning of the term hardware ? 2. Give three examples of software. 3. Identify each of the items in the table as either hardware or software: ItemHardwareSoftware monitor database Windows 97 scanner an Internet Explorer mouse modem

Any product, whether it is hardware or software it is always developed following essentially the same process. This process is called the Software Development Process.

 It is important that you learn the steps in the correct order: A nalysis D esign I mplementation T esting D ocumentation E valuation M aintenance

We remember the stages and order of the Software Development Process using a rhyme: ADanceInInTheDarkEveryMonday nalysisnalysis esignesign mplementationmplementation estingesting ocumentationocumentation valuationvaluation aintenanceaintenance

 The main purpose of the analysis stage is to be absolutely clear about what the program is supposed to do.  The result of this stage is the program specification agreed by both the customer (whoever wants the program written) and the developer (the person or company who are developing the program).

Copy this table at the back of your jotter and copy out the description of analysis. StageDescription 1. Analysis Produce a Program Specification Have a clear understanding of exactly what the program is required to do. 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance Occurs after the software is complete

 It is worth spending time at the design stage working out some of the important details, including how the program will look on the screen, how the user will interact with the program, and how the program might be structured.  Program designers use a variety of methods for describing the program structure.  Two common ones are called pseudocode and structure diagrams.

 Pseudocode is a non-graphical design notation.  It is a numbered list of instructions written in normal human language (in this case, English).  It doesn’t go into all the details, but it gives the main steps.

 Problem – Write a program that allows a user to enter a score out of 50. The program should calculate and display the percentage.  Before you write the pseudocode it is good to work out the Inputs, Processes (calculations) and Outputs. InputsProcessesOutputs ScorePercentage

 Pseudocode 1. Get the score 1.1 Prompt user for a score 1.2 Accept 2. Calculate Percentage 2.1 percentage= score / 50 * Display Message  Here is the trick:  Start with the input variables and put “Get the” in front of them.  Next comes the process variables. Put calculate in front of them.  And always put Display Message at end

Each instruction goes into a separate box. You read pseudocode from top to bottom. You read a structure diagram from top to bottom, left to right. Name of program Step 1Step 2Step 3Step 4Step 5

 Here is the previous problem as a structured diagram: Percentage Program Get the ScoreCalculate Percentage Display Message

Now fill the table in your jotter out with the description of design. StageDescription 1. Analysis 2. Design Working out the details of what the screens will look like, what menus and functions there will be and other detailed aspects of the program. Use pseudocode and/or structured diagram 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance

 Implementation is the process of converting a program design into a suitable program language. The screen should look like your screen design The structure of your code should follow your pseudocode and your structured diagrams  Any changes made during implementation MUST be recorded and change in design.

 There are thousands of different programming languages, all with their own advantage and disadvantages.  You have already used Prolog in the AI unit of this course. This language is good for creating knowledge bases for expert systems.

Written Task Now fill the table in your jotter out with the description of implementation. StageDescription 1. Analysis 2. Design 3. Implementation Actual writing all the program code and creating of the user interface 4. Testing 5. Documentation 6. Evaluation 7. Maintenance

 When you finish programming you will need to test your program rigorously.  This will be carefully planned to test a wide range of conditions.  We can divide it up into three types of testing. Normal Extreme Exceptional

 Testing normal conditions Making sure the program does what it should do when used ‘normally’. Within the boundaries of normal use. If the program asks for a percentage enter any number between 1 and 99, e.g.12 as it should accept this.  Testing extreme conditions Making sure the program can handle situations that are at the edge of what would be considered normal. On the boundaries of normal use. If the program asks for a percentage enter 0 or 100.  Testing exceptional conditions Making sure it can handle situations or inputs that it has not been designed to cope with. Out with the boundaries of normal use. If the program asks for a percentage enter “computing” or -12 or any number out with the boundaries of normal use. It should give you an error message and not crash.

Written Task Now fill the table in your jotter out with the description of testing. StageDescription 1. Analysis 2. Design 3. Implementation 4. Testing Getting users to try out the program to make sure it works under most conditions 5. Documentation 6. Evaluation 7. Maintenance

 This is the documentation that the user gets when they buy a piece of software.  When you buy a PS3 game you get; On the outside a label saying PS3 so that you know what console it is for. In the package a booklet telling you what control does what and how to work the basics of the game.  There are two main types of documents; User Guide & Technical Guide

 This tells you how to use the product.  It might also contain a tutorial, taking you through the use of the product step by step.  Some user guides come in the form of a booklet or on a CD.

 This gives technical information about the type of computer the software will run on, including; how much RAM it needs, how fast a processor it must have, which operating system is required.  The Technical Guide should also include instructions on how to install the software.

Written Task Now fill the table in your jotter out with the description of documentation. StageDescription 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation Writing a user guide and technical guide for the software 6. Evaluation 7. Maintenance

 The final stage in the process before the software can be distributed or sold is evaluation.  Evaluation involves reviewing the software under various headings to see if it is of the quality required.  In this course, we will review software under the following three headings; fitness for purpose user interface readability.

 Is the software fit for purpose ?  To answer this question the programmer must go back to the program specification (produced at the analysis stage) and checking that all the features of the software have been implemented.  It also means considering the results of testing, and making sure that the program works correctly and is free from bugs.

 The user interface should also be evaluated. The user interface is the way in which the user interact with the program.  To evaluate a program answer the following questions; Is the program easy to use? Is it clear what all the menus, commands and options are supposed to do? Could it be improved in any way?

 This is not for the end-user, but for the programmer.  It is assessing the way that the coding has been implemented.  If a programmer can take a program they have not written and understand it, it is deemed readable.

 Using meaning variable names If the program asks for a user name call the variable “user name”!  Use internal comment lines Beside each section of code write a small sentence on what that piece of code does.

Written Task Now fill the table in your jotter out with the description of evaluation. StageDescription 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation Checking that the program does what it is supposed to do, is easy to use and can be fixed if there is a problem 7. Maintenance

This final phase happens after the program has been put into use (sold), so we cannot put this stage into action in class. There are different types of maintenance that might be required, these are called; Corrective maintenance (fixing bugs), Perfective maintenance (adding new features) Adaptive maintenance (taking account of new conditions, e.g. new OS).

Written Task Now fill the table in your jotter out with the description of maintenance. StageDescription 1. Analysis 2. Design 3. Implementation 4. Testing 5. Documentation 6. Evaluation 7. Maintenance Occurs after the software is complete, e.g. adapting the game to run on a different type of computer