Kỹ nghệ phần mềm
Software Engeneering
NguyÔn V¨n Vþ
Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email:
[email protected]
Bài 1: Khái niệm về phần mềm
NguyÔn V¨n Vþ
Nội dung
■
■
■
■
■
Phần mềm vμ tÇm quan träng
TiÕn hãa phÇn mÒm vμ th¸ch thøc
Kü nghÖ phÇn mÒm
Tiến tr×nh phần mềm
Chất lượng phần mềm
Bộ môn Công nghệ phần mềm – ĐHCN
2
TÀI LiỆU THAM KHẢO
NguyÔn V¨n Vþ
1.
2.
3.
4.
5.
6.
Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001.
Nguyễn Văn Vỵ. Phân tích thiết kế hệ thống thông tin hiện đại.
Hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002, Hà
Nội.
Bộ môn Công nghệ phần mềm – ĐHCN
3
Phần mềm vµ tÇm quan träng
NguyÔn V¨n Vþ
a. Kh¸i niÖm vÒ phÇn mÒm
PhÇn mÒm gåm 3 phÇn:
Dowhle
Eddo
If than
1. Ch−¬ng tr×nh m¸y tÝnh
End if
M· nguån
wwscklrn
M· m¸y
File.text
2. C¸c cÊu tróc d÷ liÖu
Cấu tróc lμm việc (bé nhí trong)
CÊu tróc l−u tr÷ (bé nhí ngoμi)
Bộ môn Công nghệ phần mềm – ĐHCN
file.exe
file.com
4
Kh¸i niÖm vÒ phÇn mÒm
NguyÔn V¨n Vþ
User’s
guid
PhÇn mÒm gåm 3 phÇn:
3. Các tài liệu liên quan
h−íng dÉn sö dông (ng−êi dïng)
tham kh¶o kü thuËt (ng−êi b¶o tr×)
tμi liÖu ph¸t triÓn (nhμ ph¸t triÓn)
technical
reference
specification,
design, test,
..
Bộ môn Công nghệ phần mềm – ĐHCN
5
Kh¸i niÖm vÒ phÇn mÒm
NguyÔn V¨n Vþ
T¹o sinh c¸c thμnh phÇn
C¸c thμnh phÇn vËn hμnh ®−îc
M· nguån, m· m¸y, cÊu tróc d÷ liÖu: tù ®éng hãa ®−îc
C¸c thμnh phÇn kh«ng vËn hμnh
C¸c phÇn cßn l¹i: hÇu nh− ch−a ®−îc tù ®éng hãa
Nhu cÇu vμ kh¶ n¨ng tù ®éng hãa
Lμm thñ c«ng lμ tÊt yÕu
Mong muèn tù ®éng hãa cμng nhiÒu cμng tèt
Tù ®éng hãa khi cã thÓ h×nh thøc hãa
Lμm tμI liÖu lμ cùc nhäc, nh−ng khã tù ®éng
Bộ môn Công nghệ phần mềm – ĐHCN
6
Vai trß cña phÇn mÒm
NguyÔn V¨n Vþ
PhÇn mÒm - linh hån của c¸c hÖ thèng m¸y tÝnh
Cã vai trß nÒn t¶ng cña mäi ho¹t ®éng x· héi tæ chøc
C¸ nh©n
tæ chøc
quèc gia
phÇn mÒm
Toμn cÇu
Lµm
viÖc,
gi¶i trÝ
S¶n xuÊt,
dÞch vô
®iÒu hµnh,
ph¸t triÓn
Bộ môn Công nghệ phần mềm – ĐHCN
Héi nhËp
Hån siªu, ph¸ch l¹c
bÊt tØnh
7
Vai trß cña phÇn mÒm
NguyÔn V¨n Vþ
Mäi nÒn kinh tÕ phô thuéc rÊt lín vμo phÇn mÒm
Thu, chi tõ phÇn mÒm chiÕm ®¸ng kÓ trong GNP
• 2006 Ên ®é xuÊt gÇn 30 tØ USD phÇn mÒm
• ThÕ giíi cã >7 triÖu kỹ sư CNTT tạo ra 600 tØ $/năm
• Chi phÝ cho phÇn mÒm n¨m 2000 lªn tíi: 770 tØ $
phÇn mÒm sai háng, kinh tÕ tæn thÊt lớn
• vệ tinh Ariane 5 hỏng do lỗi phần mềm (1996) thiệt hại
500 triÖu $. Website dïng 1 ngμy mÊt hμng triÖu $
[Pạnkaj Jalote. CMM in practice, Addison-Wesley, tr.1,3,11]
Bộ môn Công nghệ phần mềm – ĐHCN
8
Vai trß cña phÇn mÒm
NguyÔn V¨n Vþ
PhÇn mÒm t¹o nªn sù kh¸c biÖt gi÷a c¸c tæ chøc:
phong c¸ch
n¨ng suÊt lao ®éng
><
Trêi ¬i !
Bộ môn Công nghệ phần mềm – ĐHCN
ng
Th «
d÷
t i n,
liÖu
TuyÖt vêi !
9
Vai trß cña phÇn mÒm
NguyÔn V¨n Vþ
Ngμy cμng nhiÒu hÖ thèng ®−îc phÇn mÒm ®iÒu
khiÓn, trî gióp
• TÝnh tù ®éng hãa cña c¸c hÖ thèng ngμy mét cao
• Chi phÝ phÇn mÒm >> phÇn cøng
HÖ thèng Chi phần mềm 40
siªu thi - 50 triệu đồng
>>
Chi phần cứng
10 triệu đồng
øng dông phÇn mÒm cã mÆt trªn mäi lÜnh vùc x· héi:
Kinh tÕ, qu©n sù, gi¸o dôc, trß ch¬i,
Game online
Bộ môn Công nghệ phần mềm – ĐHCN
10
§Æc tr−ng cña phÇn mÒm
NguyÔn V¨n Vþ
Kh«ng mßn cò, nh÷ng tho¸i hãa theo thêi gian
M«i tr−êng sö dông, nhu cÇu thay ®æi -> kh«ng dïng
Tû lÖ háng
Lçi ph¸t sinh t¨ng do n©ng cÊp -> qu¸ møc
Lçi ®−a vμo khi söa ®æi
thùc tÕ
®−êng møc
lÝ t−ëng
Thêi gian
§−êng cong tho¸i hãa cña phÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN
11
§Æc tr−ng cña phÇn mÒm
NguyÔn V¨n Vþ
Kh«ng ®−îc l¾p r¸p tõ mẫu cã s½n
Kh«ng cã danh môc chi tiết cho trước
S¶n phÈm ®Æt hμng theo tõng yªu cÇu riªng
Ph©n tÝch
®Æt
hμng 1
LËp tr×nh
Kh¶o s¸t
®Æt
hμng 2
Bộ môn Công nghệ phần mềm – ĐHCN
fÇn mÒm1
ThiÕt kÕ
KiÓm thö
fÇn mÒm2
12
§Æc tr−ng cña phÇn mÒm
NguyÔn V¨n Vþ
Phøc t¹p, khã hiÓu, v« h×nh
PhÇn mÒm lμ hÖ thèng logic khã hiÓu
NhiÒu kh¸i niÖm kh¸c nhau, khã hiÓu
Mèi liªn kÕt lμ l«gic (kh«ng thÊy)
§Ó hiÓu ph¶I t− duy trõu t−îng
Use case
Tr−êng hîp
sö dông − ?
Kh«ng nh×n thÊy
Kh«ng ph¶I vËt thÓ vËt lý
Mçi biÓu diÔn chØ 1 khÝa c¹nh (d÷ liÖu, hμnh vi, cÊu tróc,
giao diÖn), kh«ng ph¶I hÖ thèng tæng thÓ
Bộ môn Công nghệ phần mềm – ĐHCN
13
§Æc tr−ng cña phÇn mÒm
NguyÔn V¨n Vþ
Thay ®æi lμ b¶n chÊt
Lμ m« h×nh thÕ giíi thùc thay ®æi theo thêi gian
M«i tr−êng nghiÖp vô thay ®æi
Nhu cÇu con ng−êi thay ®æi
Thay ®æi ®Ó ®¸p øng ng−êi dïng
Thay ®æi thÝch øng víi m«i tr−êng vËn hμnh
− C¸c hÖ phÇn mÒm nÒn (hÖ ®iÒu hμnh,..)
− ThiÕt bÞ phÇn cøng (chip,..)
Bộ môn Công nghệ phần mềm – ĐHCN
14
§Æc tr−ng cña phÇn mÒm
NguyÔn V¨n Vþ
■ CÇn ph¸t triÓn theo nhãm
Quy m« cμng lín & yªu cÇu kü n¨ng kh¸c nhau
Nhu cÇu bμn giao nhanh
N¨ng suÊt nhãm kh«ng tû lÖ víi sè thμnh viªn
(1 ng−êi giái > 5 lÇn ng−êi trung b×nh)
VÊn ®Ò
Trao ®æi th«ng tin lín (10000 email/ngμy)
Khã kiÓm so¸t vμ ®ång bé
Khã t¨ng tèc ®é = c¸ch thªm ng−êi
C¸ nh©n ¶nh h−ëng lín lªn kÕt qu¶ nhãm
Bộ môn Công nghệ phần mềm – ĐHCN
15
Ph©n lo¹i phÇn mÒm
NguyÔn V¨n Vþ
Ba c¸ch ph©n lo¹i:
1. Theo møc ®é hoμn thiÖn
1
2. Theo chøc n¨ng thùc hiÖn
3. Theo lÜnh vùc øng dông
2
Bộ môn Công nghệ phần mềm – ĐHCN
-
SOFTWARE
3
16
Ph©n lo¹i theo møc hoμn thiÖn
NguyÔn V¨n Vþ
Ch−¬ng tr×nh
1 ng−êi viÕt, 1 ng−êi dïng (ng−êi viÕt ≡ ng−êi dïng)
môc ®Ých thu thËp, xö lý sè liÖu (dïng 1 lÇn)
kh«ng tμi liÖu, kh«ng kiÓm thö triÖt ®Ó
S¶n phÈm phÇn mÒm
nhiÒu ng−êi viÕt, nhiÒu ng−êi dïng
®é phøc t¹p cao, ®ång bé, an toμn, an ninh
Kinh nghiÖm viÕt ch−¬ng tr×nh nhá kh«ng ¸p dông cho
s¶n phÈm lín
Bộ môn Công nghệ phần mềm – ĐHCN
17
Ph©n lo¹i theo møc hoμn thiÖn
NguyÔn V¨n Vþ
Ch−¬ng tr×nh
Yªu tè
ng−êi
dïng
x3
S¶n phÈm
x3
Yªu tè
m«I
tr−êng
cμI ®Æt
x3
Ch−¬ng tr×nh
hÖ thèng
Yªu tè
ng−êi
dïng
x3
S¶n phÈm
hÖ thèng
Tính phức tạp tặng nhanh (9 lÇn) từ :
chương trình -> sản phẩm-> hệ thống
Bộ môn Công nghệ phần mềm – ĐHCN
18
Ph©n lo¹i theo chøc n¨ng
NguyÔn V¨n Vþ
1. PhÇn mÒm hÖ thèng
§iÒu hμnh ho¹t ®éng m¸y tÝnh, thiÕt bÞ & ch−¬ng
tr×nh (OS)
Trî gióp c¸c tiÖn Ých (tæ chøc tÖp, nÐn, dän ®Üa..)
2. PhÇn mÒm nghiÖp vô
Trî gióp c¸c ho¹t ®éng nghiÖp vô kh¸c nhau.
Cã số l−îng lín, ®a d¹ng
Ph©n lμm hai lo¹i theo c¸ch lμm:
Bộ môn Công nghệ phần mềm – ĐHCN
-
19
Ph©n lo¹i theo chøc n¨ng
NguyÔn V¨n Vþ
S¶n phÈm ®Æt hμng
–
–
S¶n xuÊt theo ®¬n ®Æt hμng (HTTT qu¶n lý...)
®¬n chiÕc, yªu cÇu ®Æc thï (nhËn d¹ng)
S¶n phÈm chung (software pakages)
–
–
b¸n réng r·i (office)
tháa m·n yªu cÇu chung sè lín người dïng
Comercial
Comercial
softwware
softwware
Mçi lo¹i cã c¸ch thøc tiÕp cËn riªng, nhÊt lμ ë 1
sè c¸c b−íc
chi phÝ, thêi gian kh¸c nhau
Bộ môn Công nghệ phần mềm – ĐHCN
20