1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình kỹ nghệ phần mềm

49 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo trình kỹ nghệ phần mềm
Tác giả Nhóm tác giả
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ nghệ phần mềm
Thể loại Giáo trình
Định dạng
Số trang 49
Dung lượng 503,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo trình kỹ nghệ phần mềm Giáo trình Kỹ nghệ phần mềm 1 MỤC LỤC DANH MỤC HÌNH VẼ 11 DANH MỤC BẢNG BIỂU 13 THUẬT NGỮ SỬ DỤNG 18 LỜI NÓI ĐẦU 19 Chương 1 TỔNG QUAN VỀ PHẦN MỀM VÀ KỸ NGHỆ PHẦN MỀM 1 1 K.

Trang 1

M C L C

DANH M C HÌNH V ……….11

DANH M C B NG BI U………13

THU T NG S D NG……… 18

L I NÓI U……… 19

Ch ng 1 T NG QUAN V PH N M M VÀ K NGH PH N M M 1.1 K ngh h th ng d a trên máy tính……….24

1.2 Khái ni m ph n m m……….26

1.3 Phân lo i ph n m m……… 29

1.4 Ch t l ng ph n m m……… 31

1.5 T ng quan v các ngôn ng l p trình………35

1.6 Khái ni m k ngh ph n m m……… 36

1.7 Ngu n nhân l c trong k ngh ph n m m………39

CÂU H I ÔN T P CH NG 1……….49

C h ng 2 C T YÊU C U PH N M M 2.1 Khái ni m đ c t yêu c u ph n m m……… 53

2.2 Xác đ nh yêu c u ph n m m……… 56

2.3 Phân tích yêu c u ph n m m……… 58

2.4 c t yêu c u ph n m m……… 62

2.5 T li u hóa đ c t yêu c u ph n m m……… … 63

2.6 Các ph ng pháp thu th p thông tin……….75

CÂU H I ÔN T P CH NG 2……….77

C h ng 3 N N T NG THI T K PH N M M 3.1 Vai trò c a thi t k ph n m m……… 80

3.2 Chi n l c thi t k ph n m m……… 82

3.3 Các ph ng pháp thi t k ……… 86

3.4 C s lý lu n thi t k ph n m m……….99

3.5 Thi t k mô đun hi u qu ………106

3.6 Thi t k d li u……… .108

3.7 Ký pháp thi t k b ng l u đ ……… 110

3.8 K thu t l p trình……… 112

3.9 Ngôn ng thi t k ……… 118

3.10 Tài li u thi t k ……… 120

CÂU H I ÔN T P CH NG 3……… 123

Trang 2

C h ng 4 PHÂN TÍCH VÀ THI T K H NG CH C N NG

4.1 Khái ni m phân tích h th ng h ng ch c n ng……… 128

4.2 Bi u đ ch c n ng BFD………133

4.3 Bi u đ ng c nh……… 135

4.4 Bi u đ lu ng d li u DFD………141

4.5 Báo cáo phân tích h ng ch c n ng……….143

4.6 Chi n l c thi t k h ng ch c n ng………146

4.7 Thi t k ki n trúc ph n m m……… 147

4.8 Thi t k d li u……… 150

4.9 Thi t k gi i thu t……… 152

4.10 Thi t k giao di n………154

4.11 Tài li u thi t k ph n m m……… 156

CÂU H I VÀ BÀI T P CH NG 4……… 164

C h ng 5 PHÂN TÍCH VÀ THI T K H NG I T NG V I UML 5.1 Khái ni m phân tích và thi t k h ng đ i t ng và UML …… 170

5.2 Mô hình hóa ch c n ng nghi p v ….… ……… 182

5.3 Mô hình hóa c u trúc h th ng……….…197

5.4 Mô hình hóa s t ng tác trong h th ng……… 200

5.5 Mô hình hóa tr ng thái c a h th ng……… 205

5.6 Mô hình hóa ho t đ ng c a h th ng……… 209

5.7 Bi u đ thành ph n và bi u đ tri n khai……….…220

CÂU H I VÀ BÀI T P CH NG 5 ……… 217

C h ng 6 PHÂN TÍCH VÀ THI T K H NG TH I GIAN TH C 6.1 Khái ni m h th ng th i gian th c……… 220

