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

Bài giảng nhập môn công nghệ phần mềm chương 3

18 465 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

Định dạng
Số trang 18
Dung lượng 1,91 MB

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

Nội dung

Trang 1

PH N I: GI I THI U CHUNG

V CÔNG NGH PH N M M

I B n ch t ph n m m

II Nh ng v n đ trong phát tri n ph n

m m

III Quy trình phát tri n ph n m m

1

PH N I: GI I THI U CHUNG

V CÔNG NGH PH N M M

I B n ch t ph n m m

1 nh ngh a chung ộ ph n m m

2 Ki n trúc ph n m m

3 Các khái ni m

4 c tính chung c a ph n m m

5 Th nào là ph n m m t t ?

6 Các ng d ng ph n m m

II Nh ng v n đ trong phát tri n ph n m m III Quy trình phát tri n ph n m m

2

• Ph n m m (Software - SW) nh m t khái ni m

đ i ngh a v i ph n c ng (Hardware - HW), tuy

nhiên, đây là 2 khái ni m t ng đ i

• T x a, SW nh th đ c cho không ho c bán

kèm theo máy (HW)

• D n d n, giá thành SW ngày càng cao và nay cao

h n HW

3

Cức đ c tính c a SW và HW

Hardware

• V t “c ng”

• Kim lo i

• V t ch t

• H u hình

• S n xu t công nghi p

b i máy móc là chính

• H ng hóc, hao mòn

Software

• V t “m m”

• K thu t s d ng

• Tr u t ng

• Vô hình

• S n xu t b i con

ng i là chính

• nh tính là chính

• Không hao mòn

4

nh ngh a 1

• IEEE: Computer programs, procedures, and possibly

associated documentation and data pertaining to the

operation of a computer system

• Ph n m m là

– Các l nh (ch ng trình máy tính) khi đ c th c hi n thì

cung c p nh ng ch c n ng và k t qu mong mu n

– Các c u trúc d li u làm cho ch ng trình thao tác thông

tin thích h p

– Các t li u mô t thao tác và cách s d ng ch ng trình

5

SW đ i ngh a v i HW

• Vai trò SW ngày càng th hi n tr i

• Mứy tính là chi c h p không có SW

• Ngày nay, SW quy t đ nh ch t l ng m t h

th ng mứy tính (HTMT), là ch đ c t lõi, trung tâm c a HTMT

• H th ng mứy tính g m HW và SW

6

Trang 2

nh ngh a 2

• Trong m t h th ng máy tính, n u tr b đi các

thi t b và các lo i ph ki n thì ph n còn l i chính

là ph n m m (SW)

• Ngh a h p: SW là d ch v ch ng trình đ t ng

kh n ng x lý c a ph n c ng c a máy tính (nh

h đi u hành - OS)

• Ngh a r ng: SW là t t c các k thu t ng d ng

đ th c hi n nh ng d ch v ch c n ng cho m c

đích nào đó b ng ph n c ng

7

SW theo ngh a r ng

• Không ch SW c b n và SW ng d ng

• Ph i g m c kh n ng, kinh nghi m th c ti n và

k n ng c a k s (ng i ch ra ph n m m): K

n ng c a k s ph m m m (Know-how of Software Engineer)

• Là t t c các k thu t làm cho s d ng ph n

c ng máy tính đ t hi u qu cao

8

Ph n m m là gì ?

9

Nhóm các

K thu t,

Ph ng pháp

lu n

Nhóm các

ch ng trình Nhóm các t li u

Kinh nghi m k s ,

k n ng

• Các khái ni m và trình t

c th hóa m t h th ng

• Các ph ng pháp ti p c n

gi i quy t v n đ

• Các trình t thi t k và phát tri n đ c chu n hóa

• Các ph ng pháp đ c t yêu c u, thi t k h

th ng, thi t k ch ng trình, ki m th , toàn b quy trình qu n lý phát tri n ph n m m

