Kruse/Ryba Ch011 Object Oriented Data Structures Programming Principles Introduction Programming Style Coding, Testing, Further Refinement Program Maintenance.

Slides:



Advertisements
Similar presentations
Chapter 29: Integration Jacob Harper. The Integration Approach The order of adding components to a system is crucial Benefits to careful integration –
Advertisements

Chapter 1: Introduction
Chapter1 PROGRAMMING PRINCIPLES. Problems of Large Programs 1.The patchwork approach --- Disadvantage: if any change must be made, it will have unpredictable.
Class 0: Review and Perspective. cis 335 Fall 2001 Barry Cohen Class info n Barry Cohen n n Office hours: W 3:15-4:40.
Chapter 1 Principles of Programming and Software Engineering.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Programming Fundamentals (750113) Ch1. Problem Solving
Algorithm Programming Coding Advices Bar-Ilan University תשס " ו by Moshe Fresko.
Principles of Procedural Programming
Bottom-Up Integration Testing After unit testing of individual components the components are combined together into a system. Bottom-Up Integration: each.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Software.
1 Shawlands Academy Higher Computing Software Development Unit.
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
Programming Style and Documentation Objective(s) F To become familiar with Java Style and Documentation Guidelines.
ADOBE INDESIGN CS3 Chapter 2 WORKING WITH TEXT.
Visual Kleene’s Theorem Kleene, Inc. Robert Sharpe & Scott White Advisor: Professor Retterer.
Chapter 1 Introduction to VBA Development in Excel.
Chapter 13: Implementation Phase 13.3 Good Programming Practice 13.6 Module Test Case Selection 13.7 Black-Box Module-Testing Techniques 13.8 Glass-Box.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Chapter 1 PROGRAMMING PRINCIPLES 1. Introduction : Problems with large programs 2.The Game of Life (a continuing example) 3. Programming style 4. Coding,
Programming Lifecycle
Program Development Life Cycle (PDLC)
1 Data Structures CSCI 132, Spring 2014 Lecture 3 Programming Principles and Life Read Ch. 1.
First Steps in Modularization Simple Program Design Third Edition A Step-by-Step Approach 8.
School of Computer Science & Information Technology G6DICP - Lecture 9 Software Development Techniques.
CHAPTER:11 Programming Guidelines in JAVA Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
SE: CHAPTER 7 Writing The Program
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
Programming Principles Chapter 1. Objectives Discuss the program design process. Introduce the Game of Life. Discuss object oriented design. – Information.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
M-1 University of Washington Computer Programming I Program Style © 2000 UW CSE.
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
Code Development Code development for end user systems.
First Steps in Modularization. Simple Program Design, Fourth Edition Chapter 8 2 Objectives In this chapter you will be able to: Introduce modularization.
Programming Principles Spreadsheet-Based Decision Support Systems Chapter 24: Aslı Sencer MIS 463.
Self-Documenting Code Chapter 32. Kinds of Comments  Repeat of code  Explanation of code  Marker in code  Summary of code  Description of code’s.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
The Software Development Process
Code Conventions Tonga Institute of Higher Education.
Program Style Chapter 22 IB103 Week 12 (part 2). Modularity: the ability to reuse code Encapsulation: hide data access directly but may use methods (the.
SEM510 Autumn 1996 Software Engineering u What is “Software Engineering” ? u It involves: Software, People, Applications, Methods, Tools and Practices.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
Design and Planning Or: What’s the next thing we should do for our project?
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Chapter 3 AS3 Programming. Introduction Algorithms + data structure =programs Why this formula relevant to application programs created in flash? The.
ATS Programming Short Course I INTRODUCTORY CONCEPTS Tuesday, Feb 10th, 2009 Introduction to Programming.
Copyright © 2014 Pearson Addison-Wesley. All rights reserved. Chapter 2 C++ Basics.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Kruse/Ryba Ch011 Object Oriented Data Structures Programming Principles Introduction Programming Style Coding, Testing, Further Refinement Program Maintenance.
Lecture 1 Introduction Richard Gesick.
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
An Introduction to Visual Basic .NET and Program Design
Problem Solving Techniques
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
PROGRAMMING METHODOLOGY
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Documentation for Developers
Introduction to Programming
Unit 6 Assignment 2 Chris Boardley.
Chapter 2- Visual Basic Schneider
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
CMSC 345 Programming.
Spreadsheet-Based Decision Support Systems
Spreadsheet-Based Decision Support Systems
Software Development Chapter 1.
Presentation transcript:

Kruse/Ryba Ch011 Object Oriented Data Structures Programming Principles Introduction Programming Style Coding, Testing, Further Refinement Program Maintenance Conclusions and Preview

Kruse/Ryba ch012 Introduction Problem Specification Program Design Choice of Data Structures Analysis of Algorithms Testing and Verification Program Correctness Maintenance C++

Kruse/Ryba ch013 Names (identifiers) Meaningful – CS Department Standard Simple when local Use common prefixes and suffixes Avoid intentional misspellings Avoid cute Avoid similar spellings Beware of confusing letters – o0, il, 1l, etc. Accounts_payable size loopIndex x

Kruse/Ryba ch014 Documentation (Comments) Prologues for functions Explain variables Introduce significant sections Indicate ends of significant sections - //End main( ) Avoid redundant & verbose comments Explain tricky code – Better still avoid it! Documentation explains what not how Document Modifications /*…*/, //, /// Visual Studio /*************** * ****************/

Kruse/Ryba ch015 Format Spaces, blank lines, indentation Prettyprinting Consistency –Like writing an essay

Kruse/Ryba ch016 Refinement (Refactoring) Subdivision Top-down refinement Specifications Plain and Simple (KISS) Parameters –Input –Output –InOut Variables –Local –Global –Magic Numbers

Kruse/Ryba ch017 Coding, Testing, Further Refactoring Stubs – Function / Class Drivers – main call your program function to get started Program Tracing –Structured walkthroughs – Single Step –Trace tools – Break Points –Snapshots - cout –Scaffolding –Static analyzer

Kruse/Ryba ch018 Testing Unit Tests Black-Box –Easy values –Typical, realistic values –Extreme values –Illegal values Glass-Box – White Box Ticking-Box

Kruse/Ryba ch019 Program Maintenance Solution within specifications? Correct under all conditions? Interface? Logically and clearly written? Well documented? Efficient use of time and space? Reasonable?

Kruse/Ryba ch0110 Chapter 1 Fades Away