Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 2: Kỹ nghệ phần mềm

SE là thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để được phần mềm 1 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

SE là nguyên lý kỹ nghệ liên quan đến tất cả các mặt lý thuyết, phương pháp và công cụ của phần mềm

pdf50 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1562 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 2: Kỹ nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ƒ ®Æc t¶ yªu cÇu (kiÕn tróc, giao diÖn, xö lý, d÷ liÖu)
Bộ môn Công nghệ phần mềm – ĐHCN 22
NguyễnVănVỵ
Ph¸t triÓn
T¹o ra phÇn mÒm nh− thÕ nµo?
  ThiÕt kÕ (design)
dÞch yªu cÇu thμnh b¶n thiÕt kÕ HT nh− nã tån t¹i
(m«i tr−êng, kiÕn tróc, d÷ liÖu, xö lý, giao diÖn)
  M∙ hãa (coding)
ChuyÓn thiÕt kÕ thμnh ch−¬ng tr×nh (cña1 ng«n ng÷)
  KiÓm thö (testing)
söa lçi, hoμn thiÖn ch−¬ng tr×nh (kiÓm thö ®¬n vÞ, tÝch hîp, 
hÖ thèng, chÊp nhËn), lμm tμi liÖu
Bộ môn Công nghệ phần mềm – ĐHCN 23
NguyễnVănVỵ
VËn hμnh, b¶o tr×
Hßan thiÖn hÖ thèng sau khi ®−a vµo ho¹t ®éng?
  Söa lçi: ®Ó vËn hμnh th«ng suèt
  ThÝch nghi: víi m«i tr−êng (kü thuËt, nghiÖp vô) 
®· thay ®æi ®Ó ho¹t ®éng hiÖu qu¶
  N©ng cao: Hoμn thiÖn chøc n¨ng, ph¸t triÓn dù
phßng
  Thªm míi: thªm c¸c chøc n¨ng míi
