You are on page 1of 283

Trng ai Hoc Bach Khoa Tp.

Ho Ch Minh Khoa Cong Nghe Thong Tin

CONG NGHE PHAN MEM

Mon hoc

- Trang 1 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

GII THIEU MON HOC

ac iem
Ma so: 501095 So tn ch: 2 Phan phoi gi: 2(2.1.4) Mon hoc trc: Toan Tin Hoc (501302)

Tom tat noi dung


Cac khai niem c ban cua Cong Nghe Phan Mem: cac mo hnh phat trien phan mem, phan tch yeu cau, thiet ke, kiem tra 2 trng phai chnh: co cau truc (co ien) & hng oi tng Chuan UML va viec ap dung no trong phng phap hng oi tng Thc hanh tai phong Lab: lam quen vi cong cu Rational Rose
- Trang 2 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

GII THIEU MON HOC (t.t)


Tai lieu tham khao
[1] Software Engineering - A practitioners approach, R.S. Pressman, McGraw-Hill, 1997 [2] OMG Unified Modeling Language Specification, version 1.3, Object Management Group (www.omg.org), 1999 [3]UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [4] Object-Oriented Software Engineering, A Use-Case Driven Approach, I. Jacobson, ACM Press/Addison-Wesley, 1992 [5] Object-Oriented Analysis and Design with Applications, G. Booch, The Benjamin Cummings Publishing Company, 1994
- Trang 3 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

GII THIEU MON HOC (t.t)


Hnh thc anh gia
Thi gia ky: trac nghiem khong s dung tai lieu, chiem 20 % ket qua cuoi cung Thi cuoi ky: trac nghiem khong s dung tai lieu, chiem 80 % ket qua cuoi cung

- Trang 4 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

E CNG
Chng 1: Gii thieu ve Cong Nghe Phan Mem Chng 2: Phan tch yeu cau theo phng phap co ien Chng 3: Cac khai niem c ban cua mo hnh hng oi tng Chng 4: Mo hnh nghiep vu va thu thap yeu cau Chng 5: Phan tch yeu cau hng oi tng Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien Chng 7: Thiet ke hng oi tng Chng 8: Hien thc va trien khai he thong Chng 9: Ky thuat kiem tra phan mem Chng 10: Chien thuat kiem tra phan mem
- Trang 5 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

GII THIEU VE CONG NGHE PHAN MEM


Mot so khai niem Cac mo hnh phat trien phan mem

Chng 1

- Trang 6 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

NOI DUNG
1.1. Mot so khai niem
1.1.1. Khung hoang phan mem 1.1.2. nh ngha 1.1.3. Chu trnh (process), phng phap (method), cong cu (tool) 1.1.4. Mot cach nhn tong quan ve cong nghe phan mem 1.1.5. Mo hnh CMM 1.2.1. Mo hnh tuan t tuyen tnh 1.2.2. Mo hnh prototype 1.2.3. Mo hnh xoan oc 1.2.4. Mo hnh tang dan 1.2.3. Mo hnh RAD

1.2. Cac mo hnh phat trien phan mem

- Trang 7 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

KHUNG HOANG PHAN MEM


Phan mem c viet ngay t khi xuat hien cac he may tnh va ngon ng lap trnh au tien Tren thc te san xuat phan mem khong ap ng kp yeu cau cua ngi s dung
- Trang 8 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

KHUNG HOANG PHAN MEM (t.t)


Cac d lieu quan sat c
C 6 e an trien khai th co 2 b huy bo Trung bnh thi gian thc hien thc te b keo dai 50 % (ca biet 200300%) Cac e an ln de that bai 3/4 cac he thong ln co loi khi thc thi Qua trnh phan tch yeu cau (5 % cong sc): e lai 55 % loi, co 18 % phat hien c Qua trnh thiet ke (25 % cong sc): e lai 30 % loi, co 10 % phat hien c Qua trnh ma hoa, kiem tra va bao tr: e lai 15 % loi, co 72 % phat hien c
- Trang 9 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

KHUNG HOANG PHAN MEM (t.t)


Nguyen nhan
Phat trien phan mem giong nh mot nghe thuat, cha c xem nh mot nganh khoa hoc Qua trnh phat trien phan mem cha c thong nhat Phai viet lai s/w moi khi co s thay oi ve ngon ng, h/w hoac o/s Cha at c 1 chuan cho viec o lng hieu suat va san pham o phc tap cua phan mem qua cao oi vi 1 kien truc s Ky thuat ac ta e lai s nhap nhang trong cac yeu cau phan mem Lam viec nhom khong ung ky luat gay ra cac loi
- Trang 10 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

KHUNG HOANG PHAN MEM (t.t)


Hng ti cong nghe san xuat phan mem chuyen nghiep
science

production

professional engineering

commercialization craft

- Trang 11 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

NH NGHA
nh ngha co ien (cua Fritz Bauer)
Cong Nghe Phan Mem la s thiet lap va s dung cac nguyen tac khoa hoc nham muc ch tao ra cac phan mem mot cach kinh te ma cac phan mem o hoat ong hieu qua va tin cay tren cac may tnh.

- Trang 12 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

NH NGHA (t.t)
nh ngha khac: Cong Nghe Phan Mem
La cac quy trnh ung ky luat va co nh lng c ap dung cho s phat trien, thc thi va bao tr cac he thong thien ve phan mem Tap trung vao quy trnh, s o lng, san pham, tnh ung thi gian va chat lng

- Trang 13 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

CHU TRNH
Chu trnh (process) nh ngha mot bo khung cac tieu chuan phai c thiet lap e trien khai cong nghe phan mem.

- Trang 14 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

PHNG PHAP
Phng phap (method) ch ra cach thc hien nhng cong viec cu the (how to):
phan tch yeu cau thiet ke xay dng chng trnh kiem tra sa loi ...
- Trang 15 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

CONG CU
Cong cu (tool) cung cap cac ho tr t ong hay ban t ong oi vi chu trnh va phng phap Cac cong cu c tch hp tao thanh CASE (Computer Aided Software Engineering)

- Trang 16 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MOT CACH NHN TONG QUAN VE CNPM


Gom 3 giai oan ln
Giai oan nh ngha: Phan tch he thong (system engineering), Hoach nh e tai (software project management), Phan tch yeu cau (requirement analysis). Giai oan phat trien: Thiet ke phan mem (software design), sinh ma (code generation), kiem tra phan mem (software testing) Giai oan bao tr: Sa loi (correction), thay oi moi trng thc thi (adaptation), tang cng (enhancement)

- Trang 17 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH CMM
Optimized (Level 5) Risk Defined (Level 3) Repeatable (Level 2) Initial (Level 1) Competitiveness Managed (Level 4)

- Trang 18 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

CAC MO HNH PHAT TRIEN PHAN MEM


Mo hnh tuan t tuyen tnh: co ien Mo hnh prototyping: prototype Mo hnh xoan oc: anh gia rui ro Mo hnh tang dan: cac bc lap Mo hnh RAD: thi gian phat trien ngan

- Trang 19 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH TUAN T TUYEN TNH


System Engineering Requirement Analysis Software Design Coding Test Maintenance

Mo hnh phat trien phan mem au tien Cac cong viec tiep noi nhau mot cach tuan t at nen mong cho cac phng phap phan tch, thiet ke, kiem tra

- Trang 20 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH TUAN T TUYEN TNH (t.t)


Boc lo mot so khuyet iem
Ban chat cua phat trien phan mem la qua trnh lap i lap lai ch khong phai tuan t Bat buoc khach hang ac ta tat ca yeu cau mot cach chnh xac va ay u ngay t ban au Khach hang thng phai ch i rat lau e thay c phien ban au tien cua san pham Ton tai delay trong nhom lam viec

- Trang 21 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH PROTOTYPING
Xay dng prototype

Thao luan vi khach hang

anh gia cua khach hang

Prototype nh la mot c che e nhan dien chnh xac yeu cau cua khach hang Prototype co the b throw-away Mot so khuyet iem Khach hang hoi thuc nha phat trien hoan thanh san pham mot khi thay c cac prototype au tien Cac prototype thng khong hoat ong hieu qua

- Trang 22 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH XOAN OC
R nh ngha quy trnh Hoach nh e tai R anh gia rui ro Phat trien san pham lan lap tiep theo

c thc hien theo mot chuoi lap kieu xoan oc, moi lan lap cai thien san pham Co phng phap anh gia rui ro Co the ap dung prototype Moi lan lap c cai thien cho thch nghi vi ban chat cua e an
- Trang 23 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH TANG DAN


Phan tch yeu cau
Thiet ke kien truc

1 2 3

Phat trien module Tch hp

Kiem tra he thong

- Trang 24 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH TANG DAN (t.t)


Cac bc (iteration) au tap trung vao yeu cau cua phan mem va thiet lap mot kien truc on nh cho he thong (t phai thay oi sau nay) Cac bc sau tap trung vao viec xay dng san pham e cuoi cung chuyen sang giai oan kiem tra he thong Moi bc hien thc mot phan cu the trong toan bo yeu cau cua he thong Qua trnh xay dng va chien thuat kiem tra theo kieu tang dan va da tren phng phap kiem tra hoi quy.
- Trang 25 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

MO HNH RAD
Business modeling Data modeling Process modeling Application generation Testing & Turnover

Rapid Application Development la mo hnh tuan t tuyen tnh co thi gian phat trien rat ngan S dung cac thanh phan co san cang nhieu cang tot S dung cong cu lap trnh dang t ong sinh ma ch khong phai cac ngon ng truyen thong
- Trang 26 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 1: Gii thieu ve CNPM

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

PHAN TCH YEU CAU THEO PHNG PHAP CO IEN


Mo hnh phan tch DFD & STD T ien d lieu

Chng 2

- Trang 27 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

GII THIEU
Khach hang va nha phat trien gap nhau e thao luan ve yeu cau cua he thong phan mem can xay dng Nha phat trien kiem chng lai (validate) yeu cau va bieu dien no bang mo hnh phan tch Mo hnh phan tch (WHAT?): cac chc nang, d lieu input & output, cac trang thai khac nhau...
- Trang 28 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

NOI DUNG
2.1. Cac yeu to can ban cua mo hnh phan tch 2.2. Mo hnh chc nang va dong thong tin
2.2.1. Lc o dong chay d lieu vi cac ky hieu c ban 2.2.2. M rong cua Ward va Mellor 2.2.3. M rong cua Hatley & Pirbhai

2.3. Mo hnh hanh vi phan mem 2.4. Ky thuat phan tch yeu cau
2.4.1. Xay dng DFD 2.4.2. Viet PSPEC

2.5. T ien d lieu


- Trang 29 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

CAC YEU TO CAN BAN CUA MO HNH PHAN TCH


ac ta oi tng d lieu Process Specification (PSPEC)

Mo hnh chc nang va


Lu o quan he thc the Lu o dong chay d lieu

dong thong tin: DFD, PSPEC Mo hnh d lieu: ERD, ac ta oi tng d lieu

T ien d lieu

Lu o dch chuyen trang thai

Mo hnh hanh vi: STD, CSPEC

Control Specification (CSPEC)

- Trang 30 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

MO HNH CHC NANG VA DONG THONG TIN


Mo ta dong thong tin di chuyen (flow) xuyen qua cac he thong thien ve phan mem. Thong tin input cung nh output co the nhieu dang khac nhau: file, ban phm, tren mang, t thiet b, ket xuat ra man hnh va may in Cac giai thuat x ly cung rat a dang

- Trang 31 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

MO HNH CHC NANG VA DONG THONG TIN (t.t)


Lu o dong chay d lieu DFD (Data Flow Diagram) cung cap 4 ky hieu c ban e mo hnh s di chuyen cua dong thong tin DFD c m rong e mo hnh cac he thong thi gian thc
M rong cua Ward va Mellor (t oc: [1], trang 312) M rong cua Hatley & Pirbhai (t oc: [1], trang 315)

- Trang 32 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

LC O DONG CHAY D LIEU (DFD)


4 phan t chnh
Thc the: tao ra hoac tieu thu thong tin, nam ben ngoai bien gii cua pham vi thong tin he thong Chc nang x ly: thc hien chc nang nao o, tieu thu va tao ra thong tin, nam ben trong pham vi thong tin he thong Thong tin hay d lieu Kho d lieu: lu tr d lieu ma c s dung bi nhieu chc nang x ly

Thc the

Chc nang x ly

Kho d lieu D lieu

- Trang 33 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

LC O DONG CHAY D LIEU (t.t)


DFD c xay dng qua nhieu mc khac nhau: mc 0, 1, 2 DFD mc sau chi tiet hn mc trc Process Specification (PSPEC) bo sung cho DFD Tnh lien tuc cua dong d lieu

- Trang 34 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

MO HNH HANH VI PHAN MEM


ay giay va san sang Yeu cau copy Copy xong Yeu cau oc lenh oc lenh Ranh Yeu cau oc lenh

Lc o dch chuyen trang thai (STD) the hien


Cac trang thai khac nhau cua he thong S dch chuyen gia cac trang thai o

ay giay Yeu cau oc lenh Nap giay

Thc hien copy

Het giay Yeu cau nap giay

V du: mieu ta hoat


Ket giay Yeu cau x ly loi X ly loi Het ket giay Yeu cau oc lenh

ong cua may photocopy

- Trang 35 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

KY THUAT PHAN TCH YEU CAU


Thiet lap oan van mieu ta chc nang (processing narrative) cho he thong can xay dng Xay dng DFD cac mc khac nhau
Thiet lap s o ng canh (DFD mc 0) Phan hoach DFD vao cac mc cao hn S dung phng phap duyet van pham. Luon luon tuan theo tnh lien tuc cua dong d lieu

Viet PSPEC cho cac chc nang cua DFD mc cao nhat
- Trang 36 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

