Tải bản đầy đủ (.pdf) (18 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.91 MB, 18 trang )

8/26/2013

PH N I: GI I THI U CHUNG
V CÔNG NGH PH N M M

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 ?

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

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

1

1.

nh ngh a chung v ph n m m

• 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

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

nh l ng 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

3

nh ngh a 1

4

SW đ i ngh a v i HW

• 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

• 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

1


8/26/2013

nh ngh a 2

SW theo ngh a r ng

• 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


• 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

7

Ph n m m là gì ?
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

8

Ph n m m là gì ?
• 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

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

9

Ph n m m là gì ?
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


10

Ph n m m là gì ?
• 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

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

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

12

2


8/26/2013

Ph n m m
Nhìn t ph

2. Ki n trúc ph n m m
• Phân c p

H th ng con


Ch

ng trình

file t m th i

các file chính
(master files)

Ch

n v công vi c

H th ng con


nv b c
công vi c

ng trình



Module

Tham s

Module

Tham s


Ch ng
trình con

Ph n m m
Nhìn t ph

Ch

ng trình


Module

Các file
t m th i

Tham s

Ch



H th ng con




ng trình


Module

Tham s

Ch

ng trình
con



Module chung
(Common Module)






Program
Ch
c n ng E

ChModule
c n ng F

ChModule
c n ng G

Thi t k ch c

n ng


ChSubroutine
c n ng H

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



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

T ph ng pháp lu n ph n
m m sang k thu t ph n m m



Các file chính
Master files

Subsystem
Ch c n ng C



ng di n th t c

H th ng con

Subsystem
Ch
c n ng B

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

H th ng

C u trúc ph n
m m:


Program
Ch
c n ng D


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

Module chung
(Common module)



System
Ch
c n ng A

C u trúc chi u đ ng
(Vertical structure)

H th ng

ng di n c u trú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

• 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

15

T ph ng pháp lu n ph n m m sang
k thu t ph n m m

Môđun

ng hóa

Che gi u t.tin
Khứi ni m ph n m m


• 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

Phân tích c u trúc
Thi t k c u trúc
L p trình c u trúc
D
H

li u tr u t
ng đ i t

– Theo chi u sâu
– Theo chi u r ng

ng

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

ng

17


C u trúc r ng chi u ngang

SW

Phân chia chi u r ng

Tính đ c
l p kém
d n

Phân chia chi u sâu

Tr u t

3.1 Tính module
(Modularity)

C u trúc sâu chi u đ ng

Tinh ch nh t ng
b c

16

i u khi n
ph c t p
d n

18


3


8/26/2013

3.2 Tinh ch nh t ng b
(Step refinement)
• Cách ti p c n t
Th gi i bên ngoài

c

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

trên xu ng (top-down approach)
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

Chi
ti t
hóa

c t yêu c u
d n
t ng
b c


Ngôn ng
ch ng trình

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

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

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

C th hóa b

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

Bài toán đã cho

20

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


Nh p giá tr K

c ti p theo
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

Nh n giá tr nhóm N s

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

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

Tìm v trí gi a phân đôi m ng
So sánh K v i giá tr gi a

In ra v trí (n u có)

t l i ph m vi tìm ki m
21

M c mô t ch

Câu h i

ng trình (b ng PDL)

u
cK

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
K tThềc

22

B t

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

M2

Mn-1


âu là các đ c tính c n
có c a c u trúc này?

Mn
H th ng

23

4


8/26/2013

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

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

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

quy t đ nh
thi t k

design
decision
1

M

quy t đ nh
thi t k

design
decision

M2


design
decisionn-1


M

quy t đ nh
thi t k

quy t đ nh
thi t k
design
decision
n

M

H th ng

25

3.3. Che gi u thông tin
(Information hiding) [Parnas72]
Ng i
dùng

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..
interface Bicycle {
void changeCadence (int newValue);
void changeGear(int newValue);
void speedUp(int increment);

void applyBrakes(int decrement);
}

Giao
di n
Bí m t
Module

3.4. Tr u t ng hóa
(Abstraction)