Bộ môn Công nghệ phần mềm – ĐHCN 24
NguyễnVănVỵ
TiÕn tr×nh phÇn mÒm
„ TiÕn tr×nh phÇn mÒm (software process) lμ mét tËp 
c¸c ho¹t ®éng cã cÊu tróc nh»m ph¸t triÓn vμ tiÕn 
hãa 1 phÇn mÒm 
„ Mét tiÕn tr×nh cô thÓ ph¶i tr¶ lêi ®−îc c¸c c©u hái: lμm 
g×? khi nμo? ai lμm? nh− thÕ nμo? b»ng g×? ë ®©u? 
kÕt qu¶? tiªu chÝ ®¸nh gi¸?
§Æc tr−ng
G¾n víi mçi dù ¸n
Cã cÊu tróc x¸c ®Þnh (c«ng viÖc, tr×nh tù, c«ng cô, 
ph−¬ng ph¸p )
S¶n phÈm cuèi cïng lμ phÇn mÒm bμn giao 
Bộ môn Công nghệ phần mềm – ĐHCN 25
NguyễnVănVỵ
TiÕn tr×nh phÇn mÒm
C¸c ho¹t ®éng chÝnh cña mäi tiÕn tr×nh
ƒ X¸c ®Þnh yªu cÇu: ®Þnh râ yªu cÇu sản phẩm
ƒ Ph¸t triÓn: t¹o ra sản phẩm 
ƒ ThÈm ®Þnh: phÇn mÒm ®¸p øng ®−îc yªu cÇu kh«ng?
ƒ TiÕn hãa phÇn mÒm: thay ®æi nh»m ®¸p øng yªu cÇu 
thay ®æi (người dïng, m«i trường)
X¸c ®Þnh 
yªu cÇu
Ph¸t 
triÓn
ThÈm 
®Þnh
TiÕn 
hãa
vÊn ®Ò, 
mong 
®îi PhÇn 
mÒm
file.exe
Bộ môn Công nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
TiÕn tr×nh phÇn mÒm
1. X¸c định yªu cầu (Requirements)
KHÁCH HÀNG
Khã kh¨n hệ
thèng thùc, 
mong ®îi vÒ 
hÖ phần mềm §Æc t¶ yªu 
cÇu phÇn 
mÒm
®éi ph¸t triÓn
Bộ môn Công nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
ƒ Chức n¨ng hệ
thống
ƒ Rµng buộc 
hệ thống
TiÕn tr×nh phÇn mÒm
2. Ph¸t triển phần mềm (Development)
ĐÆc t¶ yªu 
cÇu
X¸c định yªu cầu
®éi ph¸t triÓn
HÖ thèng 
phÇn mÒm 
vËn hµnh 
®óng
file.exe
file.com
Bộ môn Công nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
TiÕn tr×nh phÇn mÒm
3. ThÈm ®Þnh phần mềm (Validation)
HÖ thèng 
phÇn mÒm 
vËn hµnh 
®óng
file.exe
file.com
Ph¸t triÓn Ng−êi dïng
HÖ thèng 
phÇn mÒm 
®¸p øng yªu 
cÇu
file.exe
file.com
Bộ môn Công nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
4. TiÕn hãa phần mềm (Evolution)
®éi ph¸t triÓn
ThÈm ®Þnh
HÖ thèng 
phÇn mÒm 
®¸p øng yªu 
cÇu
file.exe
file.com
HÖ thèng 
phÇn mÒm 
®−îc tiÕn 
hãa
file.exe
file.com
file.com
m«i tr−êng thay ®æi
TiÕn tr×nh phÇn mÒm
Bộ môn Công nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
M« h×nh tiÕn tr×nh phÇn mÒm
„ M« h×nh tiÕn tr×nh (software process model) lμ
c¸ch biÓu diÔn trõu t−îng tiÕn tr×nh phÇn mÒm theo 
c¸ch nh×n cô thÓ.
C«ng việc 1
C«ng việc 2
Công việc 1.1.1
C«ng việc 1.1
Công việc 1.2
Công việc 2.1
Công việc 2.1.1
TIẾN TRÌNH CỤ THỂ
Giai đoạn 1 Giai đoạn 2 Giai đoạn 3
MÔ HÌNH TIẾN TRÌNH
Bộ môn Công nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
Chi phÝ cña kü nghÖ phÇn mÒm
¾ Chi phÝ kü nghÖ phÇn mÒm: lμ c¸c 
kho¶n chi liªn quan ®Õn toμn bé sù ph¸t triÓn 
¾ Chi phÝ phô thuéc:
ƒ Lo¹i hÖ thèng (®¬n gi¶n, phøc t¹p)
ƒ Yªu cÇu ®Æt ra (nhiÒu, Ýt, cao, thÊp)
ƒ Møc ®é hoμn thiÖn (hiÖu n¨ng, ®é tin c©y, an toμn,..)
ƒ N¨ng lùc cña tæ chøc (nh©n lùc, c«ng nghÖ, c«ng 
cô, kü n¨ng cã ®−îc)
ƒ Lo¹i tiÕn tr×nh sö dông
Bộ môn Công nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
Chi phÝ cña kü nghÖ phÇn mÒm
Chi phí phát triển tiến hóa
đặc tả thiết kế phát triển kiểm thử tích hợp
0 25 50 75 100
Phân bố chi phí phát triển (nãi chung)
26 23 3813
đặc tả phát triển tiến hóa kiểm thử hệ thống
0 25 50 75 100
10 60 30
Bộ môn Công nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
Chi phÝ cña kü nghÖ phÇn mÒm
Chi phÝ hÖ cã vßng ®êi dμi
phát triển hệ thống tiến hóa hệ thống
0 25 50 75 100
25 75
đặc tả phát triển kiểm thử hệ thống
0 25 50 75 100
chi phí phát triển sản phẩm trùc tuyÕn
35 578
Bộ môn Công nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
Quy m« phÇn mÒm
„ KÝch cì phÇn mÒm ¶nh h−ëng lín ®Õn chi phÝ
„ KÝch cì th−êng ®o b»ng sè dßng lÖnh
„ KÝch cì phÇn mÒm phô thuéc:
• Bμi to¸n
• ThiÕt kÕ
• Ng«n ng÷ lËp tr×nh (& tr×nh ®é ng−êi lËp)
¾Víi cïng thiÕt kÕ, dïng ng«n ng÷ kh¸c nhau 
cho kÝch cì kh¸c nhau 
Bộ môn Công nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Sè ®o ng«n ng÷
Ng«n ng÷ Dßng lÖnh/chøc n¨ng
Assembly
C
FORTRAN 77
COBOL 85
Ada 83
C++
Ada 95
Java
Visual Basic
SQL
320
128
105
91
71
56
55
55
35
?
„Mçi ng«n ng÷ cã 1 
n¨ng lùc thÓ hiÖn 
„ Chän ng«n ng÷ tèt 
sÏ gi¶m kÝch cì
Bộ môn Công nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
PhÇn mÒm kü nghÖ tèt
„ PhÇn mÒm kü nghÖ tèt ®−îc xÐt theo quan 
®iÓm nhμ ph¸t triÓn
„ Thuéc tÝnh phÇn mÒm cÇn cã:
• TÝnh b¶o tr× ®−îc
• TÝnh ®¸ng tin cËy
• TÝnh hiÖu qu¶
• TÝnh tiÖn dông
• Gi¸ c¶ ph¶i ch¨ng
• Mét sè tiªu chÝ kh¸c
møc 
−u
tiªn
Bộ môn Công nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
TÝnh b¶o tr× ®−îc
 KiÕn tróc tèt: kÕt dÝnh chÆt, ghÐp nèi láng (dÔ ®äc, dÔ 
söa, dÔ ph¸t triÓn, ¶nh h−ëng côc bé)
 cμi ®Æt b»ng ng«n ng÷ bËc cao (dÔ ®äc, viÕt nhanh)
 tμi liÖu ®Çy ®ñ, tèt (dÔ theo dâi, dÔ hiÓu, cã c¬ së söa,..)
 Cã tuæi thä cao, phô vô nhiÒu
 Chi phÝ b¶o tr× thÊp Æ cho hiÖu qu¶
