1 Detailed Design Representations (Chapter 9 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.

Slides:



Advertisements
Similar presentations
Sorting algorithms Sieve of Eratosthenes
Advertisements

CS107 Introduction to Computer Science Lecture 3, 4 An Introduction to Algorithms: Loops.
Chapter 2: Modularization
Designing Algorithms Csci 107 Lecture 4. Outline Last time Computing 1+2+…+n Adding 2 n-digit numbers Today: More algorithms Sequential search Variations.
8 Algorithms Foundations of Computer Science ã Cengage Learning.
Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from
1 Software Craftsmanship Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Right – Making sundials. From website
1 Program Understanding Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
1 Variables (Chapters of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
1 Maintenance Metrics and Measures (M 12) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
Slide 1 Requirements Wrap-up (Chapter 31 of requirements text) and Interaction Design: Introduction (Chapters 1 of Interaction Design text) CSSE 371 Software.
Unit 171 Algorithms and Problem Solving  Introduction  Algorithm Design  Algorithm Properties  Algorithm Control Flow  Examples  Comparing Algorithms.
1 The Maintenance Process Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
Team Skill 6 - Building The Right System Part 1: Applying Use Cases (Chapters of the requirements text) CSSE 371 Software Requirements and Specification.
1 Quality Assurance in Construction and Maintenance (Section 13.4 of Maintenance Text; Chapter 20 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman.
Designing Algorithms Csci 107 Lecture 4.
Loops Chapter 4. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while” structures.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Maintenance Framework Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Ref M 2.
1 Maintenance Management and Organization Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
The Pseudocode Programming Process Chapter 9. Summary of Steps in Building Classes and Routines.
PYTHON PROGRAMMING Week 10 – Wednesday. TERMS – CHAPTER 1 Write down definitions for these terms:  Computation  Computability  Computing  Artificial.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 6 Value- Returning Functions and Modules.
Control Structures Week Introduction -Representation of the theory and principles of structured programming. Demonstration of for, while,do…whil.
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.
ALGORITHM CHAPTER 8. Chapter Outlines and Objectives  Define an algorithm and relate it to problem solving.  Define three construct and describe their.
1 Statements: Control Structure Issues (Chapters and 19 of Code Complete) Don Bagert CSSE 375, Rose-Hulman October 17, 2006.
AEEE 195 – Repetition Structures: Part B Spring semester 2011.
1 Programming with MATLAB ผศ. ดร. อนันต์ ผลเพิ่ม Anan Phonphoem
Lecture 4: Calculating by Iterating. The while Repetition Statement Repetition structure Programmer specifies an action to be repeated while some condition.
Programming Structure
4.1 Proofs and Counterexamples. Even Odd Numbers Find a property that describes each of the following sets E={…, -4, -2, 0, 2, 4, 6, …} O={…, -3, -1,
Algorithms Java Methods A & AB Object-Oriented Programming and Data Structures Maria Litvin ● Gary Litvin Copyright © 2006 by Maria Litvin, Gary Litvin,
ITEC 109 Lecture 11 While loops. while loops Review Choices –1 st –2 nd to ?th –Last What happens if you only use ifs? Can you have just an else by itself?
Fundamentals of Algorithms MCS - 2 Lecture # 5. Representation of Algorithms (continued) Flowcharts.
October 3, 2001CSE 373, Autumn Mathematical Background Exponents X A X B = X A+B X A / X B = X A-B (X A ) B = X AB X N +X N = 2X N 2 N +2 N = 2 N+1.
PYTHON PROGRAMMING Week 12 – Tuesday. STARTER What is a flowchart? Do you know any of the symbols used in a flowchart and what they mean?
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
3.1.3 Program Flow control Structured programming – SELECTION in greater detail.
GCSE Computing#BristolMet Session Objectives #23 MUST understand what is meant by the programming term iteration SHOULD describe methods of looping used.
P ROGRAMMING L OGIC GWDA123 Sharon Kaitner, M.Ed. Winter 2015: Week 2.
160 as a product of its prime factors is 2 5 x 5 Use this information to show that 160 has 12 factors.
Chapter 1 The Phases of Software Development. Software Development Phases ● Specification of the task ● Design of a solution ● Implementation of solution.
1 CSC103: Introduction to Computer and Programming Lecture No 17.
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.
Programming revision Revision tip: Focus on the things you find difficult first.
Chapter 6: Loops.
While loop statement condition list
Repetition Control Structure in C++ Program
Big-O notation Linked lists
Lecture 7: Repeating a Known Number of Times
Active Learning Lecture Slides
CS1371 Introduction to Computing for Engineers
CMPT 201 Functions.
ALGORITHMS AND FLOWCHARTS
Chapter 16 Component-Level Design
ALGORITHMS AND FLOWCHARTS
Algorithms & Pseudocode & Flowcharts
Chapter 8: More on the Repetition Structure
Lecture Notes – Week 4 Chapter 5 (Loops).
ICT Programming Lesson 3:
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Programming Languages
Chapter 2 Sets Active Learning Lecture Slides
Inequalities TRUE FALSE.
Algorithms & Pseudocode & Flowcharts
Presentation transcript:

1 Detailed Design Representations (Chapter 9 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture

2 Today (Mon, Sep 17, 2007)  Review Reuse & Reusability  Two topics – Detailed design & pseudocode – this Maintenance Management & Organization  Tonight – Turn in your team’s maintenance plan  Note: Exam, Wed night, Oct 3, 7 – 9 PM

3 Outline  Detailed Design Representations Background Pseudocode Other Representations

4 Background  In some ways, detailed design is becoming a lost art  Nowadays, programmers often write source code directly from high-level design  Is this a good thing?

5 What is Pseudocode?  An informal, natural-language notation for describing an algorithm  Advantages: Structure is similar to source code Can describe various levels of detail

6 Example: Whether or not an integer is a prime number – 1/3 First iteration (keeps to definition of prime number): If the integer < 2 Return false Else Determine whether there is a factor between 2 and the integer minus 1 If no factor is found Return true Else Return false End If

7 Example: Whether or not an integer is a prime number – 2/3 Second iteration (Takes advantage of known facts): If the integer < 2 Return false Else if the integer = 2 Return true Else if the integer is even Return false Else Determine whether there is a factor between 3 and the square root of the integer If no factor is found Return true Else Return false End If

8 Example: Whether or not an integer is a prime number – 3/3 Third iteration (Determination loop and variables included): If n < 2 Return false Else If n = 2 Return true Else If n is even Return false Else FactorNotFound = true Index = 3 While FactorNotFound and Index <= the square root of n do If Index is a factor of n FactorNotFound = false Else Index = Index + 2 End if End While Return FactorNotFound End if

9 Group Discussion: Do you think that pseudocode is useful?

10 Other Detailed Design Representations  Flowcharts Classic  Examples: FlowchartingTechniques-GC pdf (from 1969!) FlowchartingTechniques-GC pdf Structured  Example:  Control Structure Diagrams  jGRASP / /

11 jGRASP Exercise (if we have time)