Ph n m m là gì ?

10

Nhóm các

K thu t,

Ph ng pháp

lu n

Nhóm các

ch ng trình Nhóm các t li u

Kinh nghi m k s ,

k n ng

• Là ph n giao di n v i

ph n c ng, t o thành t các nhóm l nh ch th cho máy tính bi t trình t thao tác x lý d li u

• Ph n m m c b n: v i

ch c n ng cung c p môi

tr ng thao tác d dàng cho ng i s d ng nh m

t ng hi u n ng x lý c a

ph n c ng (ví d nh OS

là ch ng trình h th ng)

• Ph n m m ng d ng:

dùng đ x lý nghi p v thích h p nào đó (qu n lý,

k toán, ), ph n m m đóng gói, ph n m m c a

ng i dùng,

Ph n m m là gì ?

11

Nhóm các

K thu t,

Ph ng pháp

lu n

Nhóm các

ch ng trình Nhóm các t li u

Kinh nghi m k s ,

k n ng

• Nh ng t li u h u ích, có giá tr cao và r t c n thi t

đ phát tri n, v n hành và

b o trì ph n m m

• ch ra ph n m m v i

đ tin c y cao c n t o ra các t li u ch t l ng cao:

đ c t yêu c u, mô t thi t k t ng lo i, đi u

ki n ki m th , th t c v n hành, h ng d n thao tác

Ph n m m là gì ?

12

Nhóm các

K thu t,

Ph ng pháp

lu n

Nhóm các

ch ng trình Nhóm các t li u

Kinh nghi m k s ,

k n ng

• Ph n m m ph thu c nhi u vào ý t ng (idea)

và k n ng (know-how)

c a ng i/nhóm tức gi

• Kh n ng h th ng hóa tr u t ng

• Kh n ng l p trình

• K n ng công ngh

• Kinh nghi m làm vi c

• T m bao quứt

Trang 3

2 Ki n trúc ph n m m

H th ng con H th ng con

Ch ng trình Ch ng trình

trình con

các file chính

(master files)

file t m th i

Tham s Tham s

n v công vi c

n v b c công vi c

n v thành viên (Member unit) Module chung

(Common module)

Ph n m m Nhìn t ph ng di n c u trúc

• C u trúc ph n

m m:

– ki n trúc các

ch c n ng

mà ph n

m m đó có – đi u ki n phân c p các

ch c n ng

• Thi t k ch c

n ng

– Theo chi u

đ ng: càng sâu càng

ph c t p – Theo chi u ngang: càng

r ng càng nhi u ch c

n ng, qui mô càng l n

System

Program Program

Ch c n ng A

Ch c n ng D

Ch c n ng F

Ch c n ng E

C u trúc chi u ngang (Horizontal structure)

Ph n m m

Nhìn t ph ng di n th t c

• Quan h th t

gi a các thành

ph n c u thành

ph n m m

• Thu t toán v i

nh ng phép l p,

r nhánh, đi u khi n lu ng x lý (quay lui hay b qua)

• C u trúc lôgic

bi u th t ng ch c

n ng có trong

ph n m m và trình t th c hi n chúng

• Thi t k c u trúc

tr c r i sang

ch c n ng

15

H th ng

con

Các file chính

Master files

Các file

t m th i

Tham s Tham s

Module chung (Common Module)

T ph ng pháp lu n ph n

m m sang k thu t ph n m m

• Khi ch tác ph n m m c n nhi u

ph ng pháp:

– Ph ng pháp lu n (Methodology): nh ng chu n m c c b n đ ch t o ph n m m

v i các ch tiêu đ nh tính – Các ph ng pháp k thu t (Techniques):

nh ng trình t c th đ ch t o ph n m m

và là cách ti p c n khoa h c mang tính

đ nh l ng

16

T ph ng pháp lu n ph n m m sang

k thu t ph n m m

