1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.

Slides:



Advertisements
Similar presentations
CS101: Introduction to Computer programming
Advertisements

PROBLEM SOLVING TECHNIQUES
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Chapter 2: Problem Solving
Programming Types of Testing.
Chapter 2: Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Modules, Hierarchy Charts, and Documentation
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
BPC.1 Basic Programming Concepts
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Data Structures and Programming.  John Edgar2.
The Art of Programming Top-Down Design. The Art of Problem Solving The art of problem solving is the transformation of an English description of a problem.
Introduction 01_intro.ppt
CSEB114: PRINCIPLE OF PROGRAMMING Chapter 2: Problem Solving.
Chapter 2: Problem Solving
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
U NDERSTANDING P ROBLEMS AND HOW TO S OLVE THEM BY USING C OMPUTERS.
หลักการโปรแกรม เพื่อแก้ปัญหาโดยใช้คอมพิวเตอร์
Programming Lifecycle
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Computing Essentials 2014 Programming and Languages © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Slide 1 Software Development 1. Requirement Specification 2. Analysis 3. Algorithm Design 4. Implementation 5. Testing 6. Documentation.
Chapter 2 Problem Solving On A Computer 2.1 Problem Solving Steps Solving a problem on a computer requires steps similar to those followed when solving.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
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.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Module 4 Part 1 Introduction To Software Development : Systems Analysis & Design Introduction To Software Development : Systems Analysis & Design.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
กระบวนการแก้ปัญหาด้วย คอมพิวเตอร์ 3 พฤษภาคม :00-17:00.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
CMSC 104: Peter Olsen, Fall 99Lecture 9:1 Algorithms III Representing Algorithms with pseudo-code.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
1. Introduction Intro Programming in C++ Computer Science Dept Va Tech August, 2002 © Barnette ND & McQuain WD 1 Algorithm:a finite set of instructions.
Program Development Cycle
ICS124 Session 8 Structured Programming 1. By the end of this section the student will be able to:  List the steps of a model Systems Development Life.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
 In this chapter you will learn about:  Introduction to Problem Solving  Software development method (SDM)  Specification of needs  Problem analysis.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
The Hashemite University Computer Engineering Department
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.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Programming Fundamentals Introduction to Problem Solving  Programming is a problem solving activity. When you write a program, you are actually writing.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Algorithms, Part 1 of 3 The First step in the programming process
Algorithms II Software Development Life-Cycle.
Algorithms and Flowcharts
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Algorithm and Ambiguity
Introduction to Problem Solving
Problem Solving Techniques
Introduction CSC 111.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Algorithm and Ambiguity
Understanding Problems and how to Solve them by using Computers
Basic Concepts of Algorithm
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5

2 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Problem Solving Problem solving is the process of transforming the description of a problem into the solution of that problem by using our knowledge of the problem domain and by relying on our ability to select and use appropriate problem- solving strategies, techniques, and tools.

3 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Why Use Computers Use a computer to solve a problem if: –It has extensive input. –It has extensive output. –Its method of solution is too complicated to implement manually. –If done manually, it takes an excessively long time to solve. –We expect to use the same method often.

4 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Life Cycle Requirements specification Analysis Design Implementation Testing and verification Documentation Maintenance and Enhancement

5 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 The Problem - QuikTax The phone rings one day and we get an offer from QuikTax, a local federal income tax preparation service to “Develop a computer program to compute income tax from tax schedules for the tax year 1999.”

6 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Requirements Specifications One of the most important steps in problem solving is understanding exactly what the problem is, what is needed to solve it, what the solution should provide, and if there are constraints and special conditions. In this step you eliminate ambiguities in the problem statement.

7 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Analysis In this phase we identify: –Inputs to the problem and their form –Outputs expected from the solution and their form –Special Constraints –Assumptions –Formulas

8 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Inputs What items must be provided to be able to get a solution? –Taxable income $0.00 to $1,000,000, –Filing status Single, Married/Jointly, Married/Separate, Head of household –Number of dependents

9 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Output Intermediate results Final results –Completed tax information

10 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Constraints What are the limits on the data? –Income can not be a negative number. –Number of dependents must be zero or positive, but not more than what number ? –Filing status must be one of a set of values

11 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Assumptions l Problem deals in $US l Only for 1999 l What’s implied by the Requirements?

12 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Formulas For income tax, it is the tax tables. For determining the area, it is length x width

13 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Grades For grades, it is: >=90.0% A 80.0% - <90.0%B 70.0% - <80.0%C 60.0% - <70.0%D <60.0%F l Notice there can be no gaps between grades, B is less than where the starts, not 89.9%, otherwise what is 89.99%?

14 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Design Develop a series of steps with a logical order which, when applied to the input would produce the specified output. (does this sound like an ALGORITHM?) This phase is when you think about how to solve the problem!! This phase can take forty percent of the effort.

15 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Implementation Implementation is the phase where the design is transformed into code. This is the only portion of the process that is computer and compiler specific. This should be approximately ten per cent of the effort.

16 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Implementation Errors Design errors Could have used the wrong formula. Syntax errors Did not write the code as required by the programming language. Run-time errors Divide by zero. Calculated a number that violated a constraint.

17 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Testing and Verification Once the code is developed: –Prove the program produces correct results. –Prove that the program that was built solves the problem that was described in the requirements specification. Manually solve the problem with a data set, then compare that to the program’s output!

18 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Documentation Consists of –A concise requirements specification –Description of inputs, outputs, constraints, and formulas used –Pseudocode or flowchart of the algorithm –Source code listing –Hard copy of a sample of data and the output –User’s guide explaining how to use the program

19 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Maintenance and Enhancement Environments change, so programs must be changed –Tax tables change –Name of organization changes Users want (or need) the program to do more –New tax credits –Elimination of old tax credits.