Cài đ t các tài
nguyên c n xu t ra
class Bike implements Bicycle {
}
class Motor-Bike implements Bicycle {
}

• 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

C a là . . .

li u:

28

4.
• 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

c tính chung c a ph n m m

• 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

5


8/26/2013

5.1. Cức ch tiêu c b n

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

Y u
t
khái
ni m
ph n
m m
t t

Hi u su t x lý
Tính d hi u

• 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

c
tr ng
g n
đây

Cức ch tiêu c b n

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

5.2. Hi u su t x

32

5.3. D hi u

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

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

Tính d hi u: ch tiêu ngày càng quan tr ng
33

34

Phân lo i ph n m m

Ví d c th ???

Ph n m m

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

• Ph n m m th i gian th c (Real-time SW)
• Ph n m m nghi p v (Business SW)


H đi u hành

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

Ph n m m
ng d ng
Ph n m m m c
đích chung
Ph n m m x
v n b n

Ph n m m
nhúng

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

Ch

• Ph n m m máy cá nhân (Personal
computer SW)

ng trình
ti n ích

Ph n m m m c
đích đ c bi t
Ph n m m tính
toán KHKT


Ch ng trình
th vi n

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

Ch

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



Ph n m m trên
web
Ph n m m
nghi p v

ng trình
d ch
Ph n m m đ t
hàng

35

36

6


8/26/2013


Bài t p v nhà:
Phân bi t cức khứi ni m sau

PH N I: GI I THI U CHUNG
V CÔNG NGH PH N M M

• 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

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

38

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

M ts y ut
• 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


i vai trò giứ thành SW vs. HW
• 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

• Ví d :

39

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
dùng (khách hàng)

2. Nh ng khó kh n trong s n xu t
ph n m m
i

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






40


(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

• 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


7


8/26/2013

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

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

43

1. S ti n tri n c a cức ph
thi t k ph n m m
Í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

ng phứp

44

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

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

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
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” đã b t đ u trên
ph m vi cức n c công nghi p

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


1960

1970

1980

1990

1. S ti n tri n c a cức ph
thi t k ph n m m
Trình đ h c v n và ng
d ng 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 t ch c l n 5 và 6
n m 1981 và 1982 v i
trên 1000 ng i tham d
m in 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” (19811985)

2000

45


ng phứp

1960

1970

1970

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

1980

1990

2000

1980

1990

2000


46

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

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

a ra các k thu t, ph

47

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


1960

ng phứp

ng t i s n ớu t ph n m m t

đ ng
48

8


8/26/2013

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

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


• 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

49

50

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

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

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

51

52

Công ngh trong CNPM ?

Công ngh trong CNPM ? (ti p)

• 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


• 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

53

54

9


8/26/2013

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

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

Tên pha

N i dung nghi p ộ

Xác đ nh
yêu c u
Thi t k
h th ng
Thi t k
ch ng
trình

c t yêu c u ng i dùng
Xác đ nh yêu c u ph n m m
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
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

Mã hóa b i ngôn ng


l p trình

Ph ng pháp, k
thu t
Phân tích c u trúc
hóa
Thi t k c u trúc hóa
L p trình c u trúc
Ph ng phứp Jackson
Ph ng phứp Warnier
Mã hóa c u trúc hóa

m b o Ki m tra ch t l ng ph n m m đã phứt Ph ng phứp ki m
ch t l ng tri n
th ch ng trình
S d ng, v n hành ph n m m đã phát
V n hành
tri n.
Ch a c th
B o trì
Bi n đ i, đi u ch nh ph n m m
56

3.4 Quy trình phát tri n ph n m m
M t vòng l p

Khung quy trình chung (Common process framework)

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


Ho t đ ng khung (Framework activities)

Inception Elaboration

ng

Quy trình h tr

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)

Các dòng
công vi c

Qu n lý c u hình
Môi tr ng qu n lý
Preliminary
Iteration(s)

Iter.
#1

Iter.
#2

57

4.1. Capability Maturity Model (CMM

by SEI): Mô hình kh n ng thu n th c
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






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.