Môđun

Tinh ch nh t ng

b c

Tr u t ng hóa

Che gi u t.tin

Phân tích c u trúc Thi t k c u trúc

L p trình c u trúc

D li u tr u t ng

H ng đ i t ng

Khứi ni m ph n m m

17

3.1 Tính module (Modularity)

• Là kh n ng phân chia ph n

m m thành các module ng

v i các ch c n ng, đ ng th i cho phép qu n lý t ng th : khái ni m phân chia và tr n (partion and merge)

• Hai ph ng pháp phân chia module theo chi u – Theo chi u sâu – Theo chi u r ng

• Quan h gi a các môđun ? qua các đ i s (arguments)

Tính đ c

l p kém

d n

i u khi n

ph c t p

d n

SW Phân chia chi u r ng

C u trúc r ng chi u ngang

18

Trang 4

3.2 Tinh ch nh t ng b c

(Step refinement)

• Cách ti p c n t trên xu ng (top-down approach)

Ngôn ng

ch ng trình

Chi

ti t

hóa

d n

t ng

Th gi i bên ngoài

c t yêu c u

Tr u t ng hóa m c cao:

Th gi i bên ngoài,

tr ng thái ch a rõ ràng

Tr u t ng hóa m c trung gian:

Xức đ nh yêu c u và đ c t

nh ng đ nh ngh a yêu c u

Tr u t ng hóa m c th p:

T ng l nh c a ch ng trình đ c

vi t b i ngôn ng th t c nào đó

19

Ví d : Trình t gi i quy t v n đ t m c thi t k ch ng trình đ n m c l p trình

• Bài toán: t m t nhóm N s khác nhau t ng d n, hãy tìm s có giá tr b ng K (nh p t ngoài vào)

và in ra v trí c a nó

• Gi i t ng b c t khái ni m đ n chi ti t hóa t ng câu l nh b i ngôn ng l p trình nào đó

• Ch n gi i thu t tìm ki m nh phân (pp nh phân)

20

C th hóa th t c qua cức ch c n ng

21

Bài toán đã cho Nh p giá tr K

Nh n giá tr nhóm N s

Tìm ki m giá tr (pp nh phân)

In ra v trí (n u có)

C th hóa b c ti p theo

22

Tìm ki m giá tr (pp nh phân) Xác l p ph m vi m ng s

L p l i x lý tìm ki m giá tr K trong

ph m vi tìm ki m

Tìm v trí gi a phân đôi m ng

So sánh K v i giá tr gi a

t l i ph m vi tìm ki m

L p l i tìm ki m K trong ph m vi tìmki m

M c mô t ch ng trình (b ng PDL)

B t u

c K

Nh n giá tr cho m ng 1 chi u A(I), (I =1, 2, ,.N)

MIN = 1

MAX = N

DO WHILE (Có giá tr b ng K không, cho đ n khi MIN > MAX)

L y MID = (MIN + MAX) / 2

IF A(MID) > K THEN

MAX = MID - 1

ELSE

IF A(MID) < K THEN

MIN = MID + 1

ELSE

In giá tr MID

ENDIF

ENDIF

ENDDO

Câu h i

Làm th nào đ đ nh ngh a c u trúc c a m t

h th ng đ c thi t k

d a trên các module?

âu là các đ c tính c n

có c a c u trúc này?

H th ng

M2

M1

Mn

Mn-1

Trang 5

3.3 Che gi u thông tin

(Information hiding) [Parnas72]

• Các module nên đ c đ c tr ng b i nh ng quy t

đ nh thi t k (design decision) sao cho m i

môđun đ u là bí m t đ i v i các module khác

• R t h u ích cho ki m th và b o trì ph n m m

25

3.3 Che gi u thông tin (Information hiding) [Parnas72]

C đ nh t t c các quy t

đ nh thi t k (design decision) có kh n ng b thay đ i

