Professional Documents
Culture Documents
CH 1 in Data Structure
CH 1 in Data Structure
Nell Dale
Chapter 1
Software Engineering Principles
1
Software Design Process
2
Programming Life Cycle
Activities
● Problem analysis understand the problem
● Hardware.
● Software
● Ideaware (focus of the course!): the
shared body of knowledge that
programmers have collected over
time, including algorithms, data
structures, programming
methodologies, tools…
5
An Algorithm Is . . .
6
Goals of Quality Software
● It works.
● It can be read and understood.
● It can be modified.
● It is reusable.
7
Specification:
Understanding the Problem
● Outputs
● Processing requirements
● Assumptions
9
Program Design
10
Abstraction
11
Information Hiding
12
Two Approaches to Building
Manageable Modules
FUNCTIONAL OBJECT-ORIENTED
DECOMPOSITION DESIGN
Print Heading
14
Object-Oriented Design
A technique for developing a program in which
the solution is expressed in terms of objects --
self- contained entities composed of data and
operations on that data.
cin cout
>> <<
ignore
15
More about OOD
● Languages supporting OOD include: C++, Java,
Smalltalk, Eiffel, and Object-Pascal, C, …
16
Verification of Software
Correctness
• Testing
• Debugging
• Program verification
17
Program Verification
18
Verification vs. Validation
19
Program Testing
● Testing is the process of executing a
program with various data sets
designed to discover errors.
DATA SET 1
DATA SET 2
DATA SET 3
DATA SET 4
...
20
Origin of Bugs
22
Robustness
23
An Assertion
● Is a logical proposition that is either true or
false (not necessarily in C++ code).
EXAMPLES
studentCount is greater than 0
sum is assigned && count > 0
response has value ‘y’ or ‘n’
partNumber == 5467
24
Preconditions and Postconditions
● The precondition is an assertion describing
what a function requires to be true before
beginning execution.
28
Integration Testing
Print Heading
29
Practical Considerations
30
Life-Cycle Verification
Activities:
● Analysis
● Design
● Code
● Test
● Delivery
● Maintenance
It's From
Bekham To All 31