Thu n l i khi s
CMM








Transition

Cài đ t
Ki m th
Tri n khai

i m quan tr ng
(milestones),s n ph m chuy n
giao (deliverables)



Construction

Mô hình nghi p v
Yêu c u
Phân tích và thi t k

T p tác v (Task sets)
Tác v (Tasks)

i m Ki m Tra Ch t L
(SQA points)

Phases


Iter.
#n

Iter. Iter.
#n+1 #n+2

Các vòng l p

Iter.
#m

Iter.
#m+1
58

Các khái ni m
• Ti n trình (Process)

d ng

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

– 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

10


8/26/2013

thu n th c c a ti n trình
ph n m m


Th c thi ti n trình ph n m m
(Software Process Performance)

(Software process maturity)
• Ch rõ m t ti
xác đ nh, qu
khi n, đ t hi
• Cho bi t kh
giá tr c a ti
v ng ch c c

• Th c thi ti n trình ph n m m cho bi t k t
qu th c t c a m t ti n trình ph n m m.
• H ng t i k t qu đ t đ c còn kh n ng
ti n trình ph n m m cho th y k t qu có
th mong đ i.
• Do ph thu c vào đ c tr ng c a d án và
t ng tr ng h p c th , nên k t qu th c
t th ng không ph n ánh đ y đ kh
n ng ti n trình c a m t công ty.

n trình ph n m m đ c
n lý, đứnh giá, đi u
u qu m t cách rõ ràng.
n ng phát tri n, ch ra
n trình ph n m m, tính
a d án.

61


c. Mô hình chi ti t các thành ph n
trong c u trúc CMM.
M cđ
thu n th c

nh n đ

ch ra

Kh n ng
ti n trình

đ tđ

d. Mô hình 5 m c c a CMM
Ti n trình ph n m m mang
tính ch t tu ti n, l n x n, có
ít ti n trình đ c xác đ nh
tr c, hi u qu c a công vi c
mang tính riêng l .
Khó có đ c m t môi tr ng
làm vi c n đ nh. K ho ch và
ngân sách, ch t l ng s n
ph m và v n hành không th
Ti
d đoứn tr c đ c.

ct

Các vùng ti n

trình chính

t ch c b i

Các tính n ng
ph bi n

c

nh n đ

Th c thi ho c
th ch hoá

ti n trình c i
ti n liên t c

n trình d
đoán đ c

ct

Các th c
hành chính

ứnh x

Cức m c tiêu

62


Ti n trình n đ nh,
chu n
Ti n trình có
k lu t

mô t

C s h t ng ho c
cức ho t đ ng

C i ti n
(5)
c qu n lý
(4)

c đ nh ngh a
(3)

Có tính l p l i
(2)

Quá trình v n hành ph thu c vào kh n ng c a
t ng cá nhân riêng l , và th ng xuyên thay đ i
do ph thu c vào k n ng, trình đ hi u bi t và
các ho t đ ng c a t ng thành viên trong d án.

Ban đ u
(1)


63

d. Mô hình 5 m c c a CMM
Có s c i ti n h n, chi n
l c qu n lý d án vµ th
t c đ th c thi chi n l c
y đ c thi t l p. Các k
ho ch và qu n lý d án
m i đ c d a trên nh ng
kinh nghi m c a d án c .

Ti n trình c i
ti n liên t c
Ti n trình d
đoán đ c

Ti n trình n đ nh,
chu n
Ti n trình có
k lu t
Ban đ u
(1)

Có tính l p l i
(2)

64

d. Mô hình 5 m c c a CMM
L p đ c tài li u ti n trình

tiêu chu n đ i v i vi c phát
tri n và b o trì ph n m m
có t ch c, bao g m c
công ngh ph n m m, các
ti n trình qu n lý, và các
ti n trình tích h p v i nhau
(ngh a r ng đ u ra c a m t
ti n trình s là đ u vào c a
ti n trình ti p theo ).

C i ti n
(5)
c qu n lý
(4)

Ti n trình c i
ti n liên t c
Ti n trình d
đoán đ c

Ti n trình n đ nh,
chu n