6.2 C u trúc h th ng th i gian th c……… 223

6.3 C s d li u th i gian th c……….226

6.4 H đi u hành th i gian th c………229

6.5 Ngôn ng th i gian th c……… 230

6.6 Truy n thông th i gian th c……….232

6.7 Công c toán h c cho phân tích th i gian th c……… 235

6.8 Ph ng pháp thi t k DARTS cho h th ng th i gian th c…… 339

6.9 Ví d phân tích và thi t k th i gian th c……… 243

Trang 3

CÂU H I ÔN T P CH NG 6 ……….…245

C h ng 7 KI M TH PH N M M 7.1 Khái ni m và l ch s ki m th ph n m m ……….248

7.2 Ph ng pháp ki m th h p tr ng (White Box Testing) ………259

7.3 Ph ng pháp ki m th h p đen (Black Box Testing)… ……265

7.4 Qui trình ki m th ph n m m ……… …….270

CÂU H I ÔN T P CH NG 7……… 271

Ch ng 8 B O TRÌ PH N M M

8.1 Khái ni m b o trì ph n m m……… 275

8.2 c đi m b o trì ph n m m……… 277

8.3 Qui trình b o trì ph n m m………280

8.4 Các ho t đ ng b o trì ph n m m………282

8.5 Nh ng khó kh n trong b o trì ph n m m……… 285

8.6 H s b o trì ph n m m……… 288

CÂU H I ÔN T P CH NG 8……… 289

C h ng 9 QU N LÝ D ÁN PH N M M 9.1 Khái ni m và qui trình qu n lý d án ph n m m……… 296

9.2 L p l ch qu n lý ti n trình d án ph n m m….……….299

9.3 Qu n lý ch t l ng ph n m m……….305

9.4 Qu n lý c u hình……… 310

9.5 Các ph ng pháp xác đ nh qui mô ph n m m………… ….…313

9.6 Qu n tr r i ro trong d án ph n m m………318

9.7 Các mô hình phát tri n ph n m m ……….326

CÂU H I ÔN T P CH NG 9……… 331

P h l c 1 NG D NG PHÂN TÍCH VÀ THI T K PH N M M P1.1 Mô t bài toán qu n lý xe v n t i……… 335

P1.2 Phân tích bài toán qu n lý xe v n t i………354

P1.3 Thi t k bài toán qu n lý xe v n t i……… 367

P2.1 Mô t bài toán qu n lý bán hàng……… 368

P2.2 Xây d ng Use Case bài toán bán hàng……… 371

P2.3 Xây d ng các l p c n b n……… 372

P2.4 Xây d ng bi u đ tu n t ……….376

Trang 4

P2.5 Xây d ng các b ng d li u……….377

P2.6 Thi t k giao di n………382

CÂU H I ÔN T P ……….383

TÀI LI U THAM KH O………385

Trang 5

Hình 3.1 Mô hình thi t k Top Down Design 84

Hình 3.2 Mô hình thi t k Bottom Up Design 86

Hình 3.4 th m i liên h gi a s mô đun và chi phí 91

Trang 7

Hình 5.20 Mô hình k th a không có l p chung 193

Hình 5.22 Mô hình x lý bên trong đ i t ng 199

Trang 8

Hình 6.10 Mô hình h th ng ki m soát không l u 241

Trang 10

Hình P22 Các tác nhân c a bài toán bán hàng 364

Trang 12

B ng 7.6 Các giá tr c a d li u h tên, mã sinh viên 265

Trang 13

B ng 9.13 Tính toán chi phí ngu n l c cho d án ph n m m 314

B ng 9.14 K t qu tính toán theo ph ng pháp KLOC 314

CMM Capability Maturity Model

KPAs Key Process Area

SEI Software Engineering Institute

Trang 14

Algorithm efficiency Hi u su t c a gi i thu t

Artificial intelligent software Ph n m m trí tu nhân t o

Business function diagram Bi u đ ch c n ng

Call- return model Mô hình g i - tr l i

Capability maturity model Mô hình t ng tr ng kh n ng

Trang 15

Critical path method Ph ng pháp đ ng g ng

Engineering and scientific software Ph n m m khoa h c và công ngh

Enity- relationships model Mô hình quan h th c th

Event- based model Mô hình d a trên s ki n

