Xem mẫu
- Gi i thi u
công ngh ph n m m
(1)
Nguy n Thanh Bình
Khoa Công ngh Thông tin
Trư ng ð i h c Bách khoa
ð i h c ðà N ng
N i dung
L ch s phát tri n ph n m m và
kh ng ho ng ph n m m ?
Công ngh ph n m m
Khái ni m
M c ñích
Nguyên t c
Ch t lư ng ph n m m
Phân lo i ph n m m
2
1
- L ch s phát tri n ph n m m
1946, máy tính ñi n t ra ñ i
1950, máy tính ñư c thương m i hóa
Ph n m m b t ñ u ñư c phát tri n
Nh ng năm 1960
nh ng th t b i v phát tri n ph n m m
• s n ph m ph n m m ph c t p
• nhi u l i
• t ch c s n xu t: giá thành, ti n ñ , ...
Ngư i ta nói ñ n “Kh ng ho ng ph n m m”
3
L ch s phát tri n ph n m m
T th công ñ n công ngh
• Chương trình nh • D án l n
• không chuyên nghi p • chuyên nghi p
• 1 ngư i làm • nhi u ngư i làm
• ngư i s d ng = ngư i phát tri n • khách hàng & nhà cung c p
• 1 s n ph m = mã ngu n • nhi u s n ph m
• ti n trình phát tri n ñơn gi n • ti n trình phát tri n ph c t p
1968, h i th o khoa h c ñ u tiên v “Công ngh ph n m m”
4
2
- Kh ng ho ng ph n m m
V m t s n ph m
ch t lư ng s n ph m ph n m m
• không ñáp ng yêu c u th c t
• khó s d ng
• không tin c y
• khó b o trì
• khách hàng không hài lòng
5
Kh ng ho ng ph n m m
V m t qu n lý
K ho ch
• không ñánh giá ñúng giá thành
• không ñúng ti n ñ
• chi phí phát tri n / chi phí b o trì
V m t pháp lý
• h p ñ ng không r ràng, không ch t ch
Nhân l c
• ñào t o
• giao ti p
Thi u tiêu chu n ñánh giá s n ph m
Thi u quy trình qu n lý
6
3
- Kh ng ho ng ph n m m
ði u tra c a General Acounting Office
(1982) trên nhi u s án v i t ng v n ñ u tư
$68.000.000
Không giao s n ph m: 29%
Không ñư c s d ng: 47%
B cu c: 19%
ðư c s d ng sau khi ñã ch nh s a: 3%
T t: 2%
7
Kh ng ho ng ph n m m
8
4
- Công ngh ph n m m
Khái ni m
Công ngh ph n m m
nghiên c u và phát tri n các phương pháp,
kĩ thu t và công c nh m xây d ng các
ph n m m m t cách kinh t , có ñ tin c y
cao và ho t ñ ng hi u qu
thi t k , xây d ng, và b o trì các ph n m m
ph c t p, b n v ng và ch t lư ng
9
Công ngh ph n m m
M c ñích
M c ñích
áp d ng th c t
• các ki n th c khoa h c,
• các nguyên t c kinh t ,
• các nguyên t c qu n lí,
• các k thu t và công c thích h p
ñ s n xu t và b o trì các ph n m m nh m b o ñ m
4 yêu c u (FQCD):
• ph n m m t o ra ph i ñáp ng ñư c yêu c u ngư i s
d ng
• ph n m m ph i ñ t ñư c các tiêu chu n v ch t lư ng
• giá thành ph i n m trong gi i h n ñ t ra
• ti n ñ xây d ng ph n m m ph i ñ m b o
10
5
- Công ngh ph n m m
Nguyên t c
Các nguyên t c cơ b n
Ch t ch (rigor and formality)
Chia nh (separation of concerns)
Mô-ñun hóa (modularity)
Tr u tư ng (abstraction)
Phòng ng a s thay ñ i (anticipation of
change)
T ng quát hóa (generality)
Gi i quy t t ng bư c (incrementality)
11
Công ngh ph n m m
Nguyên t c
Ch t ch (rigor and formality)
s d ng mô hình lý thuy t và toán h c
áp d ng cho t t c các bư c, t t c các s n
ph m
Ví d
• “ch n z là giá tr l n nh t c a x và y”
• z = max(x, y)
12
6
- Công ngh ph n m m
Nguyên t c
Chia nh (separation of concerns)
Làm ch ñ ph c t p
• ch t p trung m t lĩnh v c cùng m t lúc
Chia v n ñ thành các ph n nh hơn
• Gi i quy t m t ph n nh s ñơn gi n hơn
• “chia ñ tr ” (divide and conquer)
Có th chia nh theo
• th i gian: l p k ho ch
• khái ni m: giao di n / thu t toán
• x lý: chia các x lý con
13
Công ngh ph n m m
Nguyên t c
Mô-ñun hóa (modularity)
Chia nh ñ ph c t p
• d hi u
• d qu n lý các h th ng ph c t p
Quan h m t thi t v i nguyên t c “chia nh ”
Các phương pháp mô-ñun hóa
• chi n lư c t trên xu ng (top-down)
• chi n lư c t dư i lên (bottom-up)
Ch t lư ng c a mô-ñun hóa
• liên k t l ng l o (low coupling)
• k t c cao (high cohesion)
14
7
- Công ngh ph n m m
Nguyên t c
Tr u tư ng (abstraction)
Lo i b nh ng gì không quan tr ng
Ch xem xét các y u t quan tr ng
S d ng các mô hình
• mô hình cho ngư i s d ng
• mô hình cho ngư i phát tri n
Ví d
• ngôn ng l p trình / c u trúc ph n c ng
• xây d ng tài li u
• ñ c t b i ñi u ki n trư c và sau
15
Công ngh ph n m m
Nguyên t c
Phòng ng a s thay ñ i (anticipation of
change)
ph n m m là s n ph m thư ng xuyên ph i
thay ñ i
d báo các y u t có th thay ñ i
• nh hư ng có th
các thay ñ i thư ng g p
• trong ñ c t yêu c u
• trong ng c nh s d ng
• kh năng v công ngh
16
8
- Công ngh ph n m m
Nguyên t c
T ng quát hóa (generality)
xem xét v n ñ trong ng c nh t ng quát
gi i quy t v n ñ l n hơn
m c ñích
• tái s d ng d dàng
• có th s d ng các công c có s n
• s d ng design patterns
• chi phí có th tăng cao
17
Công ngh ph n m m
Nguyên t c
Gi i quy t t ng bư c (incrementality)
Nguyên t c
• xác ñ nh m t ph n (t p con)
• phát tri n
• ñánh giá
• b tñ ul i
Áp d ng cho
• phát tri n m t s n ph m
• mô ñ c t / m t ki n trúc / ...
• mô hình phát tri n
• mô hình l p
18
9
- Ch t lư ng ph n m m
Tính ñúng ñ n (correctness)
th c hi n ñúng các ñ c t v ch c năng
(functional specification)
Tính tin c y (reliability)
ñáp ng ñư c nh ng yêu c u ñ t ra
Tính b n v ng (robustness)
ho t ñ ng t t trong nh ng ñi u ki n s d ng
khác nhau
19
Ch t lư ng ph n m m
Tính hi u qu (efficiency)
s d ng hi u qu các ngu n tài nguyên (b
nh , CPU, ...)
Tính thân thi n (user friendlyness)
d s d ng
Tính d ki m tra (verifiability)
d ki m tra ch t lư ng
20
10
- Ch t lư ng ph n m m
Tính d b o trì (maintainability)
d xác ñ nh và s a l i
d t o ra nh ng phiên b n m i khi có s m
r ng
Tính tái s d ng (reusability)
d tái s d ng trong nh ng ph n m m m i
Tính kh chuy n (portability)
d s d ng trong các môi trư ng m i
21
Ch t lư ng ph n m m
Tính d hi u (understandability)
d hi u ñ i v i ngư i s d ng cũng như ñ i
v i ngư i phát tri n
Tính h p tác (interoperability)
d h p tác v i các ph n m m khác
S n xu t hi u qu (productivity)
ti n trình s n xu t ph n m m ph i hi u qu
22
11
- Ch t lư ng ph n m m
Kh năng giao s n ph m ñúng h n
(timeliness)
giao s n ph m theo t ng gói
Tính trong su t (visibility)
ñ i v i ngư i phát tri n/ngư i qu n lý
• hi u r ti n ñ phát tri n
• hi u r nh hư ng c a các quy t ñ nh
ñ i v i khách hàng
• hi u r ti n ñ phát tri n
• hi u r nh hư ng c a các quy t ñ nh
23
Ch t lư ng ph n m m
S th a hi p gi a các tiêu chu n ch t
lư ng
tính thân thi n / tính b n v ng
tính kh chuy n / tính hi u qu
24
12
- Phân lo i ph n m m
Các h th ng thông tin (Information Systems)
qu n lý thông tin
cơ s d li u + giao tác
Các h th ng th i gian th c (Real-Time
System)
các h th ng khi ho t ñ ng c n ph i tr l i
các s ki n v i m t th i gian ñư c quy ñ nh
nghiêm ng t
25
Phân lo i ph n m m
Các h th ng phân tán (Distributed Systems)
m ng máy tính
phân tán d li u
phân tán x lí
Các h th ng nhúng (Emmbedded Systems)
giao ti p v i các h th ng/m ch ñi n t
26
13
nguon tai.lieu . vn