c đ nh ngh a
(3)

K t qu là đ a đ c nh ng hi u qu qu n lý ti n
trình c a m t d án nµy vào m t d án khác.
i u này cho phép l p l i (repeatable) nh ng
thành công đ i v i m t d án t ng t m c dù

có th các d án này c ng có nh ng đi m khác
bi t.
65

Ti n trình có
k lu t
Ban đ u
(1)

Có tính l p l i
(2)

C i ti n
(5)
c qu n lý
(4)

c đ nh ngh a
(3)

M t ti n trình đ c đ nh ngh a t t g m có các
tính ch t nh có tiêu chu n, đ u vào, tiêu chu n
và th t c rõ ràng đ ti n hành công vi c, ki m
tra các đ u ra.

66

11



8/26/2013

d. Mô hình 5 m c c a CMM
M c tiêu là đi u khi n ti n
trình. Các ti n trình ph n
m m đ c qu n lý đ v n
hành n đ nh, an toàn. Có
nh ng đứnh giá ph n m m
và ch t l ng, hi u qu các
ho t đ ng trong ti n trình.

Ti n trình c i
ti n liên t c
Ti n trình d
đoán đ c

Ti n trình n đ nh,
chu n
Ti n trình có
k lu t

Ti p t c c i ti n ti n trình,
có th xác đ nh đ c
nh ng đi m m nh và đi m
y u c a ti n trình, có kh
n ng phân tích các khi m
khuy t, xác đ nh các
nguyên nhân gây ra đ
tránh các khi m khuy t
này.


C i ti n
(5)
c qu n lý
(4)

Ti n trình c i
ti n liên t c
Ti n trình d
đoán đ c

Ti n trình n đ nh,
chu n

c đ nh ngh a
(3)

Có tính l p l i
(2)

Ban đ u
(1)

d. Mô hình 5 m c c a CMM

Do các ti n trình n đ nh và đ c đứnh giá đúng
nên khi có các tr ng h p ngo i l , s xác đ nh
và ch rõ nh ng nguyên nhân gây ra bi n đ i.

Ti n trình có

k lu t

C i ti n
(5)
c qu n lý
(4)

c đ nh ngh a
(3)

Có tính l p l i
(2)

Ban đ u
(1)

67

18 Vùng ti n trình chính
KPA (Key Process Area)
LEVEL 2: Có th l p
1. Qu n lý c u hình
ph n m m
2.
m b o ch t
l ng ph n m m
3. Qu n lý h p đ ng
con ph n m m
4. Theo dõi và giám
sát d án ph n m m

5. L p k ho ch d
án ph n m m
6. Qu n lý yêu c u

M C 3:

7. Xem xét ngang nhau
8. H p tác gi a các
nhóm
9. K thu t s n ph m
ph n m m
10. Qu n lý ph n m m
tích h p
11. Ch ng trình hu n
luy n
12. nh ngh a ti n trình
t ch c
13. Tr ng tâm ti n trình
t ch c

c đ nh ngh a
M C 4:

14.
Qu n lý ch t
l ng ph n m m
15.
Qu n lý quá trình
đ nh l ng


68

Kh n ng nhìn nh n t i m i m c thu n
th c
16.
Qu n lý thay
đ i ti n trình
17.
Qu n lý thay
đ i công ngh
18.
Phòng ng a
khiêm khuy t

c qu n lý
M C 5: C i ti n
69

Kh n ng ti n trình và d
các m c c a CMM

đoứn theo

70

e. Cứch th c s

• Khi m c đ thu n th c t ng, s sai khức gi a k t
qu đ t đ c và k t qu d tính gi m xu ng.
• Khi m c đ thu n th c t ng, đ bi n đ ng c a

k t qu th c t so v i k t qu đ ra gi m xu ng.
• Khi m c đ thu n th c t ng thì cức k t qu s
đ c c i thi n. ó là, chi phí gi m, th i gian phứt
tri n ng n h n, ch t l ng và n ng su t t ng.

71

d ng mô hình CMM