Gán m i quy t đ nh thi t

k vào m t module m i;

lúc này quy t đ nh thi t k

s là ph n bí m t c a module (module secret) Thi t k giao di n c a

module (module interface), giao di n này

s không thay đ i khi

ph n bí m t c a module thay đ i

H th ng

design decision

quy t đ nh thi t k

quy t đ nh thi t k

design decision

design decision

quy t đ nh thi t k

quy t đ nh thi t k design decision M1

Mn Mn-1

M2

Giao

di n

Module

Các tài nguyên c n xu t ra:

ki u d li u, bi n, thu c tính, hàm, s ki n, ngo i l , v.v

Ng i

dùng

3.3 Che gi u thông tin

(Information hiding) [Parnas72]

Bí m t

Cài đ t các tài nguyên c n xu t ra

interface Bicycle { void changeCadence (int newValue);

void changeGear(int newValue);

void speedUp(int increment);

void applyBrakes(int decrement);

}

class Bike implements Bicycle { }

class Motor-Bike implements Bicycle { }

3.4 Tr u t ng hóa (Abstraction)

• Cho phép t p trung xem xét v n đ m c t ng quát, g t đi nh ng chi ti t m c th p ít liên quan

• 3 m c tr u t ng – Tr u t ng th t c: dãy các ch th v i ch c n ng đ c thù và gi i h n nào đó

– Tr u t ng d li u: t p h p d li u mô t đ i t ng d

li u nào đó – Tr u t ng đi u khi n: C ch đi u khi n ch ng trình không c n đ c t nh ng chi ti t bên trong

• Ví d : M c a Th t c: M g m ; D li u:

C a là

28

• Là hàng hóa vô hình, không nhìn th y

đ c

• Ch t l ng ph n m m: không mòn đi

mà có xu h ng t t lên sau m i l n có

l i (error/bug) đ c phứt hi n và s a

• Ph n m m v n ch a l i ti m tàng,

theo quy mô càng l n thì kh n ng

ch a l i càng cao

• L i ph n m m d đ c phứt hi n b i

ng i ngoài

29

• Ch c n ng c a ph n m m th ng bi n hóa, thay

đ i theo th i gian (theo n i s d ng)

• Hi u ng làn sóng trong thay đ i ph n m m

• Ph n m m v n ch a ý t ng và sứng t o c a tức

gi /nhóm làm ra nó

• C n kh n ng “t duy nh phân” trong xây d ng, phứt tri n ph n m m

• Có th sao chép r t đ n gi n

30

Trang 6

5 Th nào là ph n m m t t ?

31

Hi u su t x lý

Cức ch tiêu c b n Tính d hi u

Th i gian (Ph n c ng phát tri n)

Y u

t

khái

ni m

ph n

m m

t t

c

tr ng

g n đây

5.1 Cức ch tiêu c b n

• Ph n ứnh đúng yêu c u ng i dùng (tính hi u qu - effectiveness)

• Ch a ít l i ti m tàng

• Giứ thành không v t quứ giứ c

l ng ban đ u

• D v n hành, s d ng

• Tính an toàn và đ tin c y cao

32

5.2 Hi u su t x lý cao

• Hi u su t th i gian t t (efficiency):

– ph c t p tính toứn th p (Time complexity)

– Th i gian quay vòng ng n (Turn Around Time: TAT)

– Th i gian h i đứp nhanh (Response time)

• S d ng tài nguyên h u hi u: CPU, RAM, HDD,

Internet resources,

33

5.3 D hi u

• Ki n trúc và c u trúc thi t k d hi u

• D ki m tra, ki m th , ki m ch ng

• D b o trì

• Có tài li u (mô t yêu c u, đi u ki n ki m th ,

v n hành, b o trì, FAQ, ) v i ch t l ng cao

34

Ví d c th ???

• Ph n m m h th ng (System SW)

• Ph n m m th i gian th c (Real-time SW)

