CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.

Slides:



Advertisements
Similar presentations
The Software Lifecycle. Example Problem: Update a Checkbook Write a program that allows the user to enter a starting balance, a transaction type, D or.
Advertisements

Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Software Development Software Life Cycle UML Diagrams.
System Design and Analysis
Illinois Institute of Technology
Fundamentals of Information Systems, Second Edition
Computers: Tools for an Information Age
Programming Fundamentals (750113) Ch1. Problem Solving
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Building Information Systems lesson 26 This lesson includes the following sections: The Systems Development Life Cycle Phase 1: Needs Analysis Phase.
Data Structures and Programming.  John Edgar2.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 14 Systems Analysis and Design: The Big Picture.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Introduction to High-Level Language Programming
Introduction to Systems Analysis and Design Trisha Cummings.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
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.
Higher Computing Software Development. Software Development Process There are 7 main stages involved in developing a new software program: Analysis Design.
Programming Lifecycle
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
CMSC 1041 Algorithms II Software Development Life-Cycle.
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.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Topics Covered Phase 1: Preliminary investigation Phase 1: Preliminary investigation Phase 2: Feasibility Study Phase 2: Feasibility Study Phase 3: System.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Programming and Languages
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.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Program Development Cycle
EGR 115 Introduction to Computing for Engineers Branching & Program Design – Part 1 Monday 29 Sept 2014 EGR 115 Introduction to Computing for Engineers.
Intermediate 2 Computing Unit 2 - Software Development.
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
The Hashemite University Computer Engineering Department
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 UMBC CMSC 104, Section Fall 2002 Functions, Part 1 of 3 Topics Top-down Design The Function Concept Using Predefined Functions Programmer-Defined.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
Software Design and Development Development Methodoligies Computing Science.
Principles of Information Systems Eighth Edition
ICS 3UI - Introduction to Computer Science
Chapter 2- Visual Basic Schneider
Systems Analysis and Design
About the Presentations
Software Development CMSC 202.
Software Development Life cycle
Problem Solving Techniques
Introduction to Systems Analysis and Design
Programming Fundamentals (750113) Ch1. Problem Solving
Software Development Life Cycle
Chapter 2- Visual Basic Schneider
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Chapter 2- Visual Basic Schneider
POWERPOINT PRESENTATION
Software Development Process
Presentation transcript:

CMSC 2021 Software Development

CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance

CMSC 2023 Software Development Life Cycle (con’t) Analysis Phase – Formally specify (document) what the problem is – Make sure that you and the “client” agree – Develop system test cases

CMSC 2024 Software Development Life Cycle (con’t) Design Phase – Formally specify (document) how the problem is to be solved – Make sure that the design conforms to the requirements (i.e., will produce what was specified in the analysis phase)

CMSC 2025 Software Development Life Cycle (con’t) Implementation Phase – Convert the design to code – Compile and remove all syntax errors

CMSC 2026 Software Development Life Cycle (con’t) Testing Phase – Unit Testing: Test each unit (e.g., function, object) for logic errors and make corrections – System Testing: Test the entire program to make sure that it conforms to the requirements

CMSC 2027 Software Development Life Cycle (con’t) Maintenance Phase – Fix bugs found by the customer – Make modifications ($$!) – Add new features ($$!)

CMSC 2028 So How Does the S/W Life Cycle Apply to My Projects? Follow the first four phases, but anticipate the last (Maintenance) Complete the Analysis Complete the Design Do a combination of Implementation and Testing

CMSC 2029 Procedural Method for CMSC 202 Project Development Analysis Phase – Write, in paragraph form, a general statement of the problem – Draw a detailed picture of the user interface – Define in detail each of the program inputs and outputs (possibly use a formal notation such as BNF) – Ask questions!

CMSC Project Development (con’t) Design Phase (Procedural) – Using top-down stepwise refinement, draw a hierarchy diagram of the solution – Define the inputs and outputs for each module in the diagram – For each module in the diagram, write the pseudocode – Make sure that the pseudocode actually implements the requirements! (Do hand- traces of the pseudocode.)

CMSC Project Development (con’t) Implementation & Testing Phases: A Combination Approach – Write the “skeleton” C++ code for the main (top) module: any #include’s all function prototypes the main function code “dummies”/”stubs” for all functions

CMSC Project Development (con’t) –Make sure that the code follows the pseudocode exactly! – Compile the code and remove any syntax errors – Run the “skeleton” – Code a single function, compile, and remove any syntax errors – Run the program and remove any logic errors

CMSC Project Development (con’t) – Code each function, one at a time, compiling, removing syntax errors, running the entire program, and removing logic errors –Typically, it is best to add functions in the following order: output function(s) input function(s) follow the calling order

CMSC Project Development (con’t) –Make sure that the final program meets all project requirements! Go back and review the project assignment for compliance Test all possibilities for input values, legal, illegal, and boundary values (choose representative data if the set of possibilities is too large)