The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.

Slides:



Advertisements
Similar presentations
Software development process. Explanation of the iterative nature of the software development process.
Advertisements

P5, M1, D1.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
GCSE PROJECT GUIDELINES Use this presentation to make sure you have the correct content for you project - click on.
Programming Logic and Design Fourth Edition, Introductory
System Design and Analysis
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Chapter 1 Program Design
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Chapter 3 Planning Your Solution
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Systems Life Cycle A summary of what needs to be done.
COMP An Introduction to Computer Programming : University of the West Indies COMP6015 An Introduction to Computer Programming Lecture 02.
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.
Introduction to Systems Analysis and Design Trisha Cummings.
New Advanced Higher Subject Implementation Events
AICT5 – eProject Project Planning for ICT. Process Centre receives Scenario Group Work Scenario on website in October Assessment Window Individual Work.
1 Shawlands Academy Higher Computing Software Development Unit.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
Managing the development and purchase of information systems (Part 1)
Unit B065 – Coding a solution PREP WORK 1)Make sure you keep a work log / diary. Use the table on page 16 of the hand book as a template 2)Keep a bibliography.
Simple Program Design Third Edition A Step-by-Step Approach
Spreadsheet-Based Decision Support Systems Chapter 22:
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Programming Concepts Chapter 3.
New Advanced Higher Subject Implementation Events Computing Science Advanced Higher Course Assessment.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
Developing an Algorithm
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
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.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Test and Review chapter State the differences between archive and back-up data. Answer: Archive data is a copy of data which is no longer in regular.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Higher Grade Computing Studies 3. High Level Language Constructs Higher Computing Software Development S. McCrossan 1 Simple Data Types Integer: An integer.
The Software Development Process
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
Systems Development Life Cycle
Chapter One An Introduction to Programming and Visual Basic.
SEM510 Autumn 1996 Software Engineering u What is “Software Engineering” ? u It involves: Software, People, Applications, Methods, Tools and Practices.
Intermediate 2 Computing Unit 2 - Software Development.
Computing Higher – SD Unit - Topic 8 – Procedure and Standard Algorithms P Lynch, St Andrew’s High School Unit 2 Software Development Process Topic.
Software Development Process Higher Computing Unit 2 – Software Development.
The Hashemite University Computer Engineering Department
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.
MIT App Inventor Lesson 3 Algorithms Variables Procedures.
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.
Software Design and Development Development Methodoligies Computing Science.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
A2 Agreement Trial ICT November AGENDA  New Specification Principal Moderator’s Report Exemplar Materials  Lunch  1.00 Exemplar Materials.
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:
Advanced Higher Computing Science
Understanding Standards: Nominee Training Event
Problem Solving How do we attack a large problem?
Systems Analysis and Design
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Design AH Computing.
Completing the tasks for A452 with….
Unit# 9: Computer Program Development
Problem Solving Techniques
Software testing strategies 2
Documentation for Developers
Software Development Process
Software development process
AICT5 – eProject Project Planning for ICT
Presentation transcript:

The Project AH Computing

Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable buttons on screen user input of destination, weight and dimensions of parcel user verification of all inputs output displayed on screen, and spoken through speakers all colours and fonts complying with latest guidance on accessibility

What you have to do  A clear and detailed statement of the scope and boundaries of the problem /project  A list of the precise functional requirements

Scope and Boundaries  the scope clarifies what the project must cover  the boundaries clarify what the project will not cover.

|Functional requirements  Function requirements = what the product must do!

Example  if the project was to write a program to calculate the cost of sending a parcel, the list of functional requirements might include:  attractive welcome screen  all options available as clickable buttons on screen  user input of destination, weight and dimensions of parcel  user verification of all inputs  output displayed on screen, and spoken through speakers  all colours and fonts complying with latest guidance on accessibility  and so on...

Project Planning  The project specification states what is to be produced.  The project plan will state how you are going to do it.

Project Planning As a first step, you can divide the project up into sub-tasks corresponding to the 7 stages of the software development process:  Analysis  Design  Implementation  Testing  Documentation  Evaluation  Maintenance - not required for Advanced Higher

Project Planning Task  Create a table - with 5 columns. Sub-TaskTimeTarget DateCompletedComment Project Proposal Specification Research

After a while it will look like…

 Almost certainly, you will need to add in research at an early stage - probably before the design stage. All the stages down to testing are required for the unit assessment. Documentation and evaluation will be included in the project report for course assessment.

So the list now looks like:  Analysis - already done  Research  Design  Implementation  Testing  Project Report