XAY DNG DFD


Phan mem SafeHome: Thiet lap oan van mieu ta x ly DFD mc ng canh: nhan dien cac thc the va d lieu input, output
Bang ieu khien
Lenh va d lieu Thong tin hien th

Man hnh

SafeHome
Trang thai cam ng

Kieu bao ong

Chuong

Tan so cua so ien thoai

Bo cam ng

ng ien thoai

- Trang 37 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

XAY DNG DFD (t.t)


Bang ieu khien
Lenh va d lieu Yeu cau cau hnhh

Cau hnh he thong


Thong so cau hnh

Tng tac vi user


Mat ma

DFD mc 1: hnh thanh mot so chc nang chnh


Man hnh

Start/stop

Cam/ Cho phep

Thong bao a/d Thong tin hien th

X ly mat ma

Xac nhan mat ma Thong tin cam ng

Hien th

Trang thai cam ng

Theo doi cam ng

Kieu bao ong Tan so cua so ien thoai

Chuong

Bo cam ng

ng ien thoai

- Trang 38 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

XAY DNG DFD (t.t)


Thong tin cam ng

DFD mc 2: tinh che chc nang Theo doi cam ng

Thong so cau hnh Id, type, v tr D lieu cau hnh

nh dang hien th

Id, type

Thiet lap ieu kien bao ong

Id, type So ien thoai

Tao tn hieu chuong Kieu bao ong Chuong

Trang thai cam ng

oc d lieu cam ng

Quay so
Tan so cua so ien thoai

Bo cam ng

ng ien thoai

- Trang 39 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

VIET PSPEC
Co the viet PSPEC bang mot trong 2 cach
Ngon ng t nhien (tng t processing narrative) Ngon ng PDL - la ngon ng gia giup the hien kien truc va giao tiep cua chc nang x ly

- Trang 40 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

T IEN D LIEU
Nhieu phan t c tao ra trong mo hnh phan tch: d lieu, chc nang, ieu khien Phai co mot cach thc quan ly cac phan t o sao cho hieu qua: t ien d lieu nh ngha:
T ien d lieu la mot danh sach co to chc cua tat ca cac phan t d lieu can thiet cho he thong. Cac phan t c nh ngha chnh xac va chat che sao cho ca phan tch vien va khach hang cung chia se mot suy ngh ve chung.

T ien d lieu thng c hien thc nh la mot phan cua cong cu CASE. Moi phan t bao gom nhng thong tin: ten, b danh, c dung au/nh the nao, ac ta noi dung va thong tin phu tr
- Trang 41 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

T IEN D LIEU (t.t)


V du phan t d lieu so ien thoai
Ten: So ien thoai B danh: Khong c dung au/nh the nao: output cua Thiet lap ieu kien bao ong input cua Quay so ac ta noi dung: so ien thoai = [ m rong a phng | so ben ngoai ] m rong a phng = [ 2001 | 2002 | 2009 ] so ben ngoai = 9 + [ so a phng | so ng dai ] so a phng = tien to + <chuoi 4 ky so> so ng dai = (1) + ma vung + so a phng tien to = [ 795 | 799 | 874 | 877 ]
- Trang 42 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

TONG KET
Phan tch yeu cau theo pp co ien bao gom: mo hnh chc nang va dong thong tin (DFD), mo hnh d lieu (ERD) va mo hnh hanh vi (STD) Lc o DFD c ban co 4 ky hieu va no c m rong e bieu dien c cac he thong thi gian thc Xay dng DFD mc 0 roi en cac mc cao hn; chu y bao toan tnh lien tuc cua dong d lieu T ien d lieu giup quan ly va tra cu cac phan t d lieu
- Trang 43 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 2: Phan tch yeu cau theo pp co ien

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

CAC KHAI NIEM C BAN CUA MO HNH HNG OI TNG


Lp va oi tng, s ong bao Thuoc tnh, tac vu, thong iep Bao gop, tha ke Tnh a hnh, tnh vnh cu

Chng 3

- Trang 44 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

NOI DUNG
3.1. oi tng va lp, ong bao 3.2. Thuoc tnh 3.3. Tac vu 3.4. Thong iep 3.5. Bao gop 3.6. Tha ke va override 3.7. Tnh a hnh 3.8. Tnh vnh cu
- Trang 45 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

GII THIEU
Mo hnh hng oi tng gii thieu mot quan iem lap trnh (va phan tch/thiet ke) khac han so vi trng phai co ien (co cau truc) Bat au nhen nhom vao nhng nam cuoi 60s va en au 90s tr nen rat pho bien trong cong nghiep phan mem Nhng ngon ng hng oi tng au tien: Smalltalk, Eiffel. Sau o xuat hien them: Object Pascal, C++, Java Hnh thanh cac phng phap phan tch/thiet ke hng oi tng
- Trang 46 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

OI TNG va LP
Mo hnh hng oi tng quan niem the gii bao gom cac oi tng (object) sinh song va tng tac vi nhau oi tng bao gom
d lieu: mang mot gia tr nhat nh tac vu: thc hien mot cong viec nao o

- Trang 47 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

OI TNG va LP (t.t)
Lp (class) nh ngha mot tap hp cac tac vu va thuoc tnh ma ac ta ay u cau truc va hanh vi cua cac oi tng. oi tng (con goi la minh du (instance) ) c cu the hoa t lp Cac ngon ng lap trnh hng oi tng
Khai bao lp: tng t nh khai bao mot kieu do ngi dung nh ngha Khai bao oi tng: bien cua kieu lp
- Trang 48 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

ONG BAO
Circle # Radius: float - x: float - y: float + Draw( w: Window) + GetClass( ): String ong bao: viec gop thuoc tnh va tac vu trong mot oi tng ong thi gii han cach truy xuat cac thuoc tnh o (thng phai thong qua cac tac vu get/set)
- Trang 49 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

c1 : Circle Radius = 1.3 x = 3.2 y = 1.7

THUOC TNH
Thuoc tinh (attribute) la mot vung co the cha d lieu (n hoac to hp) cua lp. D lieu ma thuoc tnh the hien nam trong mot khoang gia tr nao o c xac nh bi kieu. Gia tr cua tat ca thuoc tnh xac nh trang thai cua oi tng
V du: mot oi tng cua Circle co (Radius, x, y) = (1.2, 3.4, 5.3)
- Trang 50 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THUOC TNH (t.t)


Thuoc tnh co the b che dau hoac truy xuat c t ben ngoai
Mot so ngon ng lap trnh (va UML): public, protected, private

Co 2 loai tam vc
Tam vc lp: thuoc tnh chung cho tat ca cac oi tng cua mot lp Tam vc oi tng: thuoc tnh cua tng oi tng (co the mang gia tr khac nhau)

Bac cua thuoc tnh ch ra so lng d lieu ma ban than thuoc tnh co the nam gi: 0..1, 1, *, 5..8
- Trang 51 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TAC VU
Tac vu (operation) la mot dch vu co the yeu cau t pha oi tng e thc hien hanh vi. Dau hieu nhan dang cua tac vu (signature) xac nh cac thong so co the truyen cung nh ket qua tra ve. Phng thc (method) la phan hien thc cua tac vu

- Trang 52 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TAC VU (t.t)
Tac vu co the b che dau hoac truy xuat c t ben ngoai
Mot so ngon ng lap trnh (va UML): public, protected, private

Tac vu co the c override trong cac lp con tha ke


Tru tng (abstract): khong co hien thc

Mot so ngon ng lap trnh cho phep nh ngha


Tac vu khi tao (constructor): c goi khi oi tng mi tao ra Tac vu huy (destructor): c goi khi oi tng sap b huy bo

- Trang 53 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

V DU ve LP/OI TNG - JAVA


