Xem mẫu
- Ch ng 3
Ch
Software Engineering
3.1 L ch s ti n tri n Công ngh h c ph n m m
3.2
3.2 S ti n tri n c a các ph ng pháp thi t k ph n m m
3.3 nh ngh a Công ngh h c ph n m m
3.4 Vòng i c a ph n m m
3.5 Quy trình phát tri n ph n m m
Nhuongld. Software Engineering, 2007
- 3.1
3.1 L ch s ti
ti n tri n c a CNHPM
Na u 1960:
Ít quan tâm n ph n m m, ch y u t p trung nâng cao tính
n ng và tin c y c a ph n c ng
Gi a nh ng n m 1960:
Phát tri n h i u hành nh ph n m m l n (IBM OS/360, EC
OS). Xu t hi n nhu c u v quy trình phát tri n ph n m m l n
và quy trình g l i, ki m th trong ph m vi gi i h n
Nhuongld. Software Engineering, 2007
- L ch s ti
ti n tri n c a CNHPM (ti p)
N m 1968: T i Tây c, H i ngh khoa h c c a NATO ã a
ra t “Software Engineering”. B t u bàn lu n v kh ng
kho ng ph n m m và xu h ng hình thành CNHPM nh mt
chuyên môn riêng
N a cu i 1960: IBM a ra chính sách phân bi t giá c gi a
ph n c ng và ph n m m. T ó, ý th c v ph n m m ngày
càng cao. B t u nh ng nghiên c u c b n v ph ng pháp
lu n l p trình
Nhuongld. Software Engineering, 2007
- L ch s ti
ti n tri n c a CNHPM (ti p)
u nh ng n m 1970: Nh m nâng cao ch t l ng
Na
ph n m m, không ch có các nghiên c u v l p trình, ki m
th , mà có c nh ng nghiên c u m b o tính tin c y trong
quy trình s n xu t ph n m m. K! thu t: l p trình c u trúc
hóa, l p trình mô un, thi t k c u trúc hóa, vv
Gi a nh ng n m 1970: H i ngh qu"c t u tiên v
CNHPM
CNHPM c t# ch c (1975): International Conference on
SE (ICSE)
Nhuongld. Software Engineering, 2007
- L ch s ti n tri n c a CNHPM (ti p)
N a sau nh ng n m 1970: Quan tâm n m i pha trong
quy trình phát tri n ph n m m, nh ng t p trung chính $
nh ng pha u. ICSE t# ch c l n 2, 3 và 4 vào 1976, 1978
và 1979
Nh t B n có “K ho ch phát tri n k! thu t s n xu t ph n
m m” t n m 1981
Cu c “cách tân s n xu t ph n m m” ãbt u trên
ph m vi các n c công nghi p
Nhuongld. Software Engineering, 2007
- L ch s ti
ti n tri n c a CNHPM (ti p)
u nh ng n m 1980: Trình h c v n và ng d%ng
Na
CNHPM c nâng cao, các công ngh c chuy n vào
th c t . Xu t hi n các s n ph&m ph n m m và các công c%
khác nhau làm t ng n ng su t s n xu t ph n m m áng k
ICSE
ICSE t# ch c l n 5 và 6 n m 1981 và 1982 v i trên 1000
ng i tham d m i n m
Nh t B n sang “K ho ch phát tri n các k! thu t b o trì
ph n m m” (1981-1985)
Nhuongld. Software Engineering, 2007
- L ch s ti
ti n tri n c a CNHPM (ti p)
n nay: T h c v n sang
N a cu i nh ng n m 1980
nghi p v%! Ch t l ng ph n m m t p trung ch y u $ tính
n ng su t, tin c y và tính b o trì. Nghiên c a h tr t
ng hóa s n xu t ph n m m
Nh t B n có “K ho ch h th"ng công nghi p hóa s n xu t
ph n m m” (SIGMA: Software Industrialized Generator &
Maintenance Aids, 1985-1990)
Nhi u trung tâm, vi n nghiên c u CNHPM ra i. Các
tr ng a vào gi ng d y SE
Nhuongld. Software Engineering, 2007
- Hi
Hi n nay
Công nghi p hóa s n xu t ph n m m b ng cách a nh ng
k! thu t công ngh h c (Engineering techniques) thành c s$
khoa h c c a CNHPM
Th ch hóa lý lu n trong s n xu t ph n m m và ng d%ng
nh ng ph ng pháp lu n m t cách nh t quán
T ng c ng nghiên c u và t o công c% tr giúp s n xu t
ph n m m
Nhuongld. Software Engineering, 2007
- 3.2 S ti n tri n c a các ph
3.2 ti ng pháp thi t k PM
PM
Ph ng pháp lu n trong CNHPM: b t u t nh ng n m 1970
Trong phát tri n ph n m m:
Nâng cao n ng su t (productivity)
tin c y (Reliability)
Giá
Giá thành - tính n ng (Cost-performance)
Ti n tri n ph ng pháp thi t k :
S kh$i, Tr $ng thành,
Phát tri n và Bi n #i
Nhuongld. Software Engineering, 2007
- S k h i: n a
kh u 1970
Khái ni m v tính mô un, c% th hóa t ng b c trong
ph ng pháp lu n thi t k ra i
N. Wirth: Chi ti t hóa t ng giai o n.
Thi t k trên xu"ng.
L p trình mô un
Nhuongld. Software Engineering, 2007
- Tr ng thành: n a cu i 1970
Tr
Ph ng pháp lu n v quy trình thi t k ph n m m v i ph ng
pháp phân chia mô un và thi t k trong t ng mô un.
L.L. Constantine, 1974: Thi t k c u trúc hóa (phân chia
mô un);
E.W. Dijkstra, 1972: L p trình c u trúc hóa (trong mô un) .
Ph ng pháp M.A.Jackson (1975) và J.D.Warnier (1974)
Tr u t ng hóa d li u: B.H. Liskov (1974);D.L.Parnas (1972)
Nhuongld. Software Engineering, 2007
- Phát
Phát tri n: n a u 1980
Tri n khai các công c% h tr phát tri n ph n m m d a trên
các ph ng pháp và k! thu t a ra nh ng n m 1970
B kh$i t o ch ng trình (Program generators: Pre-
compiler; graphics-input editors, etc.)
Ngôn ng "i tho i n gi n (4GL, DB SQL)
H tr giúp: H tr giúp ki m th ; H tr giúp qu n lý th
vi
vi n; H tr giúp tái s d%ng
Nhuongld. Software Engineering, 2007
- Bi
Bi n i: n a cu i 1980
1980 n nay
a ra các môi tr ng m i v phát tri n ph n m m. Tri n
khai m i v k t h p gi a CNHPM và CNH Tri th c
(Knowledge Engineering)
Tri n khai nh ng môi tr ng b c cao v phát tri n ph n
m m; T ng hóa s n xu t ph n m m; Ch ph n m m theo
k! thu t ch th (Prototyping); L p trình h ng "i t ng -
OOP; H ng thành ph n; H tr phát tri n ph n m m t các
h chuyên gia, vv
Nhuongld. Software Engineering, 2007
- Hình
Hình thái s n xu t Ph n m m
a ra các k! thu t ph ng pháp lu n
ng d%ng th c t vào t ng quy trình
C i biên bi n #i vào t ng s n ph&m và
công c% ph n m m máy tính hóa t ng ph n
công
T#ng h p h th"ng hóa cho t ng lo i công c%
Máy tính hóa toàn b quy trình s n xu t ph n m m
H ng t i s n xu t ph n m m t ng
Nhuongld. Software Engineering, 2007
- 3.3 nh ngh a Công ngh h c ph n m m
ngh
3.3
Bauer [1969]: CNHPM là vi c thi t l p và s d%ng các
nguyên t c công ngh h c úng n dùng thu c ph n
m m m t cách kinh t v a tin c y v a làm vi c hi u qu trên
các máy th c
Parnas [1987]: CNHPM là vi c xây d ng ph n m m nhi u
phiên b n b$i nhi u ng i
Ghezzi [1991]: CNHPM là m t l nh v c c a khoa h c máy
tính, liên quan n xây d ng các h th"ng ph n m m v a l n
v a ph c t p b$i m t hay m t s" nhóm k! s
Nhuongld. Software Engineering, 2007
- 3.3 nh ngh a Công ngh h c ph n m m (ti p)
ngh
3.3
IEEE [1993]: CNHPM là
(1) vi c áp d%ng ph ng pháp ti p c n có h th"ng, bài b n
và cl ng hóa trong phát tri n, v n hành và b o trì
ph n m m;
(2) nghiên c u các ph ng pháp ti p c n c dùng trong
(1)
Pressman [1995]: CNHPM là b môn tích h p c quy trình, các
ph ng pháp, các công c phát tri n ph n m m máy tính
Nhuongld. Software Engineering, 2007
- 3.3 nh ngh a Công ngh h c ph n m m (ti p)
ngh
3.3
Sommerville [1995]: CNHPM là l nh v c liên quan n lý
thuy t, ph ng pháp và công c% dùng cho phát tri n ph n
mm
K. Kawamura [1995]: CNHPM là l nh v c h c v n v các k!
thu t, ph ng pháp lu n công ngh h c (lý lu n và k! thu t
c hi n th c hóa trên nh ng nguyên t c, nguyên lý nào
ó) trong toàn b quy trình phát tri n ph n m m nh m nâng
cao c ch t và l ng c a s n xu t ph n m m
Nhuongld. Software Engineering, 2007
- 3.3 nh ngh a Công ngh h c ph n m m (ti p)
ngh
3.3
Công ngh h c ph n m m là l nh v c khoa h c v các
ph ng pháp lu n, k thu t và công c tích h p trong quy
trình s n xu t và v n hành ph n m m nh m t o ra ph n m m
v i nh ng ch t l ng mong mu n
[Software Engineering is a scientìic field to deal with
methodologies, techniques and tools integrated in software
production-maintenance process to obtain software with
desired qualities]
Nhuongld. Software Engineering, 2007
- Công ngh
Công ngh h c trong CNHPM ?
(1) Nh các ngành công ngh h c khác, CNHPM c'ng l y các
ph ng pháp khoa h c làm c s$
(2) Các k! thu t v thi t k , ch t o, ki m th và b o trì ph n
mm ã c h th"ng hóa hóa thành ph ng pháp lu n và
hình thành nên CNHPM
(3) Toàn b quy trình qu n lý phát tri n ph n m m g n v i khái
ni m vòng i ph n m m, c mô hình hóa v i nh ng k!
thu t và ph ng pháp lu n tr$ thành các ch khác nhau
trong CNHPM
Nhuongld. Software Engineering, 2007
- Công
Công ngh h c trong CNHPM ? (ti p)
(4) Trong vòng i ph n m m không ch có ch t o mà bao g(m
c thi t k , v n hành và b o d ng (tính quan tr ng c a
thi t k và b o d ng)
(5) Trong khái ni m ph n m m, không ch có ch ng trình mà
c t li u v ph n m m
(6) Cách ti p c n công ngh h c (khái ni m công nghi p hóa)
th hi n $ ch nh m nâng cao n ng su t (tính n ng su t) và
tin c y c a ph n m m, (ng th i gi m chi phí giá thành
Nhuongld. Software Engineering, 2007
nguon tai.lieu . vn