nh giứ ti n trình ph n m m (Software process
assessments ) xức đ nh tr ng thứi c a ti n trình
ph n m m hi n t i c a t ch c, xức đ nh m c đ
u tiên đ i v i cức v n đ có liên quan t i ti n
trình ph n m m khi x lý chúng và xây d ng h
th ng h tr phứt tri n ti n trình ph n m m.

ứnh giứ kh n ng ph n m m (Software
capability evaluations) xức đ nh cức nhà th u có
đ t cứch tri n khai m t d ứn ph n m m ho c
qu n lý hi n tr ng c a m t h th ng ph n m m
đã có s n.


72

12


8/26/2013


Nh ng đi m chung c a 2 ph
s d ng CMM
L a
ch n đ i

Câu h i
thu n th c

ng th c

4.2. Mô hình tuy n tính
• Công ngh h c H th ng / Thông tin và mô hình
hóa (System / Information engineering and
modeling): thi t l p các yêu c u, ánh x m t s
t p con các yêu c u sang ph n m m trong quá
trình t ng tác gi a ph n c ng, ng i và CSDL

Phân
tích tr
l i

Các m u CMM
(1)

(2)

(3)
H

Th m t i

ch
Ph ng v n
và xem xét
tài li u

(4)

s

KPA

Tìm ki m
Phân tích
D a trên CMM

Thi t k

L p trình

Ki m th

Công ngh h c
H th ng / Thông tin

(5)

(6)

73


74

4.2. Mô hình tuy n tính

4.2. Mô hình tuy n tính

T o mã / l p trình (Code generation /
programming): Chuy n thi t k thành
ch ng trình máy tính b i ngôn ng nào
đó. N u thi t k đã đ c chi ti t hóa thì
l p trình có th ch thu n túy c h c

• H tr / B o trì (Support / Maintenance): ứp
ng nh ng thay đ i, nâng c p ph n m m đã phát
tri n do s thay đ i c a môi tr ng, nhu c u

Phân tích

Thi t k

Ki m th (Testing): Ki m tra
các ch ng trình và môđun c
v lôgic bên trong và ch c n ng
bên ngoài, nh m phát hi n ra
l i và đ m b o v i đ u vào xác
đ nh thì cho k t qu mong
mu n

L p trình


Ki m th

Phân tích

Công ngh h c
H th ng / Thông tin

Thi t k

L p trình

Ki m th

Công ngh h c
H th ng / Thông tin
75

76

4.3. Mô hình ch th
model)

i m y u c a Mô hình tuy n tính
• Th c t cức d ứn ít khi tuân theo dòng tu n t
c a mô hình, mà th ng có l p l i (nh mô hình
c a Boehm)
• Khứch hàng ít khi tuyên b rõ ràng khi nào xong
h t cức yêu c u
• Khứch hàng ph i có lòng kiên nh n ch đ i th i
gian nh t đ nh m i có s n ph m. N u phứt hi n

ra l i n ng thì là m t th m h a!

