Presentation is loading. Please wait.

Presentation is loading. Please wait.

COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?

Similar presentations


Presentation on theme: "COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?"— Presentation transcript:

1 COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?

2 COP 3530 – Chapter 1: Introduction Let’s Review from COP 3014: Let’s Review from COP 3014: Hardware Hardware CPU CPU Control Unit Control Unit ALU ALU Main Memory Main Memory Secondary Storage Secondary Storage I/O Devices I/O Devices

3 Introduction (Cont.) Software Software Software Engineering Software Engineering Software Development Life Cycle Software Development Life Cycle

4 Phases of Software Life Cycle Analysis & Specification Analysis & Specification “What is to be done”? “What is to be done”? Design Design “How should we do it?” “How should we do it?” Coding & Implementation Coding & Implementation “What will we be using to program it? “What will we be using to program it? Testing, Execution and Debugging Testing, Execution and Debugging “How can we know it works”? “How can we know it works”? Maintenance Maintenance “How do we make it last?” “How do we make it last?”

5 Life Cycle – More Detail Analysis & Specifications Analysis & Specifications Often difficult to obtain handle on Often difficult to obtain handle on You as programmer must solicit the correct information to solve problem You as programmer must solicit the correct information to solve problem What kind of questions do you ask? What kind of questions do you ask? Benchmark Benchmark

6 Life Cycle – More Detail Design Phase Design Phase Blueprint of problem Blueprint of problem Object-Oriented Design (OOD); also called Object-Centered Design (OCD) Object-Oriented Design (OOD); also called Object-Centered Design (OCD) Develop algorithm Develop algorithm Also descriptions of data: Also descriptions of data: Primitive data types Primitive data types Structured data types Structured data types

7 Life Cycle (Design Cont.) Operations Operations Examples of algorithms: Examples of algorithms: compute Average compute Average Algorithm guidelines: Algorithm guidelines: Definite and unambiguous Definite and unambiguous Simple Simple Finite Finite

8 Life Cycle – Design (cont.) Algorithm control structures: Algorithm control structures: Sequence Sequence Selection Selection Repetition Repetition Structured.vs. unstructured design Structured.vs. unstructured design Coding Coding Structural languages Structural languages Object-oriented languages Object-oriented languages Requirements of good program: Requirements of good program: Readable Readable Understandable Understandable Correct Correct

9 Life Cycle – Coding (Cont.) Other essentials: Other essentials: Modular Modular Basic control structures Basic control structures Efficient uses of parameters Efficient uses of parameters Correct use of constants Correct use of constants Preconditions / postconditions Preconditions / postconditions Documentation Documentation Code appearance Code appearance

10 Life Cycle (cont.) Testing / Execution / Debugging Testing / Execution / Debugging Two steps: Two steps: Verification Verification Validation Validation Types of Tests used: Types of Tests used: Unit Tests Unit Tests Integration Tests Integration Tests System Tests System Tests Types of Errors used: Types of Errors used: Syntax Syntax Run-Time Run-Time Logical Logical

11 Life Cycle – Testing (Cont.) Several Basic Testing Techniques: Several Basic Testing Techniques: Black Box (Functional) Testing Black Box (Functional) Testing Advantages Advantages Testing independent from programmer Testing independent from programmer Testing done from viewpoint of end-user Testing done from viewpoint of end-user Disadvantages: Disadvantages: Redundant Redundant Difficult to construct Difficult to construct White Box (Structural, Glass-Box) Testing White Box (Structural, Glass-Box) Testing Advantages Advantages Very effective for subprograms Very effective for subprograms Disadvantages Disadvantages Explicit knowledge needed Explicit knowledge needed

12 Life Cycle – Testing (Cont.) Sample Problem – Binary Search Sample Problem – Binary Search Algorithm Algorithm May need to trace code to find errors if they occur May need to trace code to find errors if they occur Maintenance Maintenance Why? Why? Often done by people not connected to program development Often done by people not connected to program development


Download ppt "COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?"

Similar presentations


Ads by Google