Input- ouput analysis Phân tích vào- ra

Intergated development environment Môi tr ng phát tri n tích h p

Integrated software management Qu n tr ph n m m tích h p

Intergroup coordination Ph i h p nhóm

Interrupt- driven model Mô hình ng t

Trang 16

Formal system development Phát tri n h th ng hình th c

Functional programming L p trinh hàm

Object- oriented analysis Phân tích h ng đ i t ng

Object- oriented design Thi t k h ng đ i t ng

Object- oriented programming L p trình h ng đ i t ng

Object- oriented model Mô hình h ng đ i t ng

Organization process definition nh ngh a ti n trình t ch c

Organization process focus Tiêu đi m ti n trình t ch c

Personal computer software Ph n m m máy tính cá nhân

Trang 17

Procedural programming L p trình th t c

Process change management Qu n tr thay đ i ti n trình

Quantitative process management Qu n lý ti n trình đ nh l ng

Rapid application development Phát tri n ng d ng nhanh

Real- time software Ph n m m th i gian th c

Reference architectural model Mô hình ki n trúc tham chi u

Requirement management Qu n lý yêu c u

Requirement specification c t yêu c u

Requirement validation Th m đ nh yêu c u

Software product engineering K ngh s n xu t ph n m m

Software project planning L p k ho ch cho d án ph n m m

Software project tracking Theo giõi d án ph n m m

Software quality management Qu n lý ch t l ng ph n m m

Trang 18

Software requirement specification c t yêu c u ph n m m

Software architecture Ki n trúc ph n m m

Software quality assurance m b o ch t l ng s n ph m

Software subcontract managent Qu n tr h p đ ng ph ph n m m

Structured programming L p trình c u trúc

Technology change management Qu n tr thay đ i công ngh

Structure analysic and design technology Phân tích và thi t k có c u trúc

Unified modeling language Ngôn ng mô hình hóa th ng nh t

Trang 19

L I NÓI U

Môn h c k ngh ph n m m (Software Engineering) có m t v trí quan tr ng trong

ch ng trình đào t o c a Vi n CNTT và Kinh t s trong giai đo n c a cu c cách m ng công nghi p 4.0 hi n nay

Giáo trình đ c xây d ng trên các đ nh h ng sau đây:

+ V đ i t ng s d ng: i t ng s d ng c a giáo trình là sinh viên chuyên ngành H

th ng thông tin qu n lý n m th 4 c a tr ng i h c Kinh t Qu c dân sau khi đã đ c trang b nh ng ki n th c c b n v h th ng thông tin, v l p trình và v c s d li u

+ V n i dung: Giáo trình ph i bao quát đ c toàn b nh ng ki n th c c b n c a k

ngh ph n m m hi n đ i

+ V k n ng: Sau khi h c xong môn h c này sinh viên s có k n ng thành th o trong

vi c phân tích, thi t k , ki m th và b o trì m t ph n m m theo đúng các qui trình chu n

Ch ng 2 c t yêu c u ph n m m Ch ng này trình bày khái ni m đ c t yêu c u

ph n m m, các k thu t phân tích và đ c t yêu c u ph n m m

Ch ng 3 N n t ng thi t k ph n m m Thi t k là v n đ trung tâm c a k ngh ph n

m m Ch ng này trình bày nh ng v n đ lý lu n n n t ng làm c s cho các ph ng

pháp thi t k ph n m m

Ch ng 4 Phân tích và thi t k h ng ch c n ng Ph ng pháp thi t k h ng ch c

n ng (còn g i là thi t k có c u trúc) là m t ph ng pháp thi t k kinh đi n, có nhi u ng

d ng trong nhi u l nh v c Ch ng này trình bày ph ng pháp phân tích và thi t k theo

h ng ti p c n này

Ch ng 5 Phân tích và thi t k h ng đ i t ng Ph ng pháp phân tích và thi t k

h ng đ i t ng là công c ch đ o trong vi c phát tri n các ph n m m chuyên nghi p

có qui mô l n Ch ng này trình bày các v n đ c b n v phân tích và thi t k h ng

đ i t ng

Ch ng 6 Phân tích và thi t k h ng th i gian th c Phân tích và thi t k th i gian th c

là công c xây d ng ph n m m cho các h th ng th i gian th c, trong đó có ph n m m

đúng còn có yêu

Trang 20

c u r t kh t khe v y u t th i gian Ch ng này trình bày các n i dung c b n v

ph ng pháp phân tích và thi t k th i gian th c

Ch ng 7 Ki m th ph n m m Ki m th ph n m m là m t cu c ki m tra đ c ti n

hành đ cung c p cho các bên liên quan thông tin v ch t l ng c a s n ph m ho c d ch

v đ c ki m th ây là công đo n b t bu c trong qui trình s n xu t ph n m m qui

mô công nghi p Ch ng này trình bày khái ni m ki m th ph n m m, các ph ng pháp

ki m th , qui trình ki m th ph n m m

Ch ng 8 B o trì ph n m m B o trì ph n m m là vi c s a ch a các l i ch a đ c phát

hi n trong các giai đo n tr c trong chu k s ng c a m t ph n m m, đ ng th i nâng c p tính n ng s d ng và s an toàn v n hành cho ph n m m Nhi m v c a giai đo n b o trì

ph n m m là gi cho ph n m m đ c c p nh t khi môi tr ng thay đ i và yêu c u ng i

s d ng thay đ i Ch ng này trình bày các v n đ c b n v b o trì ph n m m

Ch ng 9 Qu n lý d án ph n m m Ch ng này trình bày các v n đ c b n trong qui

trình qu n lý m t d án ph n m m nh l p k ho ch d án, qu n lý ti n trình d án, qu n

lý ch t l ng s n ph m, qu n lý r i ro …vv

gi i thi u hai ng d ng phân tích và thi t k ph n m m trên c s v n d ng các ki n th c

đã h c trong giáo trình đ gi i quy t m t s bài toán nh m nâng cao k n ng cho ng i

h c

Giáo trình K ngh ph n m m do PGS.TS Hàn Vi t Thu n làm ch biên và vi t các

ch ng 4,5,6,7, Ti n s oàn Quang Minh vi t ch ng 1,2,3, Th c s Nguy n Anh

Ph ng vi t ch ng 8, 9 và ph n ph l c

K ngh ph n m m là m t l nh v c khoa h c r ng l n Khi biên so n giáo trình này chúng tôi đã tham kh o nhi u tài li u c a các tác gi trong và ngoài n c Chúng tôi xin chân thành cám n t t c các tác gi này

Giáo trình K ngh ph n m m đ c biên so n làm tài li u h c t p cho sinh viên c a

Vi n CNTT và Kinh t s c a Tr ng i h c Kinh t Qu c dân Tuy đã r t c g ng

nh ng ch c ch n không tránh kh i thi u sót Chúng tôi r t mong s nh n đ c nh ng ý

ki n đóng góp c a b n đ c đ giáo trình đ c hoàn thi n h n trong các l n xu t b n sau này

Hà N i tháng 9 n m 2020

Các tác gi

Trang 21

Trong ch ng này tr c h t chúng tôi trình m t cách t ng quan v k ngh h th ng

d a trên máy tính, là n n t ng k thu t và công ngh ng d ng ph n m m Sau đó s trình bày nh ng ki n th c c b n v ph n m m và k ngh ph n m m nh đ c tr ng c a

ph n m m, vòng đ i phát tri n c a ph n m m, ch t l ng ph n m m, ph ng pháp phân

lo i ph n m m, khái ni m k ngh ph n m m Con ng i là y u t quy t đ nh, trong l nh

v c KNPM đi u này l i càng th hi n rõ h n Vì th trong ph n cu i ch ng này s trình bày các v n đ liên quan đ n ngu n nhân l c trong k ngh ph n m m

T nh ng n m 1946 khi l n đ u tiên xu t hi n chi c máy tính thì đ ng th i c ng xu t

hi n ph n m m Có th nói máy tính và ph n m m là m t c p song sinh và ngay t khi ra

đ i ph n c ng và ph n m m luôn song hành cùng nhau phát tri n theo th i gian H n n a

s t ng thích gi a ph n c ng và ph n m m là r t quan tr ng, th hi n s thu n l i khi cài đ t và khi làm vi c Hoàn c nh đ phát tri n ph n m m g n li n ch t ch v i các th p

k ti n hoá c a h th ng máy tính Hi u n ng ph n c ng m nh h n, kích c nh h n và giá th p h n đã góp ph n t o ra các h th ng thông minh d a trên máy tính

Trang 22

Nh v y vi c nghiên c u k ngh h th ng d a trên máy tính trong k ngh ph n

m m là không th thi u đ c ây là m t trong nh ng y u t mang l i s thành công cho quá trình xây d ng k ngh ph n m m nói chung và xây d ng t ng ph n m m nói riêng

th y rõ h n v t m quan trong c a vi c nghiên c u k ngh h th ng d a trên máy tính, sau đây chúng ta s đi sâu nghiên c u n i dung c a k ngh h th ng d a trên máy tính trong k ngh ph n m m

Ph n c ng: Các thi t b đi n t nh CPU, b nh , bàn phím, b c m bi n…vv

Con ng i: Ng i dùng và các thao tác viên ph n c ng và ph n m m

C s d li u: T p h p nh ng thông tin có t ch c, có th truy c p b ng ph n m m

Trang 23

Hình nh ph bi n cho k ngh này đ c đ c tr ng b i giai đo n th hai Các yêu c u

c n đ c phân tích và m t c u hình ph n c ng s b đ c thi t k Các cu c h p xem xét

k thu t s đ c ti n hành khi thi t k ti n hóa thành các b n v k ngh chi ti t (b n đ c

t thi t k ) Ngày nay, vi c phân tích và thi t k đ c ti n hành v i các công c có máy tính tr giúp (CAE/CAD) Ngoài ra c ng c n có thêm các thành ph n ch a có s n; các thành ph n c n đi u ch nh và các b n m u đ c l p ráp B n m u này đ c ki m th đ

đ m b o r ng nó s đáp ng đ c m i yêu c u đ t ra

Giai đo n th ba c a k ngh ph n c ng t o ra các yêu c u tr c ti p v i k s thi t k

nh ng đòi h i g t gao h n kh n ng c a k s ch t o Tr c quá trình s n xu t ban đ u,

ng i ta ph i xác đ nh đ c các ph ng pháp b o đ m ch t l ng và ph i xác đ nh c

c u phân ph i s n ph m Các linh ki n thay th đ c đ a vào kho và ph i thi t l p t

ch c th c hi n cho vi c b o trì và s a ch a

M t khi k ngh h th ng, t c là vi c phân tích và đ nh ngh a h th ng đã đ c ti n hành thì các ch c n ng đ c c p phát cho ph n c ng Giai đo n đ u c a k ngh ph n

c ng bao g m vi c l p k ho ch phát tri n và phân tích yêu c u ph n c ng K ho ch phát tri n đ c ti n hành đ thi t l p ph m vi n ng l c c a ph n c ng T c là chúng ta

đ t ra nh ng câu h i sau đây:

1- âu là l p ph n c ng đáp ng đ c t t nh t t i các ch c n ng đã xác đ nh?

2- Ph n c ng nào có s n có th mua đ c; ngu n cung c p đâu, m c chi phí là bao nhiêu?

3- Chúng ta c n ph i thi t k và xây d ng thêm nh ng cái gì?

T nh ng câu h i này chúng ta có th thi t l p đ c l ch th c hi n và chi phí s b cho các ph n t h th ng ph n c ng Ti p đó, chúng ta ph i thi t l p m t l trình thi t k và cài đ t ph n c ng Vi c phân tích yêu c u h th ng ph n c ng đ c ti n hành đ xác đ nh các yêu c u chính xác v ch c n ng, hi u su t và giao di n cho m i thành ph n c a ph n

t ph n c ng Bên c nh đó các ràng bu c thi t k nh kích c , môi tr ng và các tiêu chí

ki m th c n đ c thi t l p C n ph i t o ra b n đ c t ph n c ng nh :

- Các thành ph n thu nh n thông tin (sensor, thi t b ngo i vi)

Trang 24

đ c thi t k theo đ t hàng cho t ng ng d ng c th Ph n m m lúc đ u còn t ng đ i

đ n gi n, vi c thi t k là m t ti n trình không t ng minh và th ng là không có tài li u thi t k m t cách khoa h c

Th h th hai c a s ti n hoá máy tính tr i r ng gi a nh ng n m 1960 cho đ n cu i

Ngày đăng: 08/11/2022, 13:44

w