"PhÇn mÒm lu«n cã yªu cÇu söa ®æi“
§Ó söa ®æi (b¶o tr×) ®−îc phÇn mÒm cÇn:
Bộ môn Công nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
§¸ng tin cËy
„ §¸p øng ®−îc nhu cÇu ng−êi sö dông
 §¶m b¶o c¸c chøc n¨ng cÇn
 ¤n ®Þnh, thêi gian lμm viÖc kh«ng lçi lín
 Cho kÕt qu¶ x¸c ®¸ng
„ PhÇn mÒm cã Ýt khiÕm khuyÕt vÒ:
 lçi lËp tr×nh
 lçi ph©n tÝch, thiÕt kÕ: sai, thiÕu chøc n¨ng, 
 ho¹t ®éng kh«ng hiÖu qu¶
Bộ môn Công nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
TÝnh hiÖu qu¶
„ Kh«ng sö dông l·ng phÝ tμi nguyªn phÇn cøng
§Ó tèi −u hãa cÇn:
 §ßi hái bé nhí lín
 §ßi hái tèc ®é cao
 ChiÕm kh«ng gian ®Üa lín,...
 dïng ng«n ng÷ bËc thÊp
 truy cËp trùc tiÕp ®Õn thiÕt bÞ
 sö dông thuËt to¸n viÕt gän
Cần tối ưu 
hợp lý
dÔ dÉn tíi khã b¶o tr×, gi¸ thµnh cao.
Bộ môn Công nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
TiÖn dông, tinh vi
„ Giao diÖn phï hîp víi tr×nh ®é cña ng−êi dïng
„ Häc nhanh, nhí l©u, dÔ thao t¸c
„ Cã ®ñ tμi liÖu & nhiÒu tiÖn Ých, trî gióp th«ng minh
Giao diện quyÕt ®Þnh thμnh c«ng cña s¶n phÈm
Bộ môn Công nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
CÇn c©n ®èi, tháa hiÖp gi÷a c¸c yªu cÇu
• Khã tèi −u ®ång thêi c¸c thuéc tÝnh
gi¸ c¶, hiÖu qu¶ >>> <<< dÔ b¶o tr×, sö dông, sù tinh vi
 Chi phÝ cho tèi −u kh«ng tuyÕn tÝnh (lμ hμm mò)
Gi¸ c¶ hîp lý
hiÖu n¨ng
g
i
¸
t
h
μ
n
h
Chi phÝ bá ra
HiÖu suÊt ®¹t
Bộ môn Công nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Kü nghÖ hÖ thèng (System Engineering)
„ Kü nghÖ hÖ thèng lμ toμn bé c«ng viÖc ph¸t triÓn hÖ
thèng dùa trªn m¸y tÝnh (computer based system):
• phÇn cøng 
• phÇn mÒm 
• tæ chøc, qu¶n lý
„ Kü nghÖ hÖ thèng bao gåm:
• ®Æc t¶
• thiÕt kÕ
• triÓn khai
kü nghÖ
hÖ
thèng
kü nghÖ
phÇn mÒm
• tÝch hîp
• thÈm ®Þnh
• b¶o tr×
Bộ môn Công nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
Kü nghÖ hÖ thèng
„ §Æc tÝnh næi tréi cña hÖ thèng dùa trªn m¸y tÝnh 
• Thuéc tÝnh chøc n¨ng: ®iÒu khiÓn 1 hÖ
• Thuéc tÝnh phi chøc n¨ng: ®é tin cËy, an toμn
Mμ:
 tõng bé pbËn kh«ng thÓ cã ®−îc
 quyÕt ®Þnh ®Õn toμn hÖ thèng