Research  A programming technique that you will need  Comparing and selecting an item of hardware to buy  Searching a module library for an existing module you could use  Finding out the needs of potential users of your system  Considering alternative programming languages which you could use

Selecting Strategies

If you have some important decisions to make about the way you will solve your problem: list the options decide on the criteria use the criteria to evaluate the options - a table like the one above is a good idea make a decision which you can justify Note: you may find that you have to go back to do some more research to complete this activity.

Research  investigating different ways of implementation (e.g. different programming languages or software)  finding out how to implement (whatever)  looking at similar products and considering the best approach  selecting a strategy / programming language / software development environment

Resources Use these questions as a checklist:  Do I already have everything I will need?  Do I need extra software?  Do I need extra hardware?  Can I afford to buy these?  How long will they take to arrive?  How long will it take to get new software installed?

Resources Make a list of all the resources you will require. Include: Hardware Software Other resources  Alongside each item, put a tick if you have it already.  For each item without a tick, decide what you are going to do, and note it down as an action point.  Tick off these action points as you complete them.  File this in your Record of Work, and keep it up to date.

Summary of Analysis The problem specification should include scope and boundaries, and functional requirements A project plan includes division of the task into sub-tasks, allocating time to these tasks, and a system of monitoring progress Research may be required in order to select and justify appropriate strategies for a project It is important to identify all resources that may be required

What you should have so far…

Design

User Interface Design  At this stage you will have to make decisions about the design interface Command driven Menu driven Graphical user interface (not always the best)

Design  drawing sketches of the user interface  creating dataflow and structure diagrams  writing pseudocode for modules

Examples

Good interfaces…  be as simple as possible  give clear prompts to the user  be consistent  make sensible use of colour  allow the user to "undo" the last action  provide on-line help

Project User Interface  For your project, design all aspects of the user interface.  This may involve sketching how you want the screen to look while the application is running. Include as much detail as possible - colours, objects, icons, text (size, colour, font), interactions.

Code Design  The two design notations that you are most likely to have used are:  Pseudocode  Structure charts  You may also have used data flow diagrams.

Data Flow

Structure Chart with data flow

Pseudocode with data flow Produce best solution:  Get good input out: good input  Compute best solution in: good input out: solution  Put out solution in: solution 1.1 Read input out: raw input 1.2 Edit input in: raw input 3.1 Format output in: solution out: formatted output 3.2 Display output in: formatted output

Detailed pseudocode

Summary of Design stage  the design stage involves designing the user interface and the program algorithm  good user interface design is very important  the algorithm will be designed using top- down design with stepwise refinement  data flow diagrams, pseudocode and structure diagrams are all useful design notations  data flow between modules or sub-programs should be shown clearly at the design stage  evidence of design must be included in your Record of Work

What you should have so far…

Implementation

Create a Test Plan  Systematic - following a logical order  Comprehensive - covering every function defined in the functional specification

Systematic The program should be tested with  normal test data  extreme test data (boundary conditions)  exceptional test data

Comprehensive  module testing each sub section of the program tested separately as it is developed  component testing groups of modules tested together  beta (acceptance) testing final testing of the competed program

Test Plan Most of the sub-programs can be tested individually as they are implemented. The functional requirements are more likely to be tested at the end, once you have completed all the implementation.

Implementation  creating user interface forms  creating test data and a test plan  coding main structure  coding section 1 (whatever)  coding section 2 (whatever)  etc...  module testing and debugging

Implementation Remember to follow all the techniques of good programming you have learned in Higher and Advanced Higher Software Development. These include - internal commentary using meaningful identifiers (variables and procedure names) using parameter passing and local variable rather than global variables modular programming (use existing modules if they exist)

Keeping your Record of Work  In your Record of Work, you should keep printouts / hard copies of your program at each stage of development - make sure you label them carefully, with the date and version number; annotate them with any problems or notes about further work required;  notes of any unit testing you carry out - these can be anything from simple comments "it works!" written on a program listing to annotated screen dumps showing part of a program working correctly with given test data You will probably spend 20 hours or more on implementation, spread over several weeks or months. You should keep your record of work up-to-date at all times. Why not set aside 10 minutes at the end of every session to update your Record of Work.

Implementation Summary  a test plan should be created before implementation begins a test plan describes what will be tested, how it will be tested, and when it will be tested  good programming techniques should be applied during implementation  the record of work should be maintained throughout the process  module testing during implementation should be recorded against the test plan

Testing

Test plan

Testing  component testing  acceptance testing

Project Report  collating evidence from record of work  writing user documentation  writing technical documentation  writing an evaluation report

Final contents !