(Prototyping

T o/s a
b nm u

Nghe Khách
trình bày

Khách ki m tra
b nm u

77

78

13


8/26/2013

4.4. Mô hình phát tri n ng d ng nhanh
(Rapid Application Development: RAD)

Mô hình ch th : Khi nào ?
• Khi m i rõ m c đích chung chung c a ph n m m,
ch a rõ chi ti t đ u vào hay x lý ra sao ho c
ch a rõ yêu c u đ u ra
• Dùng nh “H s khai” đ thu th p yêu c u ng i

dùng qua cức thi t k nhanh
• Cức gi i thu t, k thu t dùng làm b n m u có th
ch a nhanh, ch a t t, mi n là có m u đ th o
lu n g i yêu c u c a ng i dùng

• Là quy trình phát tri n ph n m m gia t ng, t ng d n
t ng b c (Incremental software development) v i
m i chu trình phát tri n r t ng n (60-90 ngày)
• Xây d ng d a trên h ng thành ph n (Componentbased construction) v i kh n ng tái s d ng (reuse)
• G m m t s nhóm (teams), m i nhóm làm 1 RAD
theo các pha: Mô hình nghi p v , Mô hình d li u, Mô
hình x lý, T o ng d ng, Ki m th và đứnh giá
(Business, Data, Process, Appl. Generation, Test)

79

Mô hình phứt tri n

Team #3

ng d ng nhanh

RAD: Business modeling

Mô hình
nghi p v
Mô hình
Team #2
d li u
Mô hình

Mô hình
nghi p v
ti n trình
T o

hình
Team #1
ng d ng
d li u
Ki m th
Mô hình
Mô hình
&Turnover

nghi p v

80

• Lu ng thông tin đ
câu h i:






ti n trình
T o
ng d ng
Ki m th

Mô hình
&Turnover

Mô hình
d li u

c mô hình hóa đ tr l i cức

Thông tin nào đi u khi n x
Thông tin gì đ c sinh ra?
Ai sinh ra nó ?
Thông tin đi đ n đâu ?
Ai x lý chúng ?

lý nghi p v ?

ti n trình

T o
ng d ng
Ki m th
&Turnover
82

60 - 90 days

RAD: Mô hình d

li u và ti n trình


• Mô hình d li u (Data modeling): các đ i t ng
d li u c n đ h tr nghi p v (business). nh
ngh a các thu c tính c a t ng đ i t ng và xác
l p quan h gi a các đ i t ng
• Mô hình ti n trình (Process modeling): Các đ i
t ng d li u đ c chuy n sang lu ng thông tin
th c hi n ch c n ng nghi p v . T o mô t x lý
đ c p nh t (thêm, s a, xóa, khôi ph c) t ng đ i
t ng d li u

83

RAD: T o

ng d ng và ki m th

• T o ng d ng (Application Generation): Dùng các
k thu t th h 4 đ t o ph n m m t các thành
ph n có s n ho c t o ra các thành ph n có th
tái d ng l i sau này. Dùng các công c t đ ng
đ xây d ng ph n m m
• Ki m th (Testing and Turnover): Ki m th các
thành ph n m i và ki m ch ng m i giao di n
(các thành ph n c đã đ c ki m th và dùng
l i)

84

14



8/26/2013

RAD: H n ch ?

M đ u

• C n ngu n nhân l c d i dào đ t o cức nhóm cho
cức ch c n ng chính
• Yêu c u hai bên giao kèo trong th i gian ng n
ph i có ph n m m hoàn ch nh, thi u trứch nhi m
c a m t bên d làm d ứn đ v
• RAD không ph i t t cho m i ng d ng, nh t là
v i ng d ng không th môđun hóa ho c đòi h i
tính n ng cao
• M o hi m k thu t cao thì không nên dùng RAD

• Ph n l n các h ph n m m ph c t p đ u
ti n hóa theo th i gian: môi tr ng thay
đ i, yêu c u phát sinh thêm, hoàn thi n
thêm ch c n ng, tính n ng
• Các mô hình ti n hóa (evolutionary
models) có tính l p l i. K s ph n m m
t o ra các phiên b n (versions) ngày càng
hoàn thi n h n, ph c t p h n
• Các mô hình tiêu bi u:






Gia t ng (Incremental)
Xo n c (Spiral)
Xo n c WINWIN (WINWIN spiral)
Phát tri n đ ng th i (Concurrent development)

85

Mô hình gia t ng
(The incremental model)

86

Mô hình gia t ng

• K t h p mô hình tu n t và ý t ng l p l i c a
ch b n m u
• S n ph m lõi v i nh ng yêu c u c b n nh t c a
h th ng đ c phứt tri n
• Cức ch c n ng v i nh ng yêu c u khức đ c phứt
tri n thêm sau (gia t ng)
• L p l i quy trình đ hoàn thi n d n

Gia t ng 1
Phân tích

Thi t k

L p trình


Xu t x

Ki m th

ng 1

Công ngh h
th ng/thông tin

Gia t ng 2

Phân tích

Gia t ng 3

Thi t k

Phân tích

Gia t ng 4

L p trình

Ki m th

Xu t x

ng 2

Thi t k


L p trình

Ki m th

Xu t x

Phân tích

Thi t k

L p trình

Ki m th

ng 3

XX 4

Th i gian/l ch
87

Mô hình xo n c (spiral)
L p k ho ch

Mô hình xo n c (ti p)
• Giao ti p khứch hàng: gi a ng i phứt tri n và
khứch hàng đ tìm hi u yêu c u, ý ki n
• L p k ho ch: Xức l p tài nguyên, th i h n và
nh ng thông tin khức

• Phân tích r i ro: Xem xét m o hi m k thu t và
m o hi m qu n lý
• K ngh : Xây d ng m t hay m t s bi u di n c a
ng d ng

Phân tích r i ro

Giao ti p
khách hàng

Khái ni m

88

K ngh

Làm m i
Nâng c p
B o trì

Khách hàng
đánh giá

Xây d ng &
Xu t x ng

89

90


15


8/26/2013

Mô hình xo n c (ti p)

Mô hình xo n c: M nh và y u?

• Xây d ng và xu t x ng: xây d ng, ki m th , cài
đ t và cung c p h tr ng i dùng (t li u, hu n
luy n, . . .)

ứnh giứ c a khứch hàng: Nh n cức ph n h i c a
ng i s d ng v bi u di n ph n m m trong giai
đo n k ngh và cài đ t

• T t cho cức h ph n m m quy mô l n
• D ki m soứt cức m o hi m t ng m c ti n hóa
• Khó thuy t ph c khứch hàng là ph ng phứp ti n
hóa xo n c có th ki m soứt đ c
• Ch a đ c dùng r ng rãi nh cức mô hình tuy n
tính ho c ch th

91

Mô hình xo n c WINWIN

92


Mô hình xo n c WINWIN

• Nh m th a hi p gi a ng i phứt tri n và khứch
hàng, c hai cùng “Th ng” (win-win)

2. Xác đ nh đi u ki n
th ng c a c đông

– Khứch thì có ph n m m th a mãn yêu c u chính
– Ng i phứt tri n thì có kinh phí th a đứng và th i gian
h p lý

3a. Hòa h p đi u ki n th ng
3b. Thi t l p m c tiêu m c ti p
và các ràng bu c, d ki n

1. Xác đ nh m c
ti p c a c đông

• Cức ho t đ ng chính trong xức đ nh h th ng:

4. ánh giá ti n trình và
d ki n s n ph m,
gi i quy t r i ro

– Xức đ nh c đông (stakeholders)
– Xức đ nh đi u ki n th ng c a c đông
– Th a hi p đi u ki n th ng c a cức bên liên quan
7. Xét duy t và đánh giá
6. Ki m đ nh s n ph m

và quy trình

5. Xác đ nh m c ti p c a
s n phâm và quy trình,
k c phân chia nh

93

94

Mô hình phát tri n đ ng th i
(concurrent development)

Mô hình h ng thành ph n
Component-based model

• Xác đ nh m ng l i nh ng ho t đ ng đ ng th i
(Network of concurrent activities)
• Các s ki n (events) xu t hi n theo đi u ki n v n
đ ng tr ng thái trong t ng ho t đ ng
• Dùng cho m i lo i ng d ng và cho hình nh khá
chính xác v tr ng thái hi n tr ng c a d án
• Th ng dùng trong phát tri n các ng d ng
khách/ch (client/server applications): h th ng
và các thành ph n c u thành h th ng đ c phát
tri n đ ng th i

• G n v i nh ng công ngh h ng đ i t ng
(Object-oriented technologies) qua vi c
t o các l p (classes) có ch a c d li u và

gi i thu t x lý d li u

95

• Có nhi u t

ng đ ng v i mô hình xo n c

• V i u đi m tái s d ng các thành ph n
qua Th vi n / kho các l p: ti t ki m 70%
th i gian, 80% giá thành, ch s s n xu t
26.2/16.9
• V i UML nh chu n công nghi p đang
tri n khai
96

16


8/26/2013

4.7. Mô hình RUP
(Rational Unified Process)

Mô hình d a thành ph n
L p k ho ch

• SV t
Phân tích r i ro


Giao ti p
khách hàng

Xây d ng
b c l p th n
c a h th ng

Khách hàng
đánh giá

K ngh
Xây d ng &
Xu t x ng

nghiên c u

Xác đ nh
thành ph n
ng viên

t
thành ph n
vào th vi n

Tìm
thành ph n
t th vi n

L y
thành ph n

n u có

Xây d ng
thành ph n
n u kh.có

97

98

4.8. Các k thu t th h 4
(Fourth generation techniques)

T ng k t các mô hình
• Thác n c: mô hình tuy n tính
• Ch th : mô hình l p đi l p l i
• Gia t ng: k t h p gi a mô hình tuy n
tính và l p đi l p l i
• Xo n c: k t h p gi a mô hình tuy n
tính và l p đi l p l i
• Phát tri n nhanh: mô hình l p đi l p l i

• T p h p cức công c cho phép xức
đ nh đ c tính ph n m m m c cao,
sau đó sinh t đ ng mã ngu n d a
theo đ c t đó
• Cức công c 4GT đi n hình: ngôn ng
phi th t c cho truy v n CSDL; t o
bứo cứo; x lý d li u; t ng tức màn
hình; t o mã ngu n; kh n ng đ h a

b c cao; kh n ng b ng tính; kh
n ng giao di n Web; vv

99

100

5. S n ph m và quy trình
(Product and process)

4GT: T i sao ?
• T thu th p yêu c u cho đ n s n ph m: đ i tho i
gi a khứch và ng i phứt tri n là quan tr ng
• Không nên b qua khâu thi t k . 4GT ch ứp d ng
đ tri n khai thi t k qua 4GL
• M nh: gi m th i gian phứt tri n và t ng n ng
su t
• Y u: 4GT khó dùng h n ngôn ng l p trình, mã
khó t i u và khó b o trì cho h th ng l n  c n
k n ng c a k s ph n m m
• T ng lai: 4GT v i mô hình theo thành ph n

101

• Quy trình y u thì s n ph m khó mà t t, song
không nên coi tr ng quá m c vào quy trình ho c
quá m c vào s n ph m
• S n ph m và quy trình c n đ c coi tr ng nh
nhau


102

17


8/26/2013

Nh ng vi c c n làm
Công ội c

B u l p tr

ng

Ng i
tham
gia

Ng i
ph
trách

K t qu

c nđ t

T t c SV

T t c SV


Có l p tr

Tham gia vào h p th
nhóm

T t c SV

L p
tr ng

T t c các SV đ ng ký h c môn này
đ u ph i gia nh p h p th nhóm
L u ý: khi gia nh p, đ i tên hi n th
theo d ng:
H và tên MSSV l p khoá

4/9/2012

Ch t danh sách sinh viên
và phân nhóm BTL
(3-4 ng i)

T t c SV

L p
tr ng

Danh sách phân nhóm g m:
mã nhóm (FSE01 – FSExx),
h tên SV, s hi u SV, l p, email,

nhóm tr ng (t/f).

4/9/2012

Nhóm
tr ng

L p
tr ng

Danh sách đ ng ký bài t p l n =
danh sách phân nhóm +
mã BTL (BTL01 - BTLyy) +
mô t ng n g n BTL
Mã nhóm H và tên MSSV l p
khoá

25/9/2012

Làm bài t p /bài t p l n

T t c SV

T t c SV
/ Nhóm
tr ng

Báo cáo, mã ngu n / tài li u CT

Theo yêu c u

c a giáo viên

Ch a bài t p /bài t p l n

T t c SV

T t c SV
/ Nhóm
tr ng

Báo cáo, mã ngu n / tài li u CT

Theo yêu c u
c a giáo viên

B o v bài t p l n

T t c SV

T t c SV

Slide, thuy t trình, demo CT (max 3

Theo yêu c u
c a

ng ký bài t p l n

ng


H n chót

28/8/2012

103

Bài t p v nhà
• Bài t p v nhà: M t s ví d v các ph n m m có
th áp d ng các quy trình nói trên

104

18



×