„ Kü nghÖ hÖ thèng liªn quan ®Õn:
• ¸p dông c¸c nguyªn lý tÝch hîp
• gi¶m chi phÝ lμm l¹i toμn hÖ thèng 
Bộ môn Công nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
Kü nghÖ hÖ thèng
„ TiÕn tr×nh ký nghÖ hÖ thèng (system engineering 
process)
xác định 
yêu cầu
 ị 
tiến hóa 
hệ thống
ti 
t
loại bỏ
hệ thống
l i 
t
thiết kế
hệ thống
t i t 
t
phát triển 
hệ con
t t i Cài đặt 
hệ thống
i t 
t
tích hợp 
hệ thống
tí 
t
các hệ
cứng
các hệ
mềm
Bộ môn Công nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Kh¸i niệm liªn quan - Khoa häc m¸y tÝnh
(Computer Sience)
¾ Khoa häc m¸y tÝnh liªn quan ®Õn nh÷ng vÊn ®Ò lý 
thuyÕt vμ nÒn t¶ng cho m¸y tÝnh vμ phÇn mÒm
¾ Kü nghÖ phÇn mÒm liªn quan ®Õn thùc tiÔn cña 
viÖc ph¸t triÓn vμ xuÊt ra c¸c phÇn mÒm hiÖu qu¶
™ Lý thuyÕt khoa häc m¸y tÝnh cßn ch−a ®ñ cho c¸c 
ho¹t ®éng cña kü nghÖ phÇn mÒm
kü nghÖ
phÇn mÒm
khoa 
häc m¸y
tÝnh
Bộ môn Công nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
KiÕn tróc vμ
phÇn cøng 
m¸y tÝnh
H¹ tÇng c¸c 
hÖ thèng
c«ng nghÖ
vμ ph. ph¸p 
phÇn mÒm
C¸c c«ng 
nghÖ øng 
dông
t« chøc vμ
c¸c HTTT
C¸c lÜnh vùc tÝnh to¸n
(computing curricula 11/2004 -ACM, AIS, IEEE)
Lý thuyÕt, øng dung
®æi míi triÓn khai
SECS
IT
IS
Bộ môn Công nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
„ Mçi lÜnh vùc tÝnnh to¸n ®−îc giíi h¹n b»ng mét 
vïng víi biªn cã mµu sau:
 CS  Khoa häc m¸y tÝnh: 
 IS  HÖ thèng th«ng tin
 IT  C«ng nghÖ th«ng tin
 SE  Kü nghÖ phÇn mÒm
„ Kü nghÖ phÇn mÒm chiÕm phÇn lín ë trung t©m -
§ã lµ lý do nã lµ ngµnh phøc t¹p vµ quan träng
Ph©n biÖt c¸c lÜnh vùc tÝnh to¸n
Bộ môn Công nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
C©u hái «n tËp
1) §Þnh nghÜa kü nghÖ phÇn mÒm -SE?
2) C¸c giai ®o¹n lÞch sö ph¸t triÓn SE? ®Æc tr−ng cña mçi 
giai ®o¹n (s¶n phÈm, ph−¬ng ph¸p, c«ng cô, qu¶n lý 
vμ tæ chøc lμm viÖc)?
3) Gi¶i thÝch néi dung c¸c yÕu tè c¬ b¶n trong SE? LÊy vÝ 
dô minh ho¹ vÒ ph−¬ng ph¸p, c«ng cô?
4) TiÕn tr×nh phÇn mÒm lμ c¸i g×? C¸c b−íc chung nhÊt 
cña tiÕn tr×nh lμ g×?
5) M« h×nh tiÕn trinh lμ g×? C¸c m« h×nh cã thÓ nhËn ®−îc 
tõ nh÷ng c¸ch nh×n nhËn nμo?
Bộ môn Công nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
C©u hái «n tËp
6) Tr×nh bμy mét sè m« h×nh tiÕn tr×nh c¬ b¶n (néi dung, 
−u, nh−îc, thÝch hîp khi nμo)?
7) Chi phÝ cña SE gåm nh÷ng thμnh phÇn nμo? nã phô 
thuéc vμo nh÷ng c¸i g×?
8) Kü nghÖ hÖ thèng lμ g×? Quan hÖ víi kü nghÖ phÇn 
mÒm ra sao?
9) C¸c thuéc tÝnh cña phÇn mÒm ®−îc kü nghÖ tèt?
10)Khoa häc m¸y tÝnh lμ g×? Quan hÖ gi÷a nã vμ kü nghÖ
phÇn mÒm nh− thÕ nμo? 
Bộ môn Công nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
C©u hái và thảo luận

File đính kèm:

  • pdfBài giảng Kỹ nghệ phần mềm - Nguyễn Văn Vỵ - Bài 2 Kỹ nghệ phần mềm.pdf