Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009.

Slides:



Advertisements
Similar presentations
Lecture # 2 : Process Models
Advertisements

What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Chapter 12 Systems Development Three common methods for MIS development: The systems development life cycle (SDLC) Prototyping End-user development Five.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
Chapter 1 Program Design
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 3P. 1Winter Quarter Structured Engineering.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, C++ Version, Fourth Edition.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
IB Computer Science: 1.6 Software Design Created by Kevin Scott.
THE SYSTEMS LIFE CYCLE ANALYSE DESIGN IMPLEMENT MAINTENANCE IDENTIFY/INVESTIGATE.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Your Interactive Guide to the Digital World Discovering Computers 2012.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Problem Solving Methodology
The Software Development Cycle Defining and understanding the problem.
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Chapter 8: Systems analysis and design
Principles of User Centred Design Howell Istance.
Simple Program Design Third Edition A Step-by-Step Approach
AS Computing – F452 Designing Solutions to Problems.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
I Power Higher Computing Software Development The Software Development Process.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Chapter 8 First steps in modularisation. Objectives To introduce modularisation as a means of dividing a problem into subtasks To present hierarchy charts.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
1 Program Planning and Design Important stages before actual program is written.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Human Computer Interaction
SEM510 Autumn 1996 Software Engineering u What is “Software Engineering” ? u It involves: Software, People, Applications, Methods, Tools and Practices.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
G063 – Prototyping. Learning Objective: At the end of this topic you should be able to: describe prototyping as a software development methodology.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Design and Development Development Methodoligies Computing Science.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Algorithms and Flowcharts
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Unit 6 Application Design KLB Assignment.
Project planning The systems life cycle.
System Design Ashima Wadhwa.
Chapter One Unser Interface.
Chapter 2- Visual Basic Schneider
Methodologies By Akinola Soyinka.
Algorithm and Ambiguity
Software Development Life Cycle
Algorithm and Ambiguity
An Introduction to Visual Basic .NET and Program Design
Problem Solving Techniques
Software life cycle models
Software Development Life Cycle:-
Systems Development Life Cycle
Chapter 1 Introduction(1.1)
Chapter 2- Visual Basic Schneider
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Algorithm and Ambiguity
5 POINT PLAN THE SYSTEMS LIFE CYCLE ANALYSE DESIGN
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
ICT Gaming Lesson 2.
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

Chapter 7: Designing solutions to problems OCR Computing for A Level © Hodder Education 2009

What this chapter is about In this chapter we discuss: the types of error which may occur different strategies for testing programs tools used to identify errors within programs preparing the program so it can be executed on the end user’s computer. OCR Computing for A Level © Hodder Education 2009

The importance of good design A good design is one which is user-friendly, not necessarily one which looks good. A user-friendly design should be: –Effective: data can be input/output accurately, reducing the likelihood of errors. –Efficient: make the best use of facilities available, increasing productivity for the user. –Satisfying: the end user is comfortable and enjoys using it, reducing the training needed. OCR Computing for A Level © Hodder Education 2009

Designing input screens Factors to consider include: –The user, for example age or disabilities –Hardware available (e.g. Input devices) –Software options available (e.g. Graphical user interface) –Layout and order of items on the screen –How the data input will be validated – Instructions, help and information. If a data capture form needs to be designed to go with the input screen then it should be taken into consideration when designing the screen. OCR Computing for A Level © Hodder Education 2009

Modular Design In a modular, top-down design the problem to be solved is defined in simple terms and then split into subtasks. Each subtask is further split into smaller subtasks until each task can easily be solved. (This is called stepwise refinement.) The top-down design can be shown in a structure diagram. Advantages of using a top-down design include: –program is easy to write and test –fewer errors caused by different parts of the program interfering with each other –the programming can be split between a team of programmers, according to their expertise –code can be reused to perform the same task if needed. OCR Computing for A Level © Hodder Education 2009

Designing Algorithms An algorithm is a description of the actual instructions a computer needs to carry out to perform a task. Algorithms can be designed using: –Program Flowcharts: using conventional symbols to show the steps of the algorithm graphically. –Pseudo-code: text which is laid out like program code but focuses on describing the steps rather than writing the correct code. OCR Computing for A Level © Hodder Education 2009

Rapid Application Development (RAD) In RAD, prototypes of the software to be produced are used as part of the design process. The prototypes are evaluated with the end user, and the result of this is used to create the next prototype. This cycle is repeated until the final software is produced. Advantages: –User involved in design process and can influence its direction. –A tangible version of software is available early rather than an abstract design. –Overall development time is usually shorter. Disadvantages: –Not suitable for very large scale projects as numerous cycles will be needed, often revisiting previous prototypes. –Software produced often inefficient due to over- emphasis on the end result. OCR Computing for A Level © Hodder Education 2009