class abstract HTMLObject { protected static final int LEFT = 0; protected static final int MIDDLE = 1; protected static final int RIGHT = 2; private int alignment = LEFT; protected Vector objects = null; HTMLObject( ){ // constructor objects = new Vector ( 5 ); } public void setAlignment( int algnmt ) { alignment = algnmt; } public int getAlignment( ) { return alignment; } public abstract String toHTML( ); // abstract operation }
- Trang 54 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THONG IEP
Thong iep la mot phep goi tac vu en mot oi tng cu the. Thong iep bao gom 3 phan
oi tng ch Dau hieu nhan dang cua tac vu muon goi Danh sach thong so goi
- Trang 55 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THONG IEP (t.t)


oi vi cac ngon ng lap trnh
oi tng ch: bien oi tng hoac ban than oi tng muon gi thong iep (self, this) Dau hieu nhan dang cua tac vu muon goi: ten tac vu trung nhau thong so goi Danh sach thong so goi: nh phep goi ham bnh thng, chu y kieu khi truyen va gan ket qua tra ve V du: aCircle.SetRadius( 3 ); aCircle.Draw( pWnd ); xem cac

- Trang 56 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

BAO GOP
Bao gop (aggregation) la quan he gia hai oi tng Mot oi tng bao lay oi tng kia Quan he nay thng xay ra trong the gii thc, v du
Xe hi bao gom: banh xe, ong c, khung xe... Trang HTML bao gom: text, hnh anh, tieu e, cac lien ket... Checkbox, ComboBox, Slider nam trong mot hop thoai

- Trang 57 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

BAO GOP (t.t)


Hai dang lien ket gia oi tng nguon va oi tng ch
Chat che: oi tng ch c tao ra va huy i ong thi vi oi tng nguon Long leo: chu ky song cua hai oi tng oc lap nhau

Quan he bao gop cung c ap dung cho lp Mot so ngon ng lap trnh ho tr ca 2 dang lien ket: bien & con tro
- Trang 58 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

V DU ve BAO GOP - C++


class Geometry { // abstract base class public: Geometry( ); ~Geometry( ); virtual void Draw( Window *pWnd ) = 0; // abstract operation protected: int xPos, yPos; double xScale, yScale; COLORREF color; }; class Group : public Geometry { public: Group( ); ~Group( ); virtual void Draw( Window *pWnd ); // override private: Geometry **ppGeo; // pointer container int geoCount; };
- Trang 59 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THA KE va OVERRIDE
Tha ke (inheritance) la quan he gia hai lp Lp con tha hng tat ca thuoc tnh va tac vu cua lp cha Lp con (subclass) la cu the hoa cua lp cha (superclass); lp cha la tong quat hoa cua lp con Quan he nay cung thng c ghi nhan trong the gii thc, v du
Ho, bao, soi eu la thu Button, Checkbox va Dialog eu la Window Hnh tron, hnh ch nhat, hnh ellipse eu la hnh ve 2D.
- Trang 60 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THA KE va OVERRIDE (t.t)


Hai loai tha ke: n tha ke va a tha ke n tha ke: moi lp con co nhieu nhat la mot lp cha a tha ke:
Moi lp con co mot hoac nhieu lp cha Nay sinh hai van e: ung o gia ten cac thanh phan (member) cua lp cha va tha ke lai

- Trang 61 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

THA KE va OVERRIDE (t.t)


Lp con co the override lai mot so tac vu cua lp cha. Phai gia nguyen dau vet nhan dang (signature) cua tac vu b override; ch c thay oi phng thc (phan hien thc) cua no a so ngon ng lap trnh hng oi tng ho tr tha ke Mot so ngon ng a ra khai niem phng thc ao (virtual)

- Trang 62 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

V DU ve THA KE va OVERRIDE - JAVA


class HTMLDocument extends HTMLObject { private String title = null; // other attributes... HTMLDocument( ){ } public void setTitle( String ttl ) { if ( ttl != null ) title = ttl; } public String getTitle( ) { return title; } public String toHTML( ) { // override StringBuffer html = new StringBuffer; // additional implementation... return html.toString( ); } }
- Trang 63 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TNH A HNH
Mot oi tng mang nhieu bo mat khac nhau: cua chnh lp ac ta no va cua cac lp cha tnh a hnh (polymorphism)

Tng hp kieu: kieu cua lp con luon tng hp vi kieu lp cha Mot so ngon ng lap trnh nh ngha khai niem lien ket muon
Ham c goi e ap ng cac thong iep c xac nh trong thi gian thc thi ch khong phai bien dch Moi oi tng co mot bang phng thc ao
- Trang 64 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TNH A HNH (t.t)


Window # hWnd: HWND + MoveWindow( ) + GetClass( ): String http : HttpView

V du: oi tng http c xem nh thuoc kieu cua HttpView,

View + GetClass( ): String + GetDocument( ): Document HttpView + GetClass( ): String

View va Window

- Trang 65 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TNH VNH CU
Chu ky song cua oi tng: khoang thi gian t luc oi tng c tao ra en luc no b huy i. Thong thng chu ky song cua oi tng goi gon trong thi gian chng trnh thc thi

- Trang 66 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TNH VNH CU (t.t)


Chu ky song cua oi tng co the vt ra khoi s thc thi cua chng trnh tnh vnh cu (persistence)

oi tng c cat vao bo nh vnh cu khi chng trnh ket thuc Khi can thiet co the khoi phuc lai oi tng vao bo nh chnh Ch lu tr trang thai cua oi tng Ngon ng C++ va Java: streaming

- Trang 67 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

TONG KET
Mo hnh hng oi tng quan niem the gii bao gom cac oi tng song chung va tng tac vi nhau: Cac ac iem chnh
ong bao: moi oi tng bao gom d lieu va tac vu. Cac tac vu thiet lap nen hanh vi cua oi tng. Cac oi tng c phan loai bang lp Cac oi tng tng tac vi nhau bang cach gi thong iep Gia cac lp/oi tng co the ton tai quan he bao gop va tha ke Tnh a hnh: oi tng mang nhieu bo mat Tnh vnh cu: oi tng co the ngu
- Trang 68 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 3: Cac khai niem c ban cua mo hnh hng oi tng

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

MO HNH NGHIEP VU VA THU THAP YEU CAU


Actor & use-case Mo hnh use-case

Chng 4

- Trang 69 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

NOI DUNG
4.1. Nhan dien cac vai tro (actor)
4.1.1. Khai niem actor 4.1.2. Nhan dien actor 4.1.3. Actor trong UML

4.2. Nhan dien cac trng hp s dung (use-case)


4.1.1. Khai niem use-case 4.1.2. Tm kiem use-case 4.1.3. Use-case trong UML

4.3. Thiet lap cac moi quan he

4.4. Xay dng mo hnh use-case

4.3.1. Quan he lien ket (association) 4.3.2. Quan he giao tiep, gop va m rong

- Trang 70 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

GII THIEU
Khach hang va nha phat trien gap nhau cung thao luan ve yeu cau cua he thong phan mem can xay dng Mo hnh nghiep vu c thiet lap e ho tr ca nha phat trien lan khach hang trong viec kiem chng lai va thong nhat yeu cau phan mem va vai tro cac tac nhan ben ngoai
- Trang 71 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

KHAI NIEM ACTOR


Actor xac nh mot bo vai tro ma ngi hoac vat se ong vai khi tng tac vi he thong phan mem Actor nam ngoai pham vi cua he thong
Ch quan tam cac thong iep ma actor gi hay nhan Khong quan tam cau truc ben trong cua actor

Phan loai actor


Chu yeu / Th yeu Tch cc / Thu ong
- Trang 72 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

NHAN DIEN CAC ACTOR


Tra li mot so cau hoi nh
Ai la ngi s dung chc nang chnh cua he thong ? Ai can s ho tr t he thong e thc hien cong viec thng nhat cua ho ? Ai phai thc hien cong viec bao dng, quan tr va gi cho he thong hoat ong ? He thong se kiem soat thiet b phan cng nao ? He thong ang xay dng can tng tac vi nhng he thong khac hay khong ? Ai hoac vat the nao quan tam en hay chu anh hng bi ket qua ma he thong phan mem tao ra ?
- Trang 73 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

ACTOR trong UML


Actor c bieu dien bang ky hieu hnh ngi Actor c xem la mot lp (class) co stereotype la <<actor>> Gia cac actor co the co quan he tong qua hoa
V du: Sinh vien, giang vien va khach eu la oc gia cua he thong quan ly th vien

V du: mot he thong ang ky mon hoc trong trng ai hoc

- Trang 74 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

ACTOR trong UML (t.t)

Sinh vien

Phong ao Tao

He thong ang ky mon hoc


Giang vien Phong Tai Vu

- Trang 75 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

ACTOR trong UML (t.t)

Quan tr vien Ngi ang ky mailbox

He thong gi nhan mail

- Trang 76 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

KHAI NIEM USE-CASE


Use-case bieu dien mot chc nang cua he thong phan mem Use-case c bieu dien bang mot chuoi cac thong iep trao oi ben trong he thong va mot hoac mot so thong iep trao oi vi actor Mot so quy c
Use-case luon luon c bat au bang thong iep en t actor Use-case phai hoan tat: chuoi thong iep phai ket thuc bang ket qua cu the. Loi thng gap: chia nho use-case tr thanh nhng chc nang vun vat
- Trang 77 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

KHAI NIEM USE-CASE (t.t)


iem m rong la mot v tr trong use-case ma tai o co the chen chuoi s kien cua mot use-case khac Use-case co the cha ieu kien re nhanh, x ly loi, ngoai le... Minh du cua use-case la kch ban (scenario): mieu ta cu the trnh t cac s kien

- Trang 78 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

TM KIEM USE-CASE
Tra li mot so cau hoi nh
Actor yeu cau chc nang g cua he thong ? Actor can phai oc, tao, xoa, sa oi hoac lu tr thong tin nao o cua he thong khong ? Actor can thiet phai c canh bao ve nhng s kien trong he thong, hay actor can phai bao hieu cho he thong ve van e nao o khong ? He thong co the ho tr mot so cong viec thng nhat cua actor nao o hay khong ?
- Trang 79 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

TM KIEM USE-CASE (t.t)


Mot so cau hoi khac can chu y
He thong can d lieu input/ouput nao ? D lieu o en t au ? Nhng kho khan nao lien quan en hien thc cua he thong hien tai (chang han he thong quan ly bang giay t nen c thay the bang he thong quan ly tren may tnh) ?

- Trang 80 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

USE-CASE trong UML


Use-case c bieu dien bang hnh ellipse Gia use-case va actor thng co quan he lien ket Gia cac use-case cung co quan he lien ket hoac tong quat hoa V du: mot he thong ang ky mon hoc theo tn ch trong trng ai hoc

- Trang 81 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

USE-CASE trong UML (t.t)


<<communicate>>

Sinh vien ang ky hoc

Quan ly MH

Phong ao Tao

ang ky day

<<extend>>

Quan ly SV Giang vien

Them SV mi

- Trang 82 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

THIET LAP CAC MOI QUAN HE


Quan he gia actor vi actor Quan he gia actor vi use-case Quan he gia use-case vi use-case UML a ra quan he lien ket (association)

- Trang 83 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE LIEN KET


Quan he lien ket ch ra mot quan he co y ngha gia hai ben
Trong thc te: hanh khach vi lai xe, sinh vien vi giao vien, giang vien vi mon hoc

Mot so tnh chat lien quan


Ten cua lien ket Mot chieu hay 2 chieu Bac: so lng thc the tham gia vao lien ket tai moi ben

- Trang 84 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE LIEN KET trong UML


UML bieu dien lien ket nh la mot oan thang (hai chieu) hoac mui ten (mot chieu) Co the ap dung stereotype:
<<include>> <<extend>> <<communicate>> ...
- Trang 85 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

LIEN KET trong MO HNH NGHIEP VU


Lien ket la quan he duy nhat gia actor va use-case Co the la mot chieu hoac hai chieu
actor kch hoat use-case va nhan ket qua ve: lien ket 2 chieu actor kch hoat use-case, khong quan tam ket qua ve: lien ket 1 chieu

*
at hang

Ngi ban hang

- Trang 86 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE GIAO TIEP


La quan he lien ket co stereotype la <<communicate>> Dung e lien ket gia actor vi use-case ma no kch hoat

<<communicate>>

ang ky day

Giang vien
- Trang 87 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE GOP
La quan he lien ket co stereotype la <<include>> Dung e lien ket gia 2 use-case Trong use-case nguon co mot iem m rong ma tai o bat buoc phai chen use-case ch vao

- Trang 88 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE GOP (t.t)


Tai iem m rong, dien tien cua use-case nguon tam thi ngng lai e chuyen sang dien tien cua use-case ch Khi ket thuc use-case ch, dien tien cua use-case nguon lai tiep tuc
<<include>>

Tm kiem

ang nhap

- Trang 89 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE M RONG
La quan he lien ket co stereotype la <<extend>> Dung e lien ket gia 2 use-case Trong use-case nguon co mot iem m rong ma tai o co the (hoac khong) phai chen use-case ch vao Chen hay khong phu thuoc vao ieu kien re nhanh hoac tng tac t pha actor
- Trang 90 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

QUAN HE M RONG (t.t)


Tai iem m rong, neu c m rong th dien tien cua use-case nguon tam thi ngng lai e chuyen sang dien tien cua use-case ch Khi ket thuc use-case ch, dien tien cua use-case nguon lai tiep tuc
<<extend>>

Tm kiem

ang ky at cho

- Trang 91 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

XAY DNG MO HNH USE-CASE


Cac yeu cau cua phan mem c mieu ta trong mo hnh use-case Mo hnh use-case bao gom cac lc o use-case (use-case diagram) va (co the) mot so package Moi lc o use-case bao gom cac actor, use-case va cac moi quan he Co the s dung package e gom mot so use-case lien quan tao thanh mot bo chc nang con cua he thong
- Trang 92 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

XAY DNG MO HNH USE-CASE (t.t)


Cac quan he co the xay ra trong lc o use-case
Quan he lien ket gia actor va use-case: mot chieu hoac hai chieu, thng co stereotype la <<communicate>> Quan he m rong hay gop gia 2 use-case: quan he lien ket vi stereotype <<extend>> hay <<include>> Quan he tong quat hoa (generalization) gia cac actor: nhieu actor co vai tro cua mot actor tru tng Quan he tong quat hoa gia cac use-case: nhieu use-case la trng hp cu the cua mot use-case tru tng
- Trang 93 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

XAY DNG MO HNH USE-CASE (t.t)


fee summary Prints timetable Student print request <<communicate>> <<communicate>> timetable command Registers courses Removes students People Administration <<include>> Manages course <<extend>> <<include>> Lecturer Reads courses <<include>> <<include>> Login Undertakes courses
- Trang 94 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

Makes timetable Finance

Manages lecturers Adds students <<include>> <<extend>> <<include>> Manages students

XAY DNG MO HNH USE-CASE (t.t)


<<communicate>>

Forwards
Subcriber <<extend>> <<extend>>

Removes mailbox <<communicate>>

Views mail <<include>> Replies


<<communicate>> <<extend>> <<include>>

Administrator <<communicate>>

<<include>> Adds mailbox

Login Composes
- Trang 95 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

XAY DNG MO HNH USE-CASE (t.t)


<<include>> <<extend>> imports <<communicate>> import command models <<communicate>> model command run command <<communicate>> export command exports <<communicate>> save command Viewer toggles light saves model <<communicate>> <<extend>> close command toggles mode sets appearance initializes

exits

sets eye

sets viewing

- Trang 96 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

TONG KET
Mo hnh nghiep vu the hien cac chc nang cua he thong phan mem va cac thc the lien quan UML nh ngha mo hnh use-case bao gom cac actor, cac use-case va cac lc o use-case Tiep theo mo hnh nghiep vu la mo hnh cac oi tng phan tch
- Trang 97 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 4: Mo hnh nghiep vu va thu thap yeu cau

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

PHAN TCH YEU CAU HNG OI TNG


Nhan dien oi tng/lp Lc o lp

Chng 5

- Trang 98 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NOI DUNG
5.1. Nhan dien cac oi tng/lp
5.1.1. oi tng/lp thc the 5.1.2. oi tng/lp bien 5.1.3. oi tng/lp ieu khien

5.2. Nhan dien cac thuoc tnh


5.2.1. Kieu d lieu cua thuoc tnh 5.2.2. Bac cua thuoc tnh 5.2.3. Mc o truy xuat thuoc tnh

5.3. Nhan dien cac tac vu


- Trang 99 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NOI DUNG (t.t)


5.4. Nhan dien lp c s
5.4.1. Nhan dien cac thuoc tnh/tac vu chung 5.4.2. Quan he tong quat hoa (generalization)

5.5. Nhan dien cac moi quan he


5.5.1. Quan he lien ket (association) 5.5.2. Quan he bao gop (aggregation)

5.6. Xay dng lc o lp 5.7. Thiet lap cac package


- Trang 100 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

GII THIEU
Mo hnh nghiep vu bieu dien cac chc nang
oii tng/lp o tng/lp -- quan he quan he

phan mem can xay dng di dang cac use-case Mo hnh phan tch se tm kiem cac oi tng song trong ng canh cua phan mem Cac oi tng se tng tac vi nhau e tao nen cac chc nang mo ta bi use-case

- Trang 101 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

GII THIEU (t.t)


Mo hnh phan tch tap trung mo ta vai tro va cau truc cua cac oi tng Cha quan tam en hanh vi cu the va nhiem vu chi tiet cua chung trong ng canh cua he thong Nguyen tac: mo hnh phan tch phai oc lap vi o/s, ngon ng lap trnh, cong cu phat trien

- Trang 102 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN OI TNG/LP


Da vao ac ta cua tng use-case e tm kiem cac oi tng Cac oi tng thng xuat hien trong cac danh t hay nhom danh t Mot so lu y
Khong nen dung oi tng e bieu dien mot d lieu n (nen xem la thuoc tnh cua oi tng khac) oi tng/lp phai thc s can thiet cho s hoat ong cua he thong oi tng/lp bang c s d lieu oi tng/lp actor
- Trang 103 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN OI TNG/LP (t.t)


Phan loai oi tng/lp
oi tng thc the (entity): bieu dien cac thong tin thiet yeu cua he thong, co the c lu trong c s d lieu oi tng bien (boundary): thc hien chc nang giao tiep vi actor oi tng ieu khien (control): ieu khien cac oi tng khac
- Trang 104 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN OI TNG/LP (t.t)


Trong UML, lp c bieu dien bang mot hnh ch nhat gom 3 phan: ten, cac thuoc tnh va cac tac vu Co the ap dung stereotype cho lp: <<entity>>, <<boundary>>, <<control>>... oi tng cung c bieu dien bang hnh ch nhat, thong thng gom 2 phan: ten oi tng + ten lp (c gach chan), gia tr cac thuoc tnh (trang thai cua oi tng)
- Trang 105 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN OI TNG/LP (t.t)


HTMLObject # alignment: int + GetAlignment( ): int + toHTML( ): String doc : HTMLDocument alignment = MIDDLE title = A document

HTMLDocument - title: String + GetTitle( ): String + toHTML( ): String

- Trang 106 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP THC THE


Bieu dien cho cac thc the xuat hien mot cach t nhien trong he thong Thong tin ve cac oi tng thc the co the phai c lu tr lau dai (database, file...) Trong UML, c gan stereotype <<entity>> De nhan dien cac thuoc tnh cua chung
- Trang 107 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP THC THE (t.t)


V du:
Message <<entity>> # subject: String # sent: Date # content: String + GetSubject( ): String + toString( ): String
oi vi he thong ang ky mon hoc he tn ch qua WEB, nhan dien cac oi tng thc the nh: thong tin SV, thong tin GV, nhom lp hoc, ang ky nhom, so tay sinh vien oi vi he thong mail, nhan dien cac oi tng thc the nh: hop th, thong iep mail oi tng ng ong mc, t gay va ban o trong chng trnh ve be mat a hnh
- Trang 108 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP BIEN
Thc hien chc nang giao tiep vi actor Thng cha cac phan t hoac ieu khien giao dien ngi dung (nut nhan, hop danh sach, tuy chon, menu...) Trong UML, c gan stereotype <<boundary>> Kho nhan biet cac thuoc tnh va tac vu trong mo hnh phan tch

- Trang 109 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP BIEN (t.t)


V du:
MailView <<boundary>>
oi vi he thong ang ky mon hoc he tn ch qua WEB, nhan dien cac oi tng bien nh: RegisterForm, StudentForm oi vi he thong mail, nhan dien cac oi tng bien nh: MailView, MailCompose...

- Trang 110 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP IEU KHIEN


Co nhiem vu ieu khien cac lp khac hoac (n gian hn) Nhng lp khong phai la lp thc the va lp bien Trong UML, c gan stereotype <<control>> Lp bien thng co quan he lien ket hoac phu thuoc vi cac lp khac

- Trang 111 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

OI TNG/LP IEU KHIEN (t.t)


Command <<control>> + Execute( ) + Reexecute( ) + Unexecute( ) # Do( )

V du:
oi tng bieu dien mot so lenh thong thng nh cat, dan, thay oi thong so nhn
BgCommand <<control>> + Execute( ) + Reexecute( ) + Unexecute( ) # Do( )

PasteCommand <<control>> + Execute( ) + Reexecute( ) + Unexecute( ) # Do( )

trong hien th o hoa

- Trang 112 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN CAC THUOC TNH


Da vao ac ta cua tng use-case, tm kiem cac danh t hoac nhom danh t lien quan en oi tng ang xet Tra li cau hoi: nhng thanh phan nao cau thanh oi tng ang xet ? Lu y: cung mot oi tng trong cac ng canh khac nhau chung ta co the tm c cac thuoc tnh khac nhau

- Trang 113 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN CAC THUOC TNH (t.t)


Nen xac nh (tuy nhien khong bat buoc) trong mo hnh phan tich
Kieu cua thuoc tnh: mot so kieu c ban Bac cua thuoc tnh: so t hoac so nhieu Visibility cua thuoc tnh: mc o cho phep truy xuat thuoc tinh t ben ngoai

UML: thuoc tnh c mieu ta tng minh hoac thong qua quan he vi cac lp khac
- Trang 114 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

KIEU D LIEU CUA THUOC TNH


Mot so kieu c ban cua cac ngon ng lap trnh: integer, float,
double, long, char...

Mot so kieu c ban khac: string, date, time... UML cho phep nh ngha tat ca cac kieu d lieu tren

- Trang 115 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

BAC CUA THUOC TNH


Bac cua thuoc tnh: so t hay so nhieu Neu thuoc tnh c ac ta tng minh: dung dau [] e ch so nhieu hoac so lng chnh xac Trng hp thuoc tnh c mieu ta thong qua quan he vi cac lp khac: UML cho phep the hien bac tren quan he (v du: 1, 0, *, 2..9, 0..n)

- Trang 116 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

MC O TRUY XUAT THUOC TNH


UML nh ngha 3 mc o truy xuat thuoc tnh (visibility)
public (+): co the truy xuat thuoc tnh t tat ca cac v tr khac nhau protected (#): ban than lp ang xet va cac lp con cua no co the truy xuat thuoc tnh private (-): ch co lp ang xet co the truy xuat thuoc tnh

Thong thng nen at mc o truy xuat thuoc tnh la private hoac protected (cho cac lp c s), khong nen la public. Thuoc tnh nen c truy xuat thong qua tac vu get/set
- Trang 117 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN CAC TAC VU


Da vao ac ta cua tng use-case, tm kiem cac ong t hoac nhom ong t lien quan en oi tng ang xet Chu y xem oi tng c tao ra va b huy bo i nh the nao ? Trong thi gian o no gi/nhan thong iep ra sao ? Cac oi tng bien co cac tac vu nhan lenh t actor.

- Trang 118 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN CAC TAC VU (t.t)


Xem xet mc o truy xuat cua tac vu tng t nh oi vi cac thuoc tnh; cac tac vu thng co visibility la + hoac # Mot so tac vu khong xuat hien mot cach t nhien trong mo hnh phan tch mo hnh thiet ke se nghien cu ky trach nhiem va

hanh vi cua tng oi tng

- Trang 119 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

V DU ve NHAN DIEN THUOC TNH


StudentInfo <<entity>> - name: String - code: Long - dateOfBirth: Date - addr: String - acaYear: Date - department - home: String - socialAid + GetName( ): String + GetCode( ): Long LecturerInfo <<entity>> - name: String - code: String - dateOfBirth: String - addr: String - degree - title: String - division - health - experience: Date + GetName( ): String + GetCode( ): String

He thong ang ky mon hoc he tn ch qua WEB - Nhan dien cac thuoc tnh cho cac oi tng: StudentInfo, LecturerInfo

- Trang 120 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

V DU ve NHAN DIEN THUOC TNH (t.t)


CourseOfferring <<entity>> - courseName: String - courseCode: String - offering: int - session - credit: int - prerequisite Catalog <<entity>> - acaYear: Date - semester

He thong ang ky mon hoc he tn ch qua WEB - Nhan dien cac thuoc tnh cho cac oi tng: CourseOffering, Catalog

- Trang 121 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

V DU ve NHAN DIEN THUOC TNH (t.t)


Isoquant <<entity>> - ID: Integer - open: boolean - altitude: double Fracture <<entity>> - ID: Integer - open: boolean

Chng trnh bieu dien be mat a hnh Nhan dien cac thuoc tnh cho cac oi tng:

# points Point2D * # points

Isoquant, Fracture

- x: double - y: double

- Trang 122 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN LP C S
Lp c s (base class) c nhan dien sau khi a nhan dien cac lp cu the S xuat hien cua lp c s lam cho mo hnh phan tich co tnh dung lai cao (reusability) va de m rong (scalability) UML ho tr quan he tong quat hoa (generalization) Lp c s tru tng (khong the cu the hoa tao ra oi tng) co ten in nghieng
- Trang 123 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN cac THUOC TNH/TAC VU CHUNG


oi vi cac oi tng/lp thc the, tm cac thuoc tinh chung e hnh thanh lp c s V du
Trong he thong quan ly th vien qua WEB: cac oi tng Book, Magazine co mot so thuoc tnh chung hnh thanh lp LibraryItem

oi vi he thong ang ky mon hoc tn ch qua WEB: lp PeopleInfo la lp c s cua StudentInfo va LecturerInfo Chng trnh ve be mat a hnh: lp MapCurve la lp c s cua ng ong mc Isoquant va t gay Fracture
- Trang 124 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

QUAN HE TONG QUAT HOA


UML nh ngha quan he tong quat hoa gia MapCurve mot lp tong qua hn vi mot lp cu the hn: lp cu the hn co tat ca thuoc tnh, tac vu va quan he Isoquant cua lp kia. Ky hieu: mui ten co au la mot tam giac nho Lp tong quat hn nam ve pha mui ten
- Trang 125 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

Fracture

QUAN HE TONG QUAT HOA (t.t)


PeopleInfo <<entity>> # name: String # code: String # dateOfBirth: Date # addr: String

V du: trong he thong ang ky mon hoc tn ch qua WEB, lp PeopleInfo

StudentInfo <<entity>> - acaYear: Date - department - home: String - socialAid

LecturerInfo <<entity>> - degree - title: String - division - health - experience: Date

la tong quat hoa cua StudentInfo va LecturerInfo

- Trang 126 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

NHAN DIEN CAC MOI QUAN HE


Trong mo hnh phan tch cac oi tng/lp co quan he vi nhau Mot so quan he ma UML ho tr
Tong quat hoa (generalization) Lien ket (association) Bao gop (aggregation)

Cac quan he khac c ap dung cho mo hnh thiet ke


Phu thuoc (dependency) Cu the hoa (realization)
- Trang 127 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

QUAN HE LIEN KET


Ve y ngha va ky hieu giong nh quan he lien ket trong mo hnh nghiep vu Ap dung cho 2 lp co moi tng quan mang y ngha nhat nh Chu y ghi ro (neu co the c)
Bac va ten vai tro cua moi lp trong quan he Ten cua chnh quan he lien ket

- Trang 128 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

QUAN HE LIEN KET (t.t)


StudentInfo <<entity>> students 40..80 has Registration <<entity>> - acaYear: Date - semester

V du: lp Registration lien ket vi lp StudentInfo,

0..1 lecturer LecturerInfo <<entity>> 0..1

reg

offering CourseOffering <<entity>>

LecturerInfo va CourseOffering

- Trang 129 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

QUAN HE BAO GOP


UML nh ngha quan he bao gop la trng hp ac biet cua quan he lien ket, khi ma mot au noi lien ket tr thanh au noi bao gop (aggregation) Lp au noi bao gop se bao ham lp kia Ky hieu cua au noi bao gop la mot hnh thoi to hoac khong to en Co hai dang bao gop
Chia xe (shared): chia xe gia cac bao gop khac nhau Hoan toan (composite): s hu ay u
- Trang 130 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

QUAN HE BAO GOP (t.t)


CourseOffering <<entity>> * Catalog <<entity>> - acaYear: Date - semester

V du:
oi vi he thong ang ky mon hoc tn ch qua WEB, lp Catalog bao gop lp CourseOffering Ca so giao dien bao gop hoan toan thanh cuon va menu

Menu

Window

ScrollBar

- Trang 131 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

XAY DNG LC O LP
Lc o lp (class diagram) bieu dien cau truc cua mot so lp va quan he gia chung thong He thong phc tap co nhieu lp can xay dng nhieu lc o mo ta kha canh tnh (static) cua he

lp, moi lc o mo ta mot phan cua he thong Lc o lp c bo sung va hoan thien trong mo hnh thiet ke
(them mot so lp, chi tiet cac thuoc tnh va tac vu, lam ro cac quan he)
- Trang 132 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

XAY DNG LC O LP (t.t)


V du: mot lc o lp cua chng trnh hien th be mat a hnh
Isoquant <<entity>> - altitude: double isoquants * FieldMap <<entity>> - name: String + wrap( ): Region

points Point2D - x: double - y: double * MapCurve - ID: int - open: boolean

fractures Fracture <<entity>>

- Trang 133 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

THIET LAP CAC PACKAGE


Package la mot c che e to chc cac phan t t vao cac nhom co lien he ve ng ngha vi nhau Package co the import cac phan t t mot package khac Co the ch ra quan he gia cac package
Phu thuoc Tong quat hoa

- Trang 134 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

THIET LAP CAC PACKAGE (t.t)


Mc o truy xuat cua package
Private: ch no va cac package import no co the truy xuat noi dung Protected: giong nh private nhng cho phep them cac package dan xuat Public: cac package khac co the truy xuat noi dung Implementation: khong cho phep import, co the ap dung cho cac phan t ben trong package

- Trang 135 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

THIET LAP CAC PACKAGE (t.t)


UniPeople
PeopleInfo # name: String # code: String # dateOfBirth: Date # addr: String StudentInfo - acaYear: Date - department - home: String - socialAid LecturerInfo - degree - title: String - division - health - experience: Date

V du: package UniPeople cha cac lp lien quan en thong tin con ngi

- Trang 136 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

TONG KET
Mo hnh phan tch nhan dien cac oi tng/lp: thc the, bien, ieu khien Nhan dien cac thuoc tnh va mot so tac vu, tuy nhien cha lam ro hanh vi cua chung ( thiet ke) UML ho tr mot so phan t: lp, oi tng, lc o lp, package
- Trang 137 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 5: Phan tch yeu cau hng oi tng

mo hnh

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

C S CUA THIET KE PHAN MEM VA PHNG PHAP THIET KE CO IEN


Tru tng hoa, tinh che, kien truc Phan chia module hieu qua Thiet ke d lieu, kien truc, thu tuc, giao dien
- Trang 138 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

Chng 6

NOI DUNG
6.1. Cac c s cua thiet ke phan mem
6.1.1. Tru tng hoa (abstraction) 6.1.2. Tinh che (refirement) 6.1.3. Phan chia module (modularity) 6.1.4. Kien truc phan mem 6.1.5. Cau truc d lieu 6.1.6. Thu tuc 6.1.7. Che dau thong tin
- Trang 139 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

NOI DUNG (t.t)


6.2. Phan chia module hieu qua
6.2.1. o ket dnh (cohesion) 6.2.2. S lien ket (coupling) 6.2.3. Cac heuristics cho phan chia module

6.3. Thiet ke d lieu 6.4. Thiet ke kien truc

6.5. Thiet ke giao dien ngi dung 6.6. Thiet ke thu tuc

6.4.1. Dong transform va dong transaction 6.4.2. Anh xa dong transform 6.4.3. Anh xa dong transaction

- Trang 140 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

GII THIEU
Thiet ke phan mem la cong viec au tien cua giai oan phat trien Thiet ke tao ra cac bieu dien va d kien cua he thong phan mem can xay dng t ket qua phan tch yeu cau e co the de dang hien thc sau o La lnh vc tng oi mi me va ang phat trien vi nhieu phng phap khac nhau
- Trang 141 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

TRU TNG HOA


Qua trnh thiet ke trai qua nhieu mc tru tng hoa khac nhau
Mc cao nhat: van e can thiet ke c mo ta mot cach tong quat s dung thuat ng hng van e Cac mc thap hn: hng en thu tuc x ly chi tiet; ket hp cac thuat ng hng en hien thc Mc thap nhat: van e c mo ta theo cach co the hien thc trc tiep

Phan loai tru tng hoa: thu tuc va d lieu


- Trang 142 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

TRU TNG HOA (t.t)


Tru tng hoa thu tuc
La chuoi cac lenh lien tiep thc hien chc nang nao o. V du: m ca (bao gom i en ca, cam lay tay nam, xoay tay nam, keo canh ca, i vao); them mot phan t vao danh sach co th t (xac nh v tr, chen phan t mi)

Tru tng hoa d lieu


La to hp d lieu mo ta mot oi tng d lieu (lien he ti oi tng thc the trong UML). V du: hang, chong, canh ca... Mot so ngon ng lap trnh ho tr kieu ADT va template
- Trang 143 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

TINH CHE
Tinh che la qua trnh lam ro van e Tinh che va tru tng hoa la hai khai niem bu tr nhau: cang tinh che th cang ha thap mc tru tng hoa

- Trang 144 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

PHAN CHIA MODULE


Khai niem module a xuat hien khoang 4 thap nien tr lai ay Phan mem c xay dng bang cach phan chia thanh nhieu module, sau o se c tch hp lai Phan chia module lam cho viec quan ly phan mem khoa hoc hn Gia s C(x): o phc tap cua x, E(x): cong sc e thc hien x. Ro rang: neu C(p1) > C(p2) th E(p1) > E(p2). Neu phan chia p = p1 + p2 ta thay (mot cach trc quan): C(p1 + p2) > C(p1) + C(p2) E(p1 + p2) > E(p1) + E(p2)
- Trang 145 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

PHAN CHIA MODULE (t.t)


Cong sc bo ra Tong cong sc

So lng module phu thuoc vao o phc tap cua he thong phan mem can xay dng qua t hoac qua nhieu

Vung toi u

Cong sc tch hp Cong sc tng module So lng module

module eu khong tot

- Trang 146 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

KIEN TRUC PHAN MEM


Kien truc phan mem mo ta cac thanh phan (component) kien tao nen he thong phan mem va s giao tiep gia cac thanh phan o Thanh phan co the la
Cac module ma nguon Cac file thc thi (*.dll, *.exe, *.class...) Cac thanh phan cua kien truc he thong: ActiveX control, bean... Cac trang HTML, *.asp, *.jsp...
- Trang 147 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

KIEN TRUC PHAN MEM (t.t)


M Fan-out a Depth d f g e h k l m b c

S o phan cap c dung


q Fan-in

e mieu ta s phan ra cac module.

j Width

- Trang 148 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

CAU TRUC D LIEU


Cau truc d lieu mo ta s to chc, phng thc truy xuat, mc o lien ket va cac x ly khac cua thong tin D lieu n la dang cau truc d lieu n gian nhat ch bao gom mot phan t thong tin ma co the c truy xuat bang mot danh nh Mot so dang phc tap hn: vector, ma tran, mang nhieu chieu, danh sach lien ket, hang, chong, cay nh phan c bieu dien cac mc tru tng hoa khac nhau
- Trang 149 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THU TUC
Thu tuc tap trung vao chi tiet x ly cua moi module. Cung cap ac ta chi tiet cua
Chuoi s kien Vong lap Quyet nh re nhanh Co the ca cau truc d lieu

- Trang 150 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

CHE DAU THONG TIN


Che dau thong tin la mot trong nhng nguyen ly quan trong cua viec phan chia module Cac module giao tiep vi nhau bang nhng thong tin that s can thiet Nhng thong tin ve thu tuc va d lieu cuc bo cua moi module phai c che dau khoi cac module khac Li ch: kiem soat c thay oi va sa loi de dang
- Trang 151 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

PHAN CHIA MODULE HIEU QUA


Phan chia module la bat buoc trong giai oan thiet ke Tuy nhien: phan chia kien truc phan mem thanh mot bo cac module nh the nao la tot nhat ? Tieu ch quan trong nhat: tnh oc lap chc nang cua cac module Tnh oc lap chc nang c o bang 2 tieu chuan: o ket dnh (cohesion) va s lien ket (coupling)
- Trang 152 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

O KET DNH
o ket dnh dung e o s phu thuoc lan nhau gia nhng tac vu (task) cua mot module Module co o ket dnh cao nhat khi no ch am nhan ung mot tac vu ket dnh chc nang

Thiet ke kien truc phan mem: co gang tang o ket dnh

- Trang 153 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

O KET DNH (t.t)


Co nhieu mc o ket dnh (t thap en cao)
ngau nhien: cac tac vu khong lien he vi nhau luan ly: cac tac vu lien quan logic vi nhau nhat thi: cac tac vu phai c thc thi trong mot khoang thi gian giao tiep: cac tac vu co s dung chung mot d lieu nao o thu tuc: cac tac vu phai c thc hien theo mot trat t nhat nh chc nang: ch co mot tac vu
- Trang 154 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

S LIEN KET
S lien ket dung e o ac qua trnh giao tiep gia cac module: giao tiep cua module cha nhieu tac vu va nhieu thong so goi th s lien ket cang cao Thiet ke kien truc phan mem: co gang giam s lien ket

- Trang 155 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

S LIEN KET (t.t)


Co nhieu mc o lien ket (t cao en thap)
lien ket noi dung: s dung d lieu va ieu khien cua module khac lien ket chung: co s dung chung d lieu toan cuc lien ket ngoai vi: module phu thuoc vao mot I/O nao o lien ket ieu khien: thong so truyen anh hng en ieu khien lien ket stamp: truyen cau truc d lieu phc tap lien ket d lieu: truyen cac thong so n gian
- Trang 156 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

CAC HEURISTICS cho PHAN CHIA MODULE


Sa lai thiet ke ban au e tang o ket dnh va giam s lien ket Khi chieu sau tang, han che fan-out trong khi s dung fan-in Gi cho tam anh hng cua mot module nam ben trong tam ieu khien cua no Loai bo d tha trong giao tiep cua cac module u tien cac module tat nh, han che cac module nhieu rang buoc ong goi cac module e at c tnh kha chuyen (portability)
- Trang 157 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE D LIEU
Tm kiem bieu dien luan ly cho cac phan t d lieu a c nhan dien trong giai oan phan tch yeu cau Thiet ke cac cau truc d lieu cua chng trnh va c s d lieu Thc hien tinh che tng bc

- Trang 158 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE D LIEU (t.t)


Mot so nguyen tac
Nhan dien ca cau truc d lieu va tac vu truy xuat Chu y s dung t ien d lieu Tr hoan thiet ke d lieu mc thap cho en cuoi giai oan nay Che dau bieu dien ben trong cua cau truc d lieu Phat trien mot th vien cac cau truc d lieu + tac vu thng gap Nen ap dung kieu ADT trong thiet ke cung nh trong lap trnh
- Trang 159 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE KIEN TRUC


Muc tieu la xay dng s o phan cap module t DFD at nen mong e thiet ke chi tiet thu tuc va d lieu Phan biet dong transform va dong transaction trong DFD Thc hien anh xa cho tng vung cua DFD tuy theo no la dong transform hay transaction

- Trang 160 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

DONG TRANSFORM VA TRANSACTION

Dong i vao Dong x ly

Dong i ra

Dong transform bao gom 3 phan: dong i vao, dong x ly va dong i ra


- Trang 161 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

DONG TRANSFORM VA TRANSACTION (t.t)


Dong i vao

Dong transaction bao gom: dong i vao, Tcenter va cac ng x

T-center

ly au ra T-center: Ch co mot ng ra c kch hoat tai mot thi iem


- Trang 162 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

ANH XA DONG TRANSFORM


T oc [1], trang 377

- Trang 163 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

ANH XA DONG TRANSACTION


T oc [1], trang 387

- Trang 164 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE GIAO DIEN NGI DUNG


Phan mem can co giao dien than thien vi ngi s dung Mot so tieu chuan giao dien
Thi gian ap ng cua he thong: gia tr trung bnh va o lech Phng tien tr giup ngi s dung: tch hp + add-on Kiem soat thong tin loi: hien th ca nguyen nhan loi va cach khac phuc at ten nhan: ngan gon va gi nh

- Trang 165 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE GIAO DIEN NGI DUNG (t.t)


Cong cu thiet ke giao dien nen co nhng tnh nang sau
Quan ly thiet b nhap (ban phm, chuot) Hieu chnh thong tin input Kiem soat loi va hien th thong bao loi Cung cap tr giup va hien th thong bao nhac nh Cung cap feedback (v du nh t ong hien th ky t anh vao) Kiem soat ca so va vung, kha nang cuon Thiet lap giao tiep gia chng trnh vi giao dien (vd: ham ap ng) Cach ly chng trnh vi cac ham quan ly giao dien Cho phep tuy bien giao dien
- Trang 166 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE GIAO DIEN NGI DUNG (t.t)


Mot so hng dan chung
Nen ong nhat (menu, lenh, hien th...) Nen cung cap feedback cho ngi dung Yeu cau xac nhan nhng tac vu mang tnh pha hoai (xoa file, account) Nen ho tr UNDO, REDO Han che lng thong tin phai ghi nh gia 2 tac vu lien tiep Toi u trong trnh bay hop thoai va di chuyen mouse Chap nhan loi t pha ngi s dung Cung cap tr giup trc tuyen Dung ong t n gian va ngan gon e at ten cac lenh
- Trang 167 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE GIAO DIEN NGI DUNG (t.t)


oi vi thong tin hien th
Ch hien th nhng thong tin phu hp vi ng canh hien tai Dung ten, t viet tat va mau gi nh Cho phep tng tac trc quan Tao thong bao loi co y ngha Hien th d lieu nhieu dang khac nhau trong ca so Thiet lap bieu dien tng t S dung khong gian man hnh mot cach toi u
- Trang 168 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE GIAO DIEN NGI DUNG (t.t)


oi vi thong tin input
Han che input trc tiep (co the chon la t mot so d lieu co san) Nen ong nhat gia thong tin input va hien th Nen cho phep tuy bien input Cam cac chc nang khong thch hp trong ng canh hien tai Cho phep input nhieu dang khac nhau e cho ngi s dung kiem soat dong s kien tng tac T ong tnh cac gia tr input cho ngi s dung neu co the
- Trang 169 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

THIET KE THU TUC


Thiet lap thuat giai cho cac module a kien tao sao cho co the de dang ma hoa bang ngon ng lap trnh co cau truc Co the bieu dien thuat giai bang
Lu o thuat giai: oc [1], trang 407 Ky hieu dang bang : oc [1], trang 409 Ngon ng PDL
- Trang 170 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

NGON NG PDL
Ngon ng PDL vay mn t vng cua ngon ng t nhien va cu phap cua ngon ng lap trnh co cau truc. No co cac tnh chat sau:
Cu phap chat che cua cac t khoa ho tr ac ta cau truc, khai bao d lieu, phan chia module Cu phap t do cua ngon ng t nhien giup mieu ta x ly Phng tien mo ta d lieu n cung nh d lieu to hp C che nh ngha chng trnh con va phng cach goi
- Trang 171 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

NGON NG PDL (t.t)


procedure AnalyzeTriangle( a, b, c: in real; type: out string) begin sort a, b, c so that a >= b >= c; if ( c > 0 and a < b + c ) if ( a = c ) type := Equilateral else if ( a = b or b = c ) type := Isosceles else if ( a*a = b*b + c*c ) type := Right else type := Scalene else type := Error end
- Trang 172 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

TONG KET
Cac c s cua thiet ke phan mem: tru tng hoa, tnh che tng bc, phan chia module, cau truc d lieu, chng trnh con, che dau thong tin Phan chia module hieu qua: tang o ket dnh va giam s lien ket Thiet ke co ien bao gom 4 cong oan: t/k d lieu, t/k kien truc, t/k giao dien ngi may va t/k thu tuc
- Trang 173 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem Chng 6: C s cua thiet ke phan mem va phng phap thiet ke co ien

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

THIET KE HNG OI TNG


Hanh vi cua oi tng Hoan chnh ac ta lp

Chng 7

- Trang 174 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

NOI DUNG
7.1. Thiet ke hanh vi
7.1.1. Khai niem mo hnh ong 7.1.2. Tng tac gia cac oi tng 7.1.3. S cong tac (collaboration) 7.1.4. Mieu ta trnh t 7.1.5. Lc o trang thai (statechart diagram) 7.1.6. Lc o hoat ong (activity diagram) 7.2.1. Nhan dien them mot so lp thiet ke 7.2.2. ac ta chi tiet cac thuoc tnh 7.2.3. Nhan dien chnh xac cac tac vu 7.2.4. Hoan chnh lc o lp
- Trang 175 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

7.2. Hoan chnh ac ta tnh

GII THIEU
Giai oan thiet ke quan tam en HOW:
Th t cac thong iep trao oi, thong so cua thong iep Thuat giai cua tac vu ap ng Cau truc d lieu cho cac thuoc tnh Framework (console, document/view, 3-tier...)

Thiet ke cung chu anh hng t:


Ngon ng lap trnh va th vien lap trnh (Ho tr Vector, List, Map... hay khong ? Ho tr template hay khong ?...) Kien truc he thong (COM, CORBA hay EJB)

Thiet lap mo hnh ong (dynamic modeling) va chi tiet hoa mo

hnh tnh
- Trang 176 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

KHAI NIEM MO HNH ONG


Lc o lp ch mo ta kha canh tnh cua he thong Hanh vi cua he thong c mo ta bang mo hnh ong bao gom
Tng tac gia cac oi tng: cong tac hay trnh t Trang thai cua oi tng/lp Qua trnh hoat ong cua lp/oi tng

- Trang 177 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

TNG TAC GIA CAC OI TNG


oi tng tng tac vi nhau (interaction) bang cach gi/nhan kch thch (stimulus) Actor cung co the gi kch thch en oi tng Kch thch khien mot tac vu thc thi, mot oi tng c tao ra hay huy i, hoac gay ra mot tn hieu Thong iep (message) la ac ta cua kch thch
- Trang 178 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

TNG TAC GIA CAC OI TNG (t.t)


Cac loai thong iep
n gian ong bo Bat ong bo Tra ve cua goi ham

- Trang 179 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC
Cong tac (collaboration) nh ngha tap hp cac thanh phan tham gia va quan he gia chung Cac thanh phan tham gia la vai tro ma oi tng/lp ong vai khi tng tac vi nhau Cac vai tro cua oi tng thng ch co ngha oi vi mot muc ch nao o Lc o cong tac (collaboration diagram) c thiet lap e cu the hoa mot use-case hoac mot tac vu
- Trang 180 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC (t.t)


Lc o cong tac la mot o th lien ket cac vai tro Quan he lien ket c dung e ket noi cac vai tro vi nhau Co the ch ra ten vai tro cho cac lien ket Tng tac c the hien bang gi/nhan thong iep Moi thong iep c the hien bang mui ten (nh a mieu ta) cong vi phan ac ta
- Trang 181 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC (t.t)


Cac thong iep c anh so theo kieu phan cap
3.4.2 xay ra sau 3.4.1 va ca hai c long (nested) trong 3.4 3.4.3a va 3.4.3b xay ra ong thi va c long trong 3.4

Cu phap tong quat cua thong iep


precedessor guard-condition sequence-expression returnvalue := message-name argument-list

V du:

2/ 1.3.1: p := find(specs) 1.1, 4.2/ 3.2 *[i:=1..6]: invert(x, color)

- Trang 182 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC (t.t)


Lc o cong tac co the c thiet lap mot trong 2 dang:
Dang cu the: moi vai tro c bieu dien bang mot ky hieu cua oi tng cu the, cac thong iep c trao oi tren cac ng lien ket Dang ac ta: mo ta cac lp; cac ng lien ket c anh xa vao cac thong iep

Thiet lap lc o cong tac giup cu the hoa (realize) cac use-case va nhan dien them mot so tac vu cua cac oi tng/lp phan tch

- Trang 183 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC (t.t)


V du: lc o cong tac mc cu the cho use-case Login cua he thong ang ky mon hoc tn ch qua WEB
1: login(uname,pswd) : People 1.2 [succ = true]: welcome

: LoginForm

1.1: succ := Verify(uname,pswd)

: Database
- Trang 184 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

S CONG TAC (t.t)


2: register 1: submit(uname, psswd) : LoginForm : Student 1.2 [succ = true]: welcome

V du: lc o cong tac mc cu the cho use-case Registers course cua he thong ang ky mon hoc tn ch qua WEB

3: submit(crsOffering) 3.4: beSuccessful 2.1: create 1.1: succ := verify(uname, psswd) regForm : RegisterForm 3.1: reg := FetchReg(crsOffering) 3.3: SetReg(reg) 3.2: AddStudent(code) : Registration : Database

- Trang 185 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T
Lc o cong tac mieu ta s tng tac theo kha canh khong gian e nhan manh trnh t cua tng tac (sequence diagram) Lc o tuan t mieu ta cac oi tng tng tac vi nhau theo thi gian song cua no Cac thong iep c trao oi theo trnh t thi gian Cac moi lien ket khong c the hien trong lc o
- Trang 186 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

dung lc o tuan t

MIEU TA TRNH T (t.t)


Lc o tuan t co 2 dang
Dang tong quat: the hien ca vong lap va re nhanh Dang cu the: mieu ta mot kch ban cu the

Thi gian song cua moi oi tng c mo ta theo mot ng thang ng Thong thng thi gian troi theo chieu t tren xuong di t khi quan tam en khoang thi gian, thng ch quan tam en trnh t ma thoi
- Trang 187 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T (t.t)


Thanh hnh ch nhat mo ta s thc thi cua mot tac vu e ap ng lai thong iep gi en o dai cua thanh ch nhat phan anh thi gian thc thi cua tac vu va tnh chat long nhau (nested) gia chung Cac dong text phu tr (mo ta tac vu, rang buoc thi gian...) c viet le trai

- Trang 188 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T (t.t)


V du: lc o tuan t dang tong quat
ob2 : C2
: People

ob3 : C3

ob4 : C4

new( )

ob1 : C1 [x<0] op2( ) [x>=0] op3( ) op4( y ) op5( ob3 )

display( )

- Trang 189 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T (t.t)


V du: lc o tuan t dang tong quat
:Computer
: Operator

:PrinterServer

:Printer

print(ps-file ) a {b - a < 5 seconds} b

print(ps-file) print(ps-file)

- Trang 190 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T (t.t)


V du: lc o tuan t dang cu the cho use-case Login cua he thong ang ky mon hoc tn ch qua WEB
: LoginForm 1: submit(uname, psswd) 1.2: welcome : Database

: People

1.1: verify(uname, psswd)

- Trang 191 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

MIEU TA TRNH T (t.t)


: Student

regForm : RegisterForm 1: submit(uname, psswd) 1.2 [succ = true]: welcome

: LoginForm

: Registration

: Database

V du: lc o tuan t dang cu the cho

1.1: succ := verify(uname, psswd)

2: register 2.1: create

3. submit(crsOffering)

3.1: reg := fetchReg(srcOffering) 3.2: addStudent(code) 3.3: setReg(reg)

use-case Register courses

3.4: beSuccessful( )

- Trang 192 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI
Chuan UML a ra lc o trang thai e bieu dien hanh vi cua mot phan t bat ky bang cach ch ra ap ng cua no oi vi cac s kien ben ngoai Thong thng lc o trang thai c ap dung cho oi tng/lp bieu dien hanh vi cua lp Trang thai cua moi oi tng (nh ngha goc ?) t nhieu se b thay oi trong suot chu ky song cua oi tng
- Trang 193 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


Trang thai n gian la mot tnh trang trong i song oi tng hoac mot tng tac cua oi tng ma theo o oi tng thoa mot ieu kien, thc hien mot cong viec hoac i mot s kien nao o Thong thng moi oi tng nam mot trang thai trong mot khoang thi gian nhat nh sang trang thai khac Trang thai tong hp la trang thai co the c phan ra ve cac trang thai n gian
- Trang 194 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

no se dch chuyen t trang thai nay

LC O TRANG THAI (t.t)


Trong UML ky hieu cua trang thai la mot hnh ch nhat tron goc va c chia lam nhieu phan phan cach nhau bang cac oan thang nam ngang:
Phan ten Phan mieu ta cac hanh ong ben trong Typing Password entry / set echo visible exit / set echo normal character / handle character help / display help
- Trang 195 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


Ten trang thai la duy nhat trong lc o; co the khong co (trang thai vo danh) Cac hanh ong ben trong: cac hanh ong hoac tac vu c thc hien khi oi tng nam trang thai ang xet; co cu phap nh sau
action-label / action-expression

Mot so nhan hanh ong (action-label) c quy c trc:


entry: thc hien hanh ong tai thi iem bat au trang thai exit: thc hien hanh ong tai thi iem ket thuc trang thai do: thc hien hanh ong suot trang thai hoac cho en khi ket thuc no include: trieu goi mot may trang thai con khac
- Trang 196 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


Cac nhan hanh ong khac ch ra s kien kch hoat hanh ong tng ng trong bieu thc hanh ong (action-expression) Cu phap cua bieu thc hanh ong
event-name ( parameter-list ) [guard-condition] / action-expression

- Trang 197 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


Trang thai bat au: khi oi tng c tao ra hoac trang thai tong hp c xac nh; ky hieu Trang thai ket thuc: khi oi tng b huy bo hoac trang thai tong hp tr nen khong xac nh; ky hieu Trang thai tong hp (composite) c phan ra thanh nhieu trang thai con ong thi hoac cac trang thai con loai tr nhau
- Trang 198 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


V du: phan ra trang thai tong hp Running
Running Forward Backward

Slow

Fast

- Trang 199 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


S kien (event) kch hoat dch chuyen trang thai, co the la
Mot ieu kien tr nen ung (chu y khac vi guard-condition) Mot oi tng nhan tn hieu t oi tng khac Mot phep goi tac vu Mot khoang thi gian a troi qua ke t mot s kien nao o

Cu phap cua s kien: event-name ( parameter-list ) S kien co tam vc thuoc ve package cha lp ang mo ta lc o trang thai, ch khong ch thuoc ve rieng lp o
- Trang 200 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


Dch chuyen trang thai la quan he gia hai trang thai theo o oi tng ang trang thai th nhat se chuyen sang trang thai th hai ong thi se thc hien mot so hanh ong khi s kien tng ng xay ra va thoa man mot so ieu kien nhat nh c ky hieu nh mot mui ten hng t trang thai nguon en trang thai ch va c gan nhan Nhan co cu phap: event-signature [ guard-condition ]
/ action-expression
- Trang 201 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


V du: lc o trang thai cua lp Message
hightlight Composed focus compose command Read
entry/ convert to rich text

entry/ assign ID exit/ fill date on char/ handle character re-fwd cmd / quote / append subject

save command send command[ recipents != null ] / parse

read command / recover( id ) unhightlight

Sending
do/ send( repc )

sending done

Stored
entry/ save into folder

logout

- Trang 202 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O TRANG THAI (t.t)


import failed

No map run do/ load map do/ load image

map loaded[ image invalid ]

Modeling do/ model(map, param)

import / map := create( file ) image loaded exit command Saved exit command entry/ render do/ store modeling done import / map := create(file) import command[ file valid ] model command viewing command save command Dirty exit command / save entry/ render

- Trang 203 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O HOAT ONG
Lc o hoat ong (activity diagram) la mot bien the cua lc o trang thai trong o trang thai la s thc thi mot hanh ong va s dch chuyen c kch hoat khi hanh ong hoan tat c dung e mo ta mot thu tuc hay thuat giai cac hanh ong Moi hanh ong c ky hieu bang hnh ve nh sau
work
- Trang 204 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

tap trung vao

LC O HOAT ONG (t.t)


Quyet nh re nhanh: hnh thoi co mot ng vao va nhieu nhanh ra, moi nhanh c gan mot guard-condition Cac nhanh ra c nhap lai bang mot hnh thoi khac Moi ng bi (swimlane) ai dien mot lp hoac mot actor

- Trang 205 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O HOAT ONG (t.t)


LoginForm Database

Show input for username and password Verify

V du: lc o hoat ong cho tac vu submit

[ psswd invalid ]

[ psswd valid ]

cua LoginForm

Reject

Welcome

- Trang 206 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

LC O HOAT ONG (t.t)


RegisterForm
submit Read course offerings Look for registration

Database

Registration

V du: lc o hoat ong cho tac vu submit cua RegisterForm

[ reg found ] [ reg not found ] Create registration Fetch registration

Show success

Update registration

Add student

- Trang 207 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

NHAN DIEN THEM MOT SO LP THIET KE


Mo hnh thiet ke phan nao chu anh hng t ngon ng lap trnh, th vien ho tr, framework, he ieu hanh va loai may tnh Mot so lp se xuat hien khi ap dung nhng yeu to tren
Ngon ng lap trnh: template, CObject... Th vien ho tr: lp Date, Time, List, Map, vector, iostream Framework: Applet, Panel, CDocument, CView, HttpServlet He ieu hanh: cac lp thao tac file, m cau noi network, cac phan t giao dien.
- Trang 208 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

NHAN DIEN THEM MOT SO LP THIET KE (t.t)


Mot so lp khac xuat hien lam chc nang duyet (iterate) mot lp khac hay thc hien cac tnh toan phc tap... S dung trc tiep cac lp do th vien hay ngon ng cung cap, hoac Tao ra lp mi bang cach tha ke hay tch hp cac lp co san, v du
CArray<Isoquant, Isoquant&>

Bo sung cac lp mi vao lc o lp ong thi cap nhat cac moi quan he mi (bao gop, phu thuoc)
- Trang 209 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

AC TA CHI TIET CAC THUOC TNH


Message <<entity>> # subject: String # content: String + GetSubject( ): String + toString( ): String

Trong mo hnh phan tch can phai ch ro kieu (hoac cau truc d lieu) va mc o truy xuat cua cac thuoc tnh Co the chon mot lp cung cap bi th vien lap trnh e cu the hoa kieu hay cau

sent
CDate

truc d lieu

bo sung lp cua th vien

va quan he bao gop vao lc o lp

- Trang 210 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

NHAN DIEN CHNH XAC CAC TAC VU


Cac lc o mo ta hanh vi (cong tac, tuan t, trang thai, hanh ong) giup nhan dien chnh xac cac tac vu cua cac lp Da vao cac thong iep hay hanh ong e xac nh signature cua cac tac vu V du: nhan dien mot so tac vu cua lp Database
setReg( reg: Registration ); fetchReg( crsOff: CourseOffering) : Registration;
- Trang 211 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

NHAN DIEN CHNH XAC CAC TAC VU (t.t)


V du: nhan dien mot tac vu cua lp ChildView
render( ); store( ); load( ); model( map: FieldMap, param );

V du: nhan dien mot tac vu cua lp LoginForm


submit( uname: String; psswd: String ); makeWelcome( );
- Trang 212 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

HOAN CHNH LC O LP
Cap nhat cac lp mi, thuoc tnh, tac vu va cac moi quan he mi UML nh ngha quan he phu thuoc (dependency) gia 2 lp hoac package: thay oi mot lp, package keo theo thay oi lp, package kia Ky hieu cua quan he phu thuoc la mui ten t net: lp, package pha uoi mui ten phu thuoc vao lp, package pha au mui ten Mot so stereotype quy c trc: <<call>>, <<instantiate>>, <<import>>, <<refine>>, <<realize>>, <<derive>>, <<trace>>
- Trang 213 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

HOAN CHNH LC O LP (t.t)


V du: them lc o lp cho he thong ang ky mon hoc
LoginForm <<boundary>> RegisterForm <<boundary>>

+ submit(uname: String, psswd: String) + makeWelcome( )

+ submit(offering: CourseOffering) + beSuccessful( )

Database <<call>> + fetchReg(crs: CourseOffering): Registration + setReg(reg: Registration) <<call>>

- Trang 214 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

HOAN CHNH LC O LP (t.t)


# map FieldMap <<entity>>

FractureIterator + current( ): Fracture* MapIterator # setBound(b: int) + current( ): Item + operator++() + operator--() + Last( ) + First( )

Item

<<friend>> MapIterator<Isoquant*>

MapIterator<Fracture*>

IsoquantIterator + current( ): Isoquant*

- Trang 215 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

HOAN CHNH LC O LP (t.t)


Chu y s dung package e to chc cac phan t lien quan vi nhau: cac lp ve ban o a hnh, ve thong tin sinh vien/giang vien, ve ca so giao dien, ve cac servlet Cac package the hien kien truc phan mem, thong thng chu anh hng t framework (Document/View, 3-tiers...) Moi package cha mot hoac mot vai lc o lp, trong o co the tham chieu en mot so lp thuoc cac package khac
- Trang 216 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

TONG KET
Mo hnh thiet ke bao trum ca kha canh tnh va ong cua he thong phan mem can xay dng UML ho tr mot so lc o giup mo ta kha canh ong: cong tac, tuan t, trang thai, hanh ong Mieu ta chnh xac thuoc tnh va tac vu, bo sung mot so lp thiet ke hoan thien kha canh tnh

Thiet lap cac package tao thanh kien truc phan mem
- Trang 217 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 7: Thiet ke hng oi tng

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

HIEN THC VA TRIEN KHAI


Cac thanh phan Cac thiet b

Chng 8

- Trang 218 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

NOI DUNG
8.1. Hien thc
8.1.1. Thanh phan (component) 8.1.2. Lc o thanh phan (component diagram) 8.1.3. Gan cac lp vao cac thanh phan ma nguon 8.1.4. Sinh ma nguon

8.2. Trien khai


8.2.1. Node trien khai 8.2.2. Ket noi cac node 8.2.3. Lc o trien khai (deployment diagram)
- Trang 219 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

GII THIEU
Can phai xay dng chng trnh chay c t ket qua cua giai oan thiet ke Cac lp se c cu the hoa vao cac thanh phan phan mem nh the nao va bang ngon ng lap trnh g ? Chng trnh se c cai at ra sao tren tai nguyen tnh toan ?
- Trang 220 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

THANH PHAN
Thanh phan (component) bieu dien mot phan hien thc nao o cua he thong Mot so stereotype quy c trc:
<<file>>: ma nguon hay d lieu <<executable>>: chng trnh chay c <<library>>: th vien lien ket tnh hay ong <<document>>: tai lieu c thiet lap trong qua trnh phat trien <<table>>: bang c s d lieu
- Trang 221 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

THANH PHAN (t.t)


Thanh phan phan mem (software component) bao gom
Ma nguon: *.cpp, *.c, *.pas, *.java, *.bas Ma oi tng: *.obj Ma nh phan: *.class Chng trnh thc thi: *.dll, *.exe

Thanh phan phan mem co the ton tai trong thi gian bien dch, thi gian lien ket chng trnh hoac thi gian thc thi
- Trang 222 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O THANH PHAN
Lc o thanh phan la mot o th gom cac thanh phan ket noi vi nhau bi quan he phu thuoc Ky hieu cua thanh phan co the bao gom mot so hnh tron bieu dien cac giao tiep va cha cac lp ma no cu the hoa Component-name Class-name Interface-name

- Trang 223 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O THANH PHAN (t.t)


V du: lc o thanh phan the hien mot so module ma nguon cua chng trnh hien th be mat a hnh
GeoMap <<file>> FieldMap <<file>> FieldMap Isoquant MapCurve <<file>> MapCurve Fracture

- Trang 224 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O THANH PHAN (t.t)


V du: lc o thanh phan the hien thi gian thc thi cua chng trnh hien th be mat a hnh
op12_dp.dll <<library>> cbsLoader12_dp.dll <<library>>

FieldVis.exe <<executable>> Cosmo3D12.dll <<library>> IFL0.dll <<library>> MFC42.dll <<library>>

- Trang 225 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O THANH PHAN (t.t)


V du: lc o thanh phan cua he thong ang ky mon hoc
People <<file>> PeopleInfo Register <<file>> StudentInfo LectureInfo Database

RegisterForm

Login <<file>> LoginForm

- Trang 226 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O THANH PHAN (t.t)


V du: lc o thanh phan the hien thi gian thc thi cua he thong ang ky mon hoc qua WEB
AddStdServ <<executable>> CheckApl <<executable>>

LoginServ <<executable>>

AddLectServ <<executable>>

RegServ <<executable>>

- Trang 227 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

GAN CAC LP VAO CAC THANH PHAN


Khi thiet lap cac thanh phan ma nguon, chu y gan (bind) cac lp thiet ke va chon ngon ng lap trnh
Gan lp FieldMap vao thanh phan FieldMap (C++) Gan lp MapCurve, Isoquant va Fracture vao thanh phan MapCurve Gan lp PeopleInfo, StudentInfo, LectureInfo va Database vao thanh phan People (Java) Gan lp va LoginForm vao thanh phan Login (Java)

Ky hieu cua thanh phan cha ky hieu cua lp c gan Chu y: component package
- Trang 228 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

SINH MA NGUON
Da vao ac ta lp e viet ma cho tng thanh phan ma nguon theo ngon ng lap trnh a chon Viet ma sn la cong viec hi nham chan ong hoa bi cac cong cu CASE co the c t

- Trang 229 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

NODE TRIEN KHAI


Node la mot thiet b vat ly co kha nang tnh toan, bao gom: may tnh, may in, thiet b quet card, router Node c mo ta ca 2 dang: dang lp va dang instance Node c ky hieu nh hnh hop ba chieu Cac minh du cua thanh phan co the song trong mot minh du node
Dell Pentium III 600 Server of 600: Dell Pentium III 600

- Trang 230 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

KET NOI CAC NODE


Co the ch ra quan he lien ket gia cac node e mo ta cau hnh ket noi (connection)
:Pentium II 450 <<TCP/IP>> :Silicon Graphics <<TCP/IP>> :Sun Ultra1

:Pentium III 600

- Trang 231 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O TRIEN KHAI
Lc o trien khai cho phep mieu ta cach cai at cac thanh phan thc thi tren cac node V du: he thong ang ky mon hoc qua WEB
Java WEB Server: Pentium III 600 Client: Pentium MMX 200

RegServ <<executable>> LoginServ <<executable>>

<<TCP/IP>>

CheckApplet <<executable>>

- Trang 232 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

LC O TRIEN KHAI (t.t)


V du: chng trnh hien th be mat a hnh
WindowsNT workstation: Pentium II 450

op12_dp.dll <<library>> FieldVis.exe <<executable>> IFL0.dll <<library>> MFC42.dll <<library>>

cbsLoader12_dp.dll <<library>>

Cosmo3D12.dll <<library>>

- Trang 233 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

TONG KET
Hien thc va trien khai tap trung vao xay dng cac thanh phan chay c hoac cac th vien, module ma nguon, trang HTML, dang nh phan... Cac thanh phan ma nguon cu the hoa mot so lp thiet ke va co the c viet bang cac ngon ng lap trnh khac nhau Cuoi cung trien khai cac thanh phan chay c tren cac thiet b tinh toan
- Trang 234 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 8: Hien thc va trien khai

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

KY THUAT KIEM NGHIEM PHAN MEM


Test-case Kiem tra cac ng oc lap c ban

Chng 9

- Trang 235 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

NOI DUNG
9.1 Mot so khai niem 9.2. C s cua kiem nghiem phan mem
9.1.1. Muc tieu cua kiem nghiem phan mem 9.1.2. Cac nguyen ly cua kiem nghiem phan mem 9.1.3. Thiet lap cac test-case

9.3. Kiem nghiem cac ng oc lap c ban


9.2.1. Xay dng o th dong chay (flow graph) 9.2.2. Liet ke cac ng oc lap c ban 9.2.3. Thiet lap cac test-case
- Trang 236 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

GII THIEU
Mac du c t ong hoa mot phan bi cac cong cu CASE, rat nhieu cong oan trong qua trnh san xuat phan mem van c thc hien bi con ngi Loi co the xay ra trong tat ca cac giai oan: phan tch yeu cau, thiet ke, ma hoa Do o phai kiem nghiem chng trnh trc khi chnh thc s dung
- Trang 237 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

MOT SO KHAI NIEM


Kiem nghiem phan mem la hoat ong thc thi chng trnh vi muc ch tm ra loi Phan loai:
Kiem nghiem black-box: kiem tra cac chc nang cu the cua phan mem, khong quan tam cau truc ben trong, thng ap dung cho nhng module ln. Kiem nghiem white-box: kiem tra cau truc ieu khien ben trong chng trnh, thng dung cho nhng nhng module nho.

phe phan, khong mang tnh xay dng

Moi loai kiem nghiem co kha nang tm ra nhng nhom loi khac nhau nen ket hp ca hai

- Trang 238 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

MUC TIEU CUA KIEM NGHIEM PHAN MEM


Muc tieu cua kiem nghiem phan mem la tm ra loi (neu co) vi chi ph thap nhat. Kiem nghiem phan mem giup
Phat hien c loi trong chng trnh (neu co). Chng minh c phan mem hoat ong ung nh a thiet ke. Chng minh c phan mem ap ng yeu cau cua user

Gop phan chng minh chat lng cua phan mem.


- Trang 239 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

MUC TIEU CUA KIEM NGHIEM PHAN MEM (t.t)


Qua trnh kiem nghiem phan mem la tot khi
Co kha nang tm ra loi cao. Khong d tha. Biet chon loc: ch kiem nghiem nhng phan nao co kha nang tm ra loi ac trng. Khong qua phc tap cung khong qua n gian.

Chu y: Kiem nghiem phan mem khong khang nh c phan mem khong con khiem khuyet, ch khang nh c phan mem co loi.
- Trang 240 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

CAC NGUYEN LY KIEM NGHIEM PHAN MEM


Viec kiem nghiem nen hng ve yeu cau cua khach hang Nen c hoach nh trc mot thi gian dai. Ap dung nguyen ly Pareto: 80% loi co nguyen nhan t 20% cac module co lap va kiem tra nhng module kha nghi nhat. Nen tien hanh t nho en ln: bat au t nhng module rieng biet roi sau o tch hp cac module lai. Khong the kiem nghiem triet e mot phan mem. Nen c thc hien bi nhng oi tng KHONG tham gia vao qua trnh phat trien phan mem.
- Trang 241 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

THIET LAP CAC TEST-CASE


Khai niem test-case
D lieu input Thao tac kiem nghiem D lieu output hay ap ng mong i cua chng trnh

Test-case cho kiem nghiem black-box: chu yeu da vao cac yeu cau cu the cua chc nang phan mem. Test-case cho kiem nghiem white-box: chu yeu da vao cau truc ieu khien cua phan mem thiet la qua ln
- Trang 242 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

van e at ra: so lng test-case can

KIEM NGHIEM CAC NG OC LAP C BAN


Kiem nghiem white-box da vao cau truc ieu khien cua thiet ke thu tuc e sinh cac test-case vi tieu ch
Tat ca cac ng thc thi oc lap c th qua t nhat mot lan Th cac ieu kien re nhanh ca 2 nhanh true va false Th qua vong lap tai bien cung nh ben trong Th qua cau truc d lieu e am bao tnh toan ven cua no

Kiem nghiem cac ng oc lap c ban la mot trong nhng phng cach kiem nghiem white-box
- Trang 243 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

XAY DNG O TH DONG CHAY


Moi node hnh tron bieu dien mot hoac mot vai tac vu (hi khac so vi lu o thuat giai) Canh co hng mieu ta ng thc thi o th dong chay c xay dng t lu o thuat giai
sequence if until while case

- Trang 244 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

XAY DNG O TH DONG CHAY (t.t)


1

1
2,3

2 3 6 7 9 8 10 11 4 5
7

6 8 9 10

4,5

11

- Trang 245 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

XAY DNG O TH DONG CHAY (t.t)


procedure: DoSomething 1: 2: 3: 4: 5: 6: 7: do while x=0 if y=0 then z=0; elseif k=0 then z=1; else x=1; endif; endif; 8: enddo
9 6 7 8 5 4 2 1

9: end

- Trang 246 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

XAY DNG O TH DONG CHAY (t.t)


Phai phan ra tat ca cac ieu kien phc tr thanh cac ieu kien n Moi node mo ta mot ieu kien n c goi la predicate
a b x b a

if a and b then y else x

while a or b do x

- Trang 247 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

XAY DNG O TH DONG CHAY (t.t)


procedure AnalyzeTriangle
5 a=c a<b+c 2 c>0 1 3 a=b 4 6 8 b=c a2=b2+c2 9 10 12 7

11

- Trang 248 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

LIET KE CAC NG OC LAP C BAN


T node bat au en node ket thuc, cac ng thc thi c ban c liet ke theo mot th t nao o e am bao rang: ng ang liet ke t nhat i qua mot canh cha c duyet qua bi cac ng a liet ke trc o Tong so ng thc thi c ban oc lap nhau c tnh bang V = P + 1; trong o P la so node phan nhanh (predicate)
- Trang 249 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

LIET KE CAC NG OC LAP C BAN (t.t)


oi vi chng trnh con DoSomething
Tong so ng : V = 3 + 1 = 4 ng 1: 1-9 ng 2: 1-2-3-8-1 ng 3: 1-2-4-5-7-8-1 ng 4: 1-2-4-6-7-8-1
6 7 8 4 5 2 1

Chu y: dau 3 cham () mang y ngha khong quan tam, t o co the i theo bat ky canh nao bi v cac canh sau o a c duyet qua roi

- Trang 250 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

LIET KE CAC NG OC LAP C BAN (t.t)


oi vi chng trnh con AnalyzeTriangle
Tong so ng : V = 6 + 1 = 7 ng 1: 1-3-12 ng 2: 1-2-3-12 ng 3: 1-2-4-5-12 ng 4: 1-2-4-6-7-12 ng 5: 1-2-4-6-8-7-12 ng 6: 1-2-4-6-8-9-10-12 ng 7: 1-2-4-6-8-9-11-12
- Trang 251 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

THIET LAP CAC TEST-CASE


Thiet lap mot test-case cho moi ng thc thi c ban Da vao thuat giai e tm ra mot d lieu input, sau o tnh ra d lieu output hay ap ng mong i cua thuat giai Chu y: co the khong tao ra c test-case cho mot ng thc thi nao o
- Trang 252 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

THIET LAP CAC TEST-CASE (t.t)


Sinh test-case cho chng trnh con AnalyzeTriangle Test-case cho ng 1:
Input: Output mong i: a = 3, b = 2, c = 0 type = Error a = 17, b = 5, c = 4 type = Error a = 6, b = 6, c = 6 type = Equilateral

Test-case cho ng 2:
Input: Output mong i:

Test-case cho ng 3:
Input: Output mong i:

- Trang 253 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

THIET LAP CAC TEST-CASE (t.t)


Test-case cho ng 4:
Input: Output mong i: a = 7, b = 7, c = 4 type = Isosceles a = 12, b = 9, c = 9 type = Isosceles a = 5, b = 4, c = 3 type = Right a = 13, b = 11, c = 6 type = Scalene

Test-case cho ng 5:
Input: Output mong i:

Test-case cho ng 6:
Input: Output mong i:

Test-case cho ng 7:
Input: Output mong i:

- Trang 254 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

TONG KET
Muc tieu cua kiem nghiem phan mem la tm ra loi Hai loai kiem nghiem: white-box va black-box. Kiem nghiem cac ng oc lap c ban dung trong kiem nghiem white-box, bao gom cac bc
Thiet lap o th dong chay Liet ke cac ng thc thi oc lap c ban Sinh cac test-case cho cac ng thc thi o
- Trang 255 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 9: Ky thuat kiem nghiem phan mem

Trng ai Hoc Bach Khoa Tp. Ho Ch Minh Khoa Cong Nghe Thong Tin

CHIEN THUAT KIEM NGHIEM PHAN MEM


Verification & Validation Unit test & Integration test Kiem nghiem hng oi tng Nghe thuat g roi
- Trang 256 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

Chng 10

NOI DUNG
10.1. Mot so khai niem
10.1.1. Verification va validation 10.1.2. Mot chien thuat kiem nghiem pho bien

10.2. Kiem nghiem tng module 10.3. Kiem nghiem tch hp


10.3.1. Tch hp t tren xuong (top-down) 10.3.2. Tch hp t di len (bottom-up) 10.3.3. Kiem nghiem hoi quy (regression)

10.4. Kiem nghiem tnh nang (validation)


- Trang 257 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

NOI DUNG (t.t)


10.5. Kiem nghiem hng oi tng
10.5.1. Kiem nghiem n v hng oi tng 10.5.2. Kiem nghiem tch hp hng oi tng 10.5.3. Kiem nghiem theo kch ban

10.6. Nghe thuat g roi (debug)


10.6.1. Brute force 10.6.2. Loai tr nguyen nhan 10.6.3. Theo vet
- Trang 258 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

MOT SO KHAI NIEM


Chien thuat kiem tra phan mem tch hp cac phng phap tao ra test-case tr thanh mot chuoi cac bc co th t e co the kiem nghiem phan mem thanh cong. Bao gom cac cong viec
Lap ke hoach kiem nghiem Sinh test-case Thc hien kiem nghiem, thu thap ket qua va anh gia
- Trang 259 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

VERIFICATION va VALIDATION
Verification: cac hanh ong e am bao cho phan mem c hien thc ung theo mot chc nang cu the nao o building the product right ? Validation: cac hanh ong e am bao cho phan mem c xay dng theo ung yeu cau cua khach hang right product ?
- Trang 260 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

Are we

Are we building the

MOT CHIEN THUAT KIEM NGHIEM PHO BIEN


Phan tch toan bo he thong Kiem nghiem toan bo he thong

Phan tch yeu cau

Kiem nghiem tnh nang

Thiet ke

Kiem nghiem tch hp

Ma hoa

Kiem nghiem n v

- Trang 261 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

MOT CHIEN THUAT KIEM NGHIEM PHO BIEN (t.t)


Bat au tai tng module roi tch hp ln dan en toan bo he thong. Cac ky thuat khac nhau thch hp tai cac giai oan khac nhau. Kiem nghiem co the c tien hanh bi ngi phat trien phan mem, nhng oi vi cac d an ln th viec kiem nghiem phai c tien hanh bi mot nhom oc lap. Kiem nghiem va sa loi la cac hoat ong oc lap nhng viec sa loi phai phu hp vi cac chien thuat kiem nghiem.
- Trang 262 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM TNG MODULE


Tien hanh kiem nghiem tren tng n v nho nhat cua phan mem, o la module ma nguon, sau khi a thiet ke, ma hoa va bien dch thanh cong Thng dung ky thuat kiem nghiem white-box Co the tien hanh kiem nghiem cung luc nhieu module.

- Trang 263 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM TNG MODULE (t.t)


driver Module . ~~~~~~ ~~~~~~ ~~~~~~ stub stub testcases
- Trang 264 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

interface local data structures boundary conditions independent paths error handling paths

KIEM NGHIEM TNG MODULE (t.t)


Moi module ma nguon khong phai la mot chng trnh hoan chnh va oi khi phai goi cac module cha c kiem nghiem khac the phai thiet lap driver va/hoac stub: ph ton kha ln (70%) Driver la mot chng trnh chnh co nhiem vu nhan d lieu kiem nghiem, chuyen d lieu o xuong cho module e kiem tra va in ra cac ket qua kiem tra tng ng. Stub thay the cac module c goi bi module ang kiem tra.
- Trang 265 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

co

KIEM NGHIEM TCH HP


Tng module ma nguon a hoat ong ung. Lieu khi ket hp chung lai thanh mot nhom ln chung co hoat ong ung khong ? Phai tien hanh kiem nghiem tch hp e phat hien loi lien quan en giao tiep gia cac module. Tranh tch hp kieu big-bang: tat ca cac module c ket hp lai, va toan bo chng trnh se c kiem nghiem mot luc Nen tch hp tang dan: t tren xuong hoac t di len
- Trang 266 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

TCH HP T TREN XUONG


Module chnh c dung nh la driver, va stub c thay the bi cac module con trc tiep cua cua module chnh nay. Tuy thuoc vao cach tch hp theo chieu sau (depth-first) hoac chieu ngang(breath-first), moi stub con c thay the mot lan bi module tng ng a kiem nghiem. Tien hanh kiem nghiem khi co s thay the mi Tien hanh kiem nghiem hoi quy e phat hien cac loi khac trong tng module
- Trang 267 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

TCH HP T TREN XUONG (t.t)


M1

M2

M3

M4

M5

M6

M7

M8

Tch hp kieu t tren xuong theo hnh thc depth-first

- Trang 268 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

TCH HP T DI LEN
Cac module mc thap nhat c ket hp thanh cac nhom the hien mot chc nang con ac biet cua phan mem. Mot driver c tao ra e thao tac cac test-case Nhom module c kiem nghiem. Driver c bo i va cac nhom module c ket hp dan len pha tren trong s o phan cap cua chng trnh.
- Trang 269 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

TCH HP T DI LEN (t.t)


Mo Ma D1 D2 Mb D3

cluster 3

cluster 1

cluster 2

- Trang 270 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM HOI QUY


Viec ket hp cac module lai vi nhau co the anh hng en vong lap ieu khien, cau truc d lieu hay I/O chia se trong mot so module ieu o lam lo ra mot so loi khong the phat hien c khi tien hanh kiem nghiem theo n v Kiem nghiem hoi quy co the c tien hanh thu cong bang cach thc hien lai cac test-case a tao ra. Hoac co the dung mot cong cu capture-playback e thc hien t ong
- Trang 271 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM TNH NANG


Kiem nghiem tnh nang hieu theo cach n gian nhat la: cac chc nang cua phan mem ap ng c nhu cau cua khach hang von a c xac nh trong van ban ac ta yeu cau cua phan mem Ap dung ky thuat black-box Kiem nghiem tnh nang bao gom
Xem xet lai cau hnh phan mem Kiem nghiem alpha Kiem nghiem beta
- Trang 272 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM TNH NANG (t.t)


Kiem nghiem alpha
c tien hanh ngay tai ni san xuat phan mem. Nha phat trien phan mem se quan sat ngi s dung san pham va ghi nhan lai nhng loi phat sinh e sa cha.

Kiem nghiem beta


Phan mem c kiem tra ben ngoai pham vi cua n vu san xuat. Khach hanh trc tiep s dung va ghi nhan loi e bao lai cho nha phat trien sa cha.
- Trang 273 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM HNG OI TNG


Ve c ban chien thuat kiem nghiem hng oi tng cung theo th t giong nh kiem nghiem co ien: kiem nghiem n v - kiem nghiem tch hp - kiem nghiem chc nang -kiem nghiem toan bo he thong

- Trang 274 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM N V HNG T


Khong the tach ri tng tac vu cua oi tng/lp e kiem nghiem
Tac vu c ong bao trong lp Cac lp con co the override mot tac vu nao o

Kiem nghiem n v hng oi tng tap trung vao cac lp kiem nghiem hanh vi cua lp
- Trang 275 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KIEM NGHIEM TCH HP HNG T


Khai niem s o phan cap khong con nhieu y ngha trong chng trnh hng oi tng khac Hai hnh thc kiem nghiem tch hp hng oi tng
Kiem nghiem tren c s thread: tch hp cac lp tao thanh mot thread e phuc vu cho mot input nao o cua chng trnh Kiem nghiem tren c s s dung: cac lp client se c tch hp e s dung dch vu nao o cung cap bi cac lp server
- Trang 276 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

kiem nghiem tch hp theo cach

KIEM NGHIEM THEO KCH BAN


Da vao cac use-case e soan ra cac kch ban V du: mot kch ban cho he thong ang ky mon hoc qua WEB
1. Login vi username = e59306547, password = 6547 2. Chon chc nang ang ky mon hoc 3. Chon 5 nhom mon hoc cua 5 mon: CNPM, AI, XLTHS, PTTK, XLSS trong o co 2 nhom trung thi khoa bieu 4. Nhan nut Submit Chng trnh phai bao loi va liet ke 2 nhom b trung thi khoa bieu

- Trang 277 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

NGHE THUAT G ROI


G roi la mot qua trnh nham loai bo cac loi c phat hien trong qua trnh kiem tra. G roi c thc hien nh la mot ket qua cua viec kiem tra: loi phat hien c tm kiem nguyen nhan sa loi

Co 3 hnh thc g roi: brute force, loai tr nguyen nhan va theo vet. Nen dung ket hp ca 3 hnh thc nay.
- Trang 278 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

NGHE THUAT G ROI (t.t)


G roi la cong viec kho khan va de gay tam ly chan nan bi nguyen nhan gay ra loi nhieu khi lai m ho: do time-out, do o chnh xac, do chu quan lap trnh... Kha nang g roi gan nh la bam sinh cua moi ngi
- Trang 279 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

BRUTE FORCE
La phng phap pho bien nhat nhng lai t hieu qua nhat cho viec phat hien nguyen nhan gay loi phan mem. Triet ly cua phng phap nay la: Hay e may tnh tm ra loi. Co 3 cach thc hien:
Lay d lieu trong bo nh e xem xet. Dung run-time trace e tm loi. Dung lenh WRITE e xuat d lieu can kiem tra ra man hnh.

Ap dung phng phap nay khi tat ca cac phng phap khac eu that bai.
- Trang 280 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

LOAI TR NGUYEN NHAN


Phng phap nay da tren nguyen tac phan chia nh phan. Cach thc hien:
Khi mot loi c phat hien, co gang a ra mot danh sach cac nguyen nhan co the gay ra loi. Danh sach nay c nghiem lai e loai bo dan cac nguyen nhan khong ung cho en khi tm thay mot nguyen nhan kha nghi nhat. Khi o d lieu kiem nghiem se c tinh che lai e tiep tuc tm loi.

- Trang 281 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

THEO VET
La mot phng phap g loi kha pho bien co the dung thanh cong trong cac chng trnh nho nhng kho ap dung cho oi vi cac chng trnh rat ln. Cach thc hien: bat au tai dong ma nguon co trieu chng loi thc hien lan ngc tr lai tng dong ma nguon cho en khi tm thay dong gay ra loi.
- Trang 282 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem - Chng 10: Chien thuat kiem nghiem phan mem

KET THUC MON HOC


Thi cuoii ky ? Thi cuo ky ?

Phanntch --Thiettke -Pha tch Thie ke Hiennthc/triennkhai -Hie thc/trie khai Kiem nghiem -UML Kiem nghiem -UML Tattca noiidung Ta ca no dung

Chuc mng ban a hoan tat mon hoc Cong Nghe Phan Mem !

- Trang 283 Khoa Cong Nghe Thong Tin - Mon Cong Nghe Phan Mem

You might also like