Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Announcement!
Quiz #1:
Assignment #1:
Introduction to SW Development
Processes
Lecture 1
Lecture Overview
1. SW Development
Design
Implement
1. SW Development
Waterfall Model
6
1. SW Development
1. SW Development
(1) Identify and Analysis Steps
(2) SW Design Steps
(3) SW Implementation Procedures
(4) Testing, Executing, and Debugging
(5) Maintenance
Purpose
Available resources
Pre-condition
Post-condition
etc
10
Must be precise
May be required to prove end product meets these precise
specifications
CS courses
Small systems
Real world
Large systems
Thousands of lines of
code
Complex
Many components
Problem initially poorly
defined
11
SW design procedures
13
14
Nouns
Data3
Operation1 (funtion1) {
------------------}
Verbs
Operation2 (funtion2) {
------------------}
15
16
Student
17
Class 2 {
Data
Data
Methods
Methods
}
Class n {
Data
Methods
}
18
Build structured
Think of them as
Containers
arrays
structures
class objects
19
Simple
Definite and unambiguous
Finite
Correct and efficient
Well structured
20
10
Example: Pseudocode
21
Insure quality
Verify integration
11
23
Validation test:
"Are we building the right product?"
Verification test:
"Are we building the product right?"
Complete,
24
12
Unit tests
Integration tests
System tests
25
Syntax errors
Run-time errors
Link errors
Difficulty
Logic errors
13
1.5 Maintenance
It can take far more time than the initial development of the
software
Large % of
28
14
Object Models
Analysis Part
Interface Models
Visibility Graphs
Design Part
Class Descriptions
Inheritance Graphs
Programs
Implementation Part
29
Summary
SW design steps
Set maintenance
30
15
Lecture Overview
Process abstraction
Data abstraction
What is ADT?
Object-oriented concept
Object-oriented programming (OOP) features
32
16
1. What is Abstraction?
33
Example: Abstraction
Visual Icons
34
17
1. What is Abstraction?
35
Example: Abstraction
1 +1 + 1 + ,., + 1 = 21
1 +1 + 1 + 1 + 1 + 1 = 6
2 + 3 + ,, + 2 = 21
(3 2 3) + 3 = 21
36
18
1. What is Abstraction?
37
void sortdata(~~)
{
}
int average(~~)
{
}
int search(~~)
{
}
38
19
39
Create(stack)
Destroy(stack)
Empty(stack)
Push(stack, element)
Pop(stack)
Top(stack)
40
20
2. What is ADT?
unit 1
unit 2
41
Data
Operations
21
44
22
23
47
24
49
50
25
Hierarchy
Modularity
Encapsulation
Abstraction
Object Orientation
51
26
Example: Abstraction
Sales Person
Not saying which
salesperson just
a salesperson in
general!!!
Customer
Electronic Product
53
27
55
56
28
Example: Modularity
Order Processing
System
Order
Fulfillment
Billing
58
29
59
30
is-a relationship
Single inheritance
Multiple inheritance
part-of relationship
Aggregation
61
Example: Hierarchy
Asset
Increasing
abstraction
BankAccount
Savings Checking
Decreasing
abstraction
Security
Stock
RealEstate
Bond
31
Summary
Process abstraction
Data abstraction
Object-oriented concept
Object-oriented programming (OOP) features
Meaning of abstraction
Meaning of encapsulation
Meaning of modularity
Meaning of hierarchy
63
Thank You!
Copyright Prof. K. Lee All rights reserved.
32