• Ph n m m nghi p v (Business SW)

• Ph n m m tính toán KH&KT (Engineering

& Science SW)

• Ph n m m nhúng (Embedded SW)

• Ph n m m máy cá nhân (Personal

computer SW)

• Ph n m m trên Web (Web-based SW)

• Ph n m m trí tu nhân t o (Artificial

Intelligent SW)

35

Phân lo i ph n m m

36

Ph n m m

Ph n m m

h th ng Ph n m m ng d ng

H đi u hành

Ph n m m nghi p v

Ph n m m tính toán KHKT

Ph n m m nhúng

Ph n m m trên web

Ch ng trình

ti n ích

Ch ng trình

th vi n

Ch ng trình

d ch

Ph n m m m c đích chung

Ph n m m m c đích đ c bi t

Ph n m m x lý

v n b n

Ph n m m đ t hàng

Trang 7

Bài t p v nhà:

Phân bi t cức khứi ni m sau

• H th ng, ph n m m, ng d ng

• L p trình, phứt tri n ph n m m

• L p trình viên và k s ph n m m

37

PH N I: GI I THI U CHUNG

V CÔNG NGH PH N M M

I B n ch t ph n m m

II Nh ng ộ n đ trong phát tri n ph n

m m

1 Kh ng ho ng ph n m m là gì ?

2 Nh ng khó kh n trong s n ớu t ph n

m m

III Quy trình phát tri n ph n m m (CNPM)

38

M t s y u t

• Ph n m m càng l n s kéo theo ph c t p hóa và

t ng chi phí phứt tri n

• Công s c cho b o trì càng t ng thì chi phí cho

Backlog càng l n

• Nhân l c ch a đứp ng đ c nhu c u ph n m m

• Nh ng phi n hà c a ph n m m gây ra nh ng v n

đ xã h i

39

2 Nh ng v n đ trong phát tri n ph n

m m

• Ví d :

40

2 Nh ng khó kh n trong s n xu t

ph n m m

• Không có ph ng pháp mô t rõ ràng đ nh ngh a yêu c u c a ng i

dùng (khách hàng)

 Sau khi bàn giao s n ph m d phát sinh nh ng tr c tr c

(troubles)

• V i nh ng ph n m m quy mô l n, t li u đ c t đã c đ nh th i gian

dài

 Khó đáp ng nhu c u thay đ i c a ng i dùng m t cách k p

th i trong th i gian đó

• Ph ng pháp lu n thi t k không nh t quán

 Thi t k theo cách riêng (c a công ty, nhóm), thì s d n đ n

suy gi m ch t l ng ph n m m (do ph thu c quá nhi u vào

con ng i)

• Không có chu n v vi c t o t li u quy trình s n xu t ph n m m

 c t không rõ ràng s làm gi m ch t l ng ph n m m

41

2 Nh ng khó kh n trong s n xu t

ph n m m

• Không ki m th tính đúng đ n c a ph n m m t ng giai

đo n mà ch ki m giai đo n cu i và phát hi n ra l i

th ng bàn giao s n ph m không đúng h n

• Coi tr ng vi c l p trình h n khâu thi t k

gi m ch t l ng ph n m m

• Coi th ng vi c tái s d ng ph n m m (software reuse)

gi m n ng su t lao đ ng

• Ph n l n các thao tác trong quy trình phát tri n ph n m m

do con ng i th c hi n

gi m n ng su t lao đ ng

• Không ch ng minh đ c tính đúng đ n c a ph n m m

gi m đ tin c y c a ph n m m

42

Trang 8

Nh ng v n đ trong s n xu t ph n

m m (ti p)

• Chu n v m t ph n m m t t không th đo đ c m t cách đ nh l ng

 Không th đánh giá đ c m t h th ng đúng đ n hay không

• u t nhân l c l n vào b o trì

 gi m hi u su t lao đ ng c a nhân viên

