Upload
lindsey-lucas
View
224
Download
1
Tags:
Embed Size (px)
Citation preview
The Art of Programming
• The process of breaking problems down into smaller, manageable parts
• By breaking the problem down, each part becomes more specific
• These individual solutions are combined to create a solution for the larger problem
Problem Solving
Step 1: Determine what the output should look like
Step 2: Determine the input needed to obtain the output
Step 3: Determine how to process the input to obtain the desired output
Problems with this approach?
One Method: The Problem Solving Approach
Second Approach:Waterfall of Software Development
• Use the problem solving approach (method 1) to define the problem
• Gives a clear idea of what the input looks like
• Defines the relations between the input and the final output
Analyze: Defining the Problem
• Find a logical sequence of precise steps that solve the problem.
• This sequence is called an Algorithm
• Every detail should appear, even the obvious steps
• Flowcharts, pseudo-code, UML Diagrams, and top-down charts can be used to help break the problem into smaller steps
• Test data should be run through the design to test its accuracy
Design: Planning the Solution
• Translate your design algorithm into computer readable code
• The choice of computer language depends on the needs of the program
Code: Translation to Program
• Locate and remove any problems in the code
• Testing is the process of finding the errors in the program: both logic and coding errors
• Debugging is the process of remove the errors found
Test and Debug: Looking for Trouble
• Updating the code to make sure it continues to function properly
• Reducing errors found after the code has been released
• Correcting issues with documentation (user manuals, websites, etc.) released to the public
Maintenance: Keeping it Running
• Documentation is necessary for both understanding code while developing software and conducting maintenance after software has been released
• Documentation can include comments made inside of the code, user manuals, development notes, or original design details.
Documentation: The Key to Understanding
• No going back to previous steps• Perfect code every time! (yeah right…..)
• Assumes everything progresses in a linear fashion• Can only be in one location at any time
• Always start from the beginning every time
Problems With the Waterfall
The Iterative Approach:What Software Dev Really Looks Like
• An English like representation of how the program language should function and mimics what the actual code will do
• Comprised of the words “pseudo” and “code”
• Pseudo meaning almost or imitation
• Code meaning the physical software code
Pseudo-Code: The “Fake” Programming Language
Pseudo-Code:Making a PB and J Sandwich