Software Development Method Topics Software Development Life Cycle Reading

advertisement
Software Development Method
Topics

Software Development Life Cycle
Reading

Section 1.4 – 1.5
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
1
Problem 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 problemsolving strategies, techniques, and
tools.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
2
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.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
3
Software Development Life Cycle
•
•
•
•
•
•
•
Requirements specification
Analysis
Design
Implementation
Testing and verification
Documentation
Maintenance and Enhancement
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
4
The Problem - QuikTax
The 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 1999.”
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
5
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.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
6
Analysis
• In this phase we identify:
– Inputs to the problem and their form
– Outputs expected from the solution
and their form
– Special Constraints
– Assumptions
– Formulas
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
7
Inputs
• What items must be provided to be able
to get a solution?
– Taxable income
$0.00 to $1,000,000,000.00
– Filing status
Single, Married/Jointly,
Married/Separate, Head of household
– Number of dependents
0 - 99
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
8
Output
• Intermediate results
• Final results
– Completed tax information
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
9
Constraints
• 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
values
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
10
Assumptions
Problem deals in $US
 Only for 1999
 What’s implied by the Requirements?

CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
11
Formulas
• For income tax, it is the tax tables.
• For determining the area, it is
length x width
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
12
Grades
• For grades, it is:
>=90.0%
80.0% - <90.0%
70.0% - <80.0%
60.0% - <70.0%
<60.0%

A
B
C
D
F
Notice there can be no gaps between grades,
B is less than where the starts, not 89.9%,
otherwise what is 89.99%?
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
13
Design
• 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 forty percent of the
effort.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
14
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 ten per
cent of the effort.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
15
Implementation Errors
• Design errors
• Could have used the wrong formula.
• Syntax errors
• Did not write the code as required by the
programming language.
• Run-time errors
• Divide by zero.
• Calculated a number that violated a constraint.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
16
Testing 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!
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
17
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
CMSC 104, Version
8/06
L07SoftwareDevelopmentMethod.ppt
program
18
Maintenance 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 credits.
CMSC 104, Version 8/06
L07SoftwareDevelopmentMethod.ppt
19
Download