1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.

Slides:



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

P5, M1, D1.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Software Development Process. Software Development Process Stages 1. Analysing the problem: What do we need to do? 2. Designing the program: How do we.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Chapter 3 Planning Your Solution
BPC.1 Basic Programming Concepts
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Int 2 & Higher Computing Software Development in True Basic INTRODUCTION.
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.
Higher Grade Computing Studies 1. Software Development Cycle Higher Computing Software Development S. McCrossan 1 Introduction The development of a piece.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
1 Shawlands Academy Higher Computing Software Development Unit.
Chapter 2 The process Process, Methods, and Tools
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Chapter 8: Systems analysis and design
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Higher Computing Software Development. Software Development Process There are 7 main stages involved in developing a new software program: Analysis Design.
CSC-115 Introduction to Computer Programming
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
BTEC Unit 06 – Lesson 08 Principals of Software Design Mr C Johnston ICT Teacher
 Once the system has been installed it will be monitored to check whether it is working correctly. Sometimes problems with a system will not be found.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Programming Concepts Chapter 3.
Chapter 3 Developing an algorithm. Objectives To introduce methods of analysing a problem and developing a solution To develop simple algorithms using.
School of Computer Science & Information Technology G6DICP - Lecture 9 Software Development Techniques.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
SE: CHAPTER 7 Writing The Program
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.
1 Software Development Topic 1 The Software Development Process.
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.
Iterative Nature of the Development Process Iteration = repetition or doing something over again. The software development process can be repetitive, especially.
The Software Development Process
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 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Systems Development Life Cycle
Designing & Testing Software Development Notes Software Design & Development: Design Notations, Development Methodologies & Testing and Documenting Solutions.
Program Development Cycle
Intermediate 2 Computing Unit 2 - Software Development.
Computer Programming CONTENTS Introduction to Operating Systems Introduction to programming languages Introduction to perl programming language Programming.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Software Development Process Higher Computing Unit 2 – Software Development.
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
The Hashemite University Computer Engineering Department
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.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Software Design and Development Development Methodoligies Computing Science.
ICS 3UI - Introduction to Computer Science
Component 1.6.
Higher Software Development
CSCI-235 Micro-Computer Applications
The Software Development Cycle
FORMAL SYSTEM DEVELOPMENT METHODOLOGIES
Computer Programming.
Unit# 9: Computer Program Development
Problem Solving Techniques
Software Development Life Cycle
Chapter 1 Introduction(1.1)
Software Development Process
ICT Gaming Lesson 2.
Software development process
The Software Development Process
The Software Development Cycle
Presentation transcript:

1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance

2 Systems Analysis What is a systems analyst?  A systems analyst observes, clarifies and models an existing system to assess its suitability for computerisation.  They may once have been programmers.

3 Skills and techniques of the Systems Analyst The systems analyst must  extract the clients needs  document these needs in a formal way  communicate these to the designers

4 Extracting the Clients Needs Extracting the clients needs is known as requirements elicitation. This is done by:  interviewing the client.  make observation of the client’s business  Inspect information sources used by the client to keep track of their business.

5 The Requirements Specification ► is the end result of the requirements elicitation ► is a written statement of what the design team must go on to make It is extremely important to get this document right. Mistakes made later can be very costly.

6 Documentation The systems analyst must document the clients needs by drafting formal reports:  requirements specification  system specification

7 Design Representations Examples include:  structure diagrams  pseudocode

8 Structure Diagram A commonly used syntax for structure diagrams is as follows: A procedure A loop A decision A single task

9 An example: A structure diagram :

10 Pseudocode Pseudocode is another example of a method of describing a program. Simple English words are used to describe the steps of the algorithm and any refinements made. Simple English words are used to describe the steps of the algorithm and any refinements made.

11 Pseudocode - Example 1.Display information 2.Get details 3.Do calculation 4.Display answer Refine step 2 2.1display prompt 2.2get value 2.3while value out of range 2.4display error message 2.5get value 2.6loop Top level design Notice the numbering system

12 An Iterative process It is important to realise that the software development process is iterative in nature. This means that the problem will be revisited a number of times getting closer and closer to the required solution on each time round.

13 CASE Tools CASE stands for “Computer Aided Software Engineering”. A CASE TOOL KIT is a set tools that have been designed to automate the entire software life cycle, including analysis, design, coding and testing.

14 Fact Finding Analysis is a fact-finding process, and there are five key questions that need to be asked, often repeatedly. These key questions are:  WHO?  WHAT?  WHERE?  WHEN?  WHY?

15 Designing the Solution Once the needs of the user are clearly understood and documented  Design of the User Interface  Design of the structure of the software ► Design of the detailed logic of the software

16 Implementation The next stage involves turning the carefully structured design into a working solution.

17 Choosing an Environment Before we can implement a solution we must decide on the programming environment which is most suitable. Languages are generally designed for a specific purpose.

18 Programming Languages

19 Things to Remember...  The code should be modular,  Meaningful variable names should be used.  There should be internal commentary, explaining what each section of the code does.

20 Debugging the Solution A common technique in trying to debug a piece of software is to conduct a structured walkthrough (step through each line of logic in the code) using a structured listing, which is simply a formatted display or printout of the code. It is important that the code is written in such a way that helps the above activities.

21 Dry Runs To complete a dry run the programmer works through a section of program code by hand. This is very useful for locating errors in both syntax and semantics. A trace table will normally be used in this activity.

22 Trace Tables A trace table is constructed with a column to identify the instruction executed and a column for each variable. The programmer works through each line of the listing changing the appropriate variables.

23 Test Data 1.Normal operation of the software, to make sure that there are no unexpected results in ordinary work. 2. Boundary - the operational limits of the software 3.Exceptions - This set will show whether or not the software can react to unexpected inputs in an effective way, without crashing.

24 Documentation - The User Guide ► This document should describe how to use the software. ► There should be a tutorial which allows the user to become familiar with the commands, and the various sections of the software.

25 Documentation - The Technical Guide This document should provide information on ► how to install the software ► hardware requirements (memory, processor speed) ► software requirements (Operating system version)

26 Evaluation ► Does the solution meet the user requirements?  Judge this against a set of criteria ► fitness for purpose ► maintainability ► robustness ► reliability ► portability

27 Some Definitions ► Correctness  A program is correct if it matches the users requirements ► Maintainability  This will include ► internal commentary ► meaningful variable and procedure names ► parameter passing

28 Some Definitions (2)  Reliability - A program is reliable if it is free from bugs,  Readability - A program is readable if it is easily understandable by people other than the original programmer, ie good internal documentation, use of white space, etc.

29 Some Definitions (3) ► Portability  A program is said to be portable if it can be transferred from one system to another with minimal adaptation ► Efficiency  It should not use up more system resources (memory & processor time) than are necessary.

30 Some Definitions (4) ► Robustness  A program is said to be robust if it does not crash when invalid data is input or unexpected results are generated. ► Fitness for Purpose  Does the program meet the requirements?

31 Maintenance ► Activities identified as part of maintenance:  corrective (17%)  adaptive (18%)  Perfective (65%)