DOC PREVIEW
UMBC CMSC 104 - Algorithms II

This preview shows page 1-2-3-4-5-6 out of 19 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Algorithms IIProblem SolvingWhy Use ComputersSoftware Development Life CycleSlide 5The Problem - QuikTaxRequirements SpecificationsAnalysisInputsOutputConstraintsAssumptionsFormulasDesignImplementationImplementation ErrorsTesting and VerificationDocumentationMaintenance and EnhancementAlgorithms IISoftware Development Life-CycleCMSC104Section 301 Fall 2005Problem 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.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.Software Development Life Cycle•Requirements Specification•Analysis•Design•Implementation•Testing and Verification•Documentation•Maintenance and EnhancementRequirements SpecificationAnalysisDesignImplementationTesting and VerificationDocumentationMaintenance and EnhancementThe Problem - QuikTaxThe 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 2006.”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.Analysis•In this phase we identify:–Inputs to the problem and their form–Outputs expected from the solution and their form–Special Constraints–Assumptions–FormulasInputs•What items must be provided to be able to get a solution?–Taxable income$0.00 to $1,000,000,000.00–Filing statusSingle, Married/Jointly, Married/Separate, Head of household–Number of dependents0 - 99Output•Intermediate results•Final results–Completed tax informationConstraints•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 valuesAssumptionsProblem deals in $USOnly for 2006What’s implied by the Requirements?Formulas•For income tax, it is the tax tables.•For determining the area, it islength x width•For grades, it is:>90.0% A80.0% - 89.99% B70.0% - 79.99% C60.0% - 69.99% D>60.0% FDesign•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 40% of the effort.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 10% of the effort.Implementation Errors•Design errors•Syntax errors•Run-time errorsTesting 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!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 programMaintenance 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


View Full Document

UMBC CMSC 104 - Algorithms II

Download Algorithms II
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Algorithms II and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Algorithms II 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?