• Công vi c b o trì kéo dài

 gi m ch t l ng c a t li u và nh h ng x u đ n nh ng

vi c khác

• Qu n lý d án l ng l o

 q u n lý l ch trình s n xu t ph n m m không rõ ràng

• Không có tiêu chu n đ c l ng nhân l c và d toán

 làm kéo dài th i h n và v t kinh phí c a d án

43

PH N I: GI I THI U CHUNG

V CÔNG NGH PH N M M

I B n ch t ph n m m

II Nh ng v n đ trong phát tri n ph n

m m

III.Quy trình phát tri n ph n m m

1 S ti n tri n c a các ph ng pháp thi t k ph n m m

2 nh ngh a Công ngh h c ph n m m

3 Vòng đ i c a ph n m m

4 M t s quy trình phát tri n ph n m m

44

1 S ti n tri n c a cức ph ng phứp

thi t k ph n m m

45

Ít quan tâm t i

ph n m m

T p trung nâng

cao tính n ng

và đ tin c y

c a ph n c ng

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

Chính sứch phân bi t giứ c gi a ph n c ng và ph n m m (IBM)

Nghiên c u c b n v ph ng phứp lu n l p trình

Xu t hi n khứi ni m “Software Engineering” (1968)

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 m t chuyên môn riêng

1 S ti n tri n c a cức ph ng phứp thi t k ph n m m

46

Nghiên c u v l p trình, ki m th , đ 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

H i ngh qu c t đ u tiên

v CNHPM đ c t ch c (1975): International Conference on SE (ICSE) 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

ph n m m” t n m 1981

Cu c “cứch tân s n xu t ph n m m” đã b t đ u trên

ph m vi cức n c công nghi p

1 S ti n tri n c a cức ph ng phứp

thi t k ph n m m

47

Trình đ h c v n và 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 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)

T h c v n sang 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: 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

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 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

Hình thứi s n xu t Ph n m m

48

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)

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)

Trang 9

2 Công ngh ph n m m (Software

Engineering)

• Bauer [1969]: CNPM 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]: CNPM 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]: CNPM 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

49

2 Công ngh ph n m m (Software Engineering)

• IEEE [1993]: CNPM là – (1) vi c áp d ng ph ng pháp ti p c n có h th ng, bài

b n và đ c l 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]: CNPM 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

50

2 Công ngh ph n m m (Software

Engineering)

• Sommerville [1995]: CNPM 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 m m

• K Kawamura [1995]: CNPM 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

51

2 Công ngh ph n m m (Software Engineering)

• Công ngh 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 scientific field to deal with methodologies, techniques and tools integrated in software production-maintenance process to obtain software with desired qualities]

52

Công ngh trong CNPM ?

• Nh các ngành công ngh h c khác, CNPM c ng

l y các ph ng pháp khoa h c làm c s

• Các k thu t v thi t k , ch t o, ki m th và

b o trì ph n m m đã đ c h th ng hóa thành

ph ng pháp lu n và hình thành nên CNPM

• 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 CNPM

53

Công ngh trong CNPM ? (ti p)

• 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)

• 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

• Cách ti p c n công ngh (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

54

Trang 10

Vòng đ i ph n m m

• Vòng đ i ph n m m là th i k tính t

khi ph n m m đ c sinh (t o) ra cho

đ n khi ch t đi (t lúc hình thành đứp

ng yêu c u, v n hành, b o d ng cho

đ n khi lo i b không đâu dùng)

• Quy trình ph n m m (vòng đ i ph n

m m) đ c phân chia thành các pha

chính: phân tích, thi t k , ch t o,

ki m th , b o trì Bi u di n các pha có

khác nhau theo t ng ng i

55

Cức ph ng phứp lu n và k thu t cho

t ng pha

thu t

Xác đ nh yêu c u Xác đ nh yêu c u ph n m m c t yêu c u ng i dùng Phân tích c u trúc hóa Thi t k

h th ng Thi t k c b n ph n m m Thi t k c u trúc ngoài c a ph n m m Thi t k c u trúc hóa Thi t k

ch ng trình

Là thi t k chi ti t: Thi t k c u trúc bên trong c a ph n m m (đ n v

ch ng trình ho c môđun)

L p trình c u trúc

Ph ng phứp Jackson

Ph ng phứp Warnier

m b o

ch t l ng Ki m tra ch t l ng ph n m m đã phứt tri n Ph ng phứp ki m th ch ng trình

V n hành

B o trì

S d ng, v n hành ph n m m đã phát tri n

3.4 Quy trình phát tri n ph n m m

Khung quy trình chung (Common process framework)

Các ho t đ ng giám sát, đánh giá k thu t, đ m b o ch t

l ng ph n m m, qu n lý c u hình, qu n lý r i ro,

(Umbrella activities)

Ho t đ ng khung (Framework activities)

T p tác v (Task sets)

Tác v (Tasks)

i m quan tr ng

(milestones),s n ph m chuy n

giao (deliverables)

i m Ki m Tra Ch t L ng

(SQA points)

57

Phases

Lu ng công vi c ti n trình (Process Workflows)

Các vòng l p

Quy trình h tr Môi tr ng qu n lý

Mô hình nghi p v

Cài đ t

Ki m th

Phân tích và thi t k

Preliminary Iteration(s) Iter

#1 Iter

#2 Iter

#n Iter

#n+1 Iter

#n+2 Iter

#m Iter

#m+1

Tri n khai

Qu n lý c u hình

Yêu c u

Elaboration Transition Inception Construction

Các dòng công vi c

M t vòng l p

58

4.1 Capability Maturity Model (CMM

by SEI): Mô hình kh n ng thu n th c

59

T i sao ph i s d ng mô hình CMM trong

công ngh làm ph n m m?

• Khó kh n khi không

s d ng CMM • Thu n l i khi s d ng CMM

• Các ti n trình ph n m m

th ng b thay đ i c p

nh t mà không có s

chu n b tr c

• c t m t ti n trình ph n

m m không ch t ch , d n

đ n s kh ng ho ng khi

th c hi n m t d án

• Thi u c s đ đứnh giá

ch t l ng ph n m m, đ

đ a ra ph ng th c ti n

hành và cách gi i quy t

các v n đ phát sinh

• D dàng qu n lý phát tri n

ph n m m Các ti n trình đ c

c p nh t qua s đi u khi n

c a các nhà ph n tích và ki m

th

• Vai trò, trách nhi m c a m i thành viên trong các ti n trình

đ c phân đ nh rõ ràng

• Qu n lý ch t l ng c a ph n

m m, tho mãn các yêu c u khách hàng Có c s chu n xác đứnh giá ch t l ng, th i gian, chi phí và phân tích d

án và các ti n trình

Các khái ni m

• Ti n trình (Process) – M t ti n trình ph n m m là m t t p h p các hành đ ng, ph ng th c, th c hành, thay đ i

mà ng i ta dùng đ duy trì và phát tri n

ph n m m c ng nh các thành ph n liên quan

t i chúng (ví d : k ho ch d án, thi t k , l p trình, ki m th , tài li u h ng d n )

• Kh n ng ti n trình ph n m m (Software Process Capability) – Cho bi t ph m vi k t qu có th mong đ i c a

m t ti n trình ph n m m

– D đoứn kh n ng làm d án ph n m m ti p theo c a công ty

60

Ngày đăng: 23/01/2016, 00:55

HÌNH ẢNH LIÊN QUAN

Hình thứi s n xu t Ph n m m - Bài giảng nhập môn công nghệ phần mềm chương 3
Hình th ứi s n xu t Ph n m m (Trang 8)

TỪ KHÓA LIÊN QUAN

w