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

Xây dựng phần mềm hướng đối tượng

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

Chuyên:Xâydngphnmmhngitng
Trng C Công Ngh Thông Tin TP.HCM
1
Gingviên:NguynNamTrung
Email:
Chuyên
Xâydngphnmmhngitng
Nidung
• Giithiuchung
• Nidungmônhc
• Hìnhthckimtravàánhgiá
• Tàiliuthamkho
Giithiuchung
 Mctiêumônhc:
• Cung cpchocácsinhviêncác
kinthc chuyên sâu liên quan
nvic
xây dng phnmm theo tipcn hng itng.
• Sinh viên scgiithiu
phng pháp, k thut  xây
dng phnmmtheohng itng, cbittronggiai
on
phân tích và thitk phnmm.
• Tính tinhóavà kin trúc linh hot c
aphnmmlàni dung
quan trng trong môn hcnày.
 Môn tiên quyt:
• Phng pháp lptrìnhhng itng
• Nhp môn công ngh phnmm
• Có kinthcv C#
Nidungmônhc


Môn hc c chia thành 02 phn chính :
• Phn01–Xâydng phnmmhng itng
 K nng phân tích, thitk và trin khai d án phnmm.
• Phn02–Môitrng và công c xây dng phnmm
 K nng xây dng, cài tphnmmdatrênbnthitk.
Chuyên:Xâydngphnmmhngitng
Trng C Công Ngh Thông Tin TP.HCM
2
Phn01–XâydngphnmmHĐT
• Chng01 – Mu
• Chng02 – Yêucucangisdng
• Chng03 – Môhìnhhóayêucu
• Chng04–Phântích
• Chng05 – Thitkdliu
• Chng06 – Thitkkintrúcphnmm
• Chng07 – Thitkgiaodin
• Chng08 – Mtsvnkhác
Phn02–Môitrngvàcôngc
• Chng01–Giithiutngquan
• Chng02–XAML
• Chng03–ThitkLayout
• Chng04– Controls
• Chng05–WPFInputevents
• Chng06–DocumentsvàFileStream
• Chng07– Resources
• Chng08–Databinding
• Chng09–Styles,Templates,SkinsvàThemes
Hìnhthckimtravàánhgiá
 Lý thuyt 7 im
• Thi cuik :làm án và vn áp 5 im

 Làm nhóm (btbuc 5 sinh viên / nhóm).
 Báo cáo và vn áp 2 im(+0.5im)
 Chng trình 3 im(+0.5im)
• Thi giak
2 im
 Hình thc1:vit (không dùng tài liu)
 Hình thc 2 : làm bài lab
 Thchành
2 im
 Chuyên cn 1 im
Tàiliuthamkho
• Roger S Pressman, Roger Pressman (2004), Software Engineering: A Practitioner's
Approach
,McGrawHill Science/Engineering/Math
• Ian Sommerville (2006),
Software Engineering: (Update) (8th Edition) , Addison
Wesley
• Dennis de Champeaux, Douglas Lea, Penelope, Faure (1993).
Software
Engineering  ObjectOriented System Development
, Addison Wesley
• Len Bass, Paul Clements, Rick Kazman (2003),
Software Architecture in Practice, 2
nd
edition
, Addison Wesley
• Clifton Nock (2003),
Data Access Patterns: Database Interactions in Object
Oriented Applications, Addison Wesley
• Sherif M. Yacoub, Hany H. Ammar (2003),

PatternOriented Analysis and Design:
Composing Patterns to Design Software Systems
, Addison Wesley.
• Microsoft Corporation (2003),
Enterprise Solution Patterns Using Microsoft .NET,
Microsoft Press
• Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee,
Randy Stafford (2002),
Patterns of Enterprise Application Architecture, Addison
Wesley.
• Alan Shalloway, James R. Trott (2004),
Design Patterns Explained – A New
Perspective on Object Oriented Design
, Addison Wesley
• Gregor Hohpe, Bobby Woolf (2003),
Enterprise Integration Patterns: Designing,
Building
, and Deploying Messaging Solutions, Addison Wesley
Chuyên:Xâydngphnmmhngitng
Trng C Công Ngh Thông Tin TP.HCM
3
• Nguyn Nam Trung, Windows Presentation Foundation, 2011
• Adam Nathan (2010), WPF 4 Unleashed, SAMS
• Matthew MacDonald, Pro WPF in C# 2010:
Windows Presentation Foundation in .NET 4.0, Apress

/>LearnAboutDesktopDevelopment


WPFTechnicalCommunity


/>MicrosoftExpressionStudio


DesignerorientatedtutorialsforExpressionBlend
Tàiliuthamkho Tàiliuthamkho
• />XAML Overview

/>Layout System

/>WPF Controls Gallery Sample

/>Routed Events Overview

/>Commanding Overview

/>Flow Document Overview
Tàiliuthamkho
• />Annotations Overview

/>Resources Overview

/>Data Binding (WPF)

/>Styling and Templating
Q&A

Nid
u
u

ngc
h
h
uyên
Chng

Chng

Chng

Chng

Chng

Chng

Chng

Chng

Xây
d
h

Mđu

Yêucu
c

Môhình


Phântíc
h

Thitk

Thitk

Thitk

Mtsv

d
ng
p
ng
c
angis

hóayêucu
h

dliu
kintrúcph

giaodin

nđkhác
P
p

hn
m
it


dng

nmm
HNI
m
m

ng
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
1
Chng1

M



u
Ngun:TSTrnMinhTrit
Hiuchnhvàtrìnhbày:NguynNamTrung
Email:
Nidung
• KháinimvPhnmm
• KháinimvChtlngphnmm


Khái nim v Công ngh phn mm

Khái

nim

v

Công

ngh

phn

mm
• KháinimvQuytrìnhphnmm
Kháinimvphnmm
 Víd:xétmtsphnmmsau
 Phnmmqunlýhcsinhcp3.
  
 Ph

nm

mqu

nlýthvin.
 Phnmmqunlýnhàsách.
 Phnmmqunlýkháchsn.
 Phnmmqunlýphòngmcht.

 Phnmmqunlýstitkim.
 Phnm
mqunlýgiivôchbóngá.
 Phnmmqunlýbánvéchuynbay.
 Phnmmqunlýcácilý.
 Phnmmxpthikhóabiu
 …
Kháinimvphnmm(tt)
 Phnmmdi góc nhìn cangis dng:
• Chng trình thcthictrênmáy tính hoc các thitb
chuyên
dng
khác
nhm
h
tr
cho
các
nhà
chuyên
môn
trong
chuyên
dng
khác
,
nhm
h
tr
cho

các
nhà
chuyên
môn
trong
tng lnh vc chuyên ngành thchin tthn các thao tác nghip
v
camình
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
2
Kháinimvphnmm(tt)
 Môi trng trinkhaiphnmm
• Máy tính: Desktop, Laptop, Tablet PC…
hi
b

d
• T
hi
t
b
c
h
uy
ê
n
d
ng:
 Thitb di ng: PDA, Pocket PC, Đinthoiding…

 Các thitb chuyên dng khác: settop box, router, firewall
(phncng…)
 Htrlàmtthncácthaotácnghipv:
Ti h hó
hi hi
 là th ô

Ti
n
h
c

a ng
hi
pv
hi
n

ang

m
th
c
ô
ng
• Citin chcnngnghipvhinangcthchintrênmáy
tính
• Đra,xâydngvàtrinkhai chcnngnghipvmi
Kháinimvphnmm(tt)
 Phnmmdi góc nhìn ca chuyên viên Tin hc:

• Đây là mth thng bao gm3thànhphnc bn:


 Thành ph

ngiaoti

p
 Thành phnx lý
 Thành phnlutr
• Cn cxâydng  thchintheoyêucucangis dng
Kháinimvphnmm(tt)
 Thành phngiaotip(Giaodin):
• Cho phép tipnhn các yêu cuv vics dng phnmmt
n
g
is dn
g
(
chncôn
g
vicmunthchinvàcun
g
c
p
các
g
g
(
g

g
p
d liungunliênquanncôngvic ó), t các thitb thu thp
d liu(cân,nhitk,t bào quang in…), hoct các phn
mmkhác.
• Cho phép
trình bày các ktqu cavicthchincácyêucucho
ngidùng(ktqu cacôngvickhithchintrênmáytính)
hoc iukhinhot ng các thitbiukhin(óng/m
 ca,
dùn
g
ha
y
cho chu
y
n n
g
…)
g
y
y
g
• Mtcáchtng quát, thành phngiaotip cho phép nhp/xut
thông tin
cùng vihìnhthc trình bày/giao tiptng ng.
• Mc tiêu chính ca thành phnnàylàa thông tin t th gii
bên ngoài phnmm(ngis dng, các thitb,phnmm
khác…) và bên trong, hocngcli.
Kháinimvphnmm(tt)

 Thành phnx lý:
• Kimtratínhhpl ca thông tin ngun c cung cpt ngi
dùn
g
theo các
q
u
y


nh ràn
g
bu

ctron
g
th

g
iith

c
g
qy

g

g
g


 Ví d:ch cho mnti a 3 quynsách,milphc không quá
50 hc sinh…
• Tinhànhx lý cho ra ktqu mong itheoquy nh tính toán
có sn
trong th giithc
 Ví d: quy tctínhtinphtkhitr sách v, quy nh tính tin
in, tr góp khi mua nhà…





• Hoc ti

nhànhx

lý theo thutgi

it

xu

t
 Ví d:xpthikhóabiutng, nén nh, phát sinh ncc
ca máy tính…
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
3
Kháinimvphnmm(tt)
 Thành phnx lý:

• Vicx lý da trên thông tin ngunt
ngis dng cung cp


d
:
tính
nghim
phng
trình
bc
2
da
trên
các
h
s
nhp


d
:
tính
nghim
phng
trình
bc
2
da
trên

các
h
s
nhp
vào
hoc
d liulutr có sn
 Ví d:tínhtnkhoda trên các phiunhpxut ãlutr
hoc
c hai
 Ví d:tínhtinphtdatrênngàytr sách cnhpvàovà
thôn
g
tin v loisáchã clutr
g
• Vicx lý cho ra ktqu có th dùng  xut cho ngidùngxem
qua thành phngiaodin
,haylutr li qua thành phnlutr,
hoc
c hai
Kháinimvphnmm(tt)
 Mtcáchtng quát, thành phnx lý là h thng chuyên x lý tính
toán, bin id liu,

Dùng
thông
tin
ngun
t
các

thành
phn
giao
din
(
chc
nng

Dùng
thông
tin
ngun
t
các
thành
phn
giao
din
(
chc
nng
nhp)haythànhphnd liu(chcnng c);
• Kimtratínhhpl (chcnng kimtra)vàsauótinhànhx
lý (chcnng x lý) – nucnthit
• Đ cho ra ktqu sc trình bày thông qua thành phngiao
din(
chcnng xut)hoclutr litrongthànhphnd liu
(
chcnng ghi)
Kháinimvphnmm(tt)

 Thành phnlutr (thành phnd liu)
• Cho phép lutr li(chcnng ghi)cácktquãx lý
 V
í
d:Vicmnsáchã ckimtrahpl,bng lng
tháng ã ctính
trên b nh ph vit chclutrcxácnh trc
 Ví d:tptincócutrúc,tptinnh phân, c s d liu
• Cho phép truy xutli(
chcnng c)cácd liu ãlutr
phcv cho các hàm x lý tng ng
Mt
áh
t
át
thà h
h
d
li

h
th



Mt
c
á
c
h

t
ng qu
át
thà
n
h
p
h
n
d
li
u

h
th
ng c
h
uy
ê
n

c
ghi d liu cùng vimôhìnht chclutr d liutng ng.
Mc tiêu chính ca thành phnnàylà
chuyn id liu giab
nh chính và b nh ph
Kháinimvphnmm(tt)
Cácloi
phnmmkhác?
Chuong1:Mu

Trng C Công Ngh Thông Tin TP.HCM
4
Kháinimlpphnmm
 Lpphnmm:
• Lpphnmmlàh thng các phnmmtrêncùng mtlnh vc
hot
ng
nào
ó
hot
ng
nào
ó
• Do cùng lnh vchot ng nên các phnmm cùng lpthng

cutrúcvà chcnng tng t nhau
 Mctiêuca ngành Công ngh Phnmm
• Xây dng cphnmm có chtlng

D
dàng
xây
dng
phn
mm
mi
t
các
phn
mm


sn
cùng
D
dàng
xây
dng
phn
mm
mi
t
các
phn
mm

sn
cùng
lp
Chtlngphnmm
Conngi
Tính úng n:
• Đy 
PhnPhnmmmm
• Chính xác
Tính úng
n
Phncng Phnmmkhác
DigócnhìncaNgisdng
Chtlngphnmm
Conngi

Tính tindng:
D
h
Tính tin
dng
Tí h ú 
PhnPhnmmmm

D
h
c
• D s dng
• Giao dintrc quan
• T nhiên


n
h

ú
ng

n
Phncng Phnmmkhác
DigócnhìncaNgisdng
Chtlngphnmm
Conngi
Tínhhiuqu:
Ti u s dng CPU*
Tí h ú 

Tính hiu
qu
PhnPhnmmmm

Ti

u

s

dng

CPU*
 Tiusdngbnh*
 Tiusdngthitb


n
h

ú
ng

n
• Tínhtindng
Phncng Phnmmkhác
DigócnhìncaNgisdng
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
5

Chtlngphnmm
Conngi
Tínhtngthích:
It/Etd li
Tí h ú 
PhnPhnmmmm

I
mpor
t/E
xpor
t

d

li
u
 Tngtác


n
h

ú
ng

n
• Tínhtindng
• Tínhhiuqu
Tính

tng
thích
Phncng Phnmmkhác
DigócnhìncaNgisdng
Chtlngphnmm
Conngi
Tính tinhóa:mttrong
các tính cht quan trng
Tí h ú 
PhnPhnmmmm
nht c quan tâm
xem xét trong ngành
Công ngh Phnmm


n
h

ú
ng

n
• Tínhtindng
• Tínhhiuqu
• Tínhtngthích
Phncng Phnmmkhác
DigócnhìncaNgisdng
Tính tin
hóa
Chtlngphnmm

Conngi
• Tínhtinhóa
Tí h ú 
PhnPhnmmmm


n
h

ú
ng

n
• Tínhtindng
• Tínhhiuqu
• Tínhtngthích
• …………
Phncng Phnmmkhác
DigócnhìncaNgisdng
Chtlngphnmm
Tính d kimtra:vickim tra các thành phn phù hpvi
yêu cuphnmmlàd dàng nhtcóthc
Tính d sali: khi có s không phù hp(soviyêucu)
trong quá trình kimtramt thành phn, vic phát hiu chính
xác “v trí li” và sali là nhanh nhtcóthc.
Tính d botrì:khicnnângcp, citinmt thành phn
(theo yêu cumi), viccpnhtphnmm là nhanh, chính
xác nhtcóthcvàcbitlàc gng hnchnh
hng
n

các
thành
phn
khác
hng
n
các
thành
phn
khác
Tính tái s dng: các thành phn ãthchincóth dùng
litrongcácphnmm cùng lp(hoc cùng lnh vc) vithi
gian và công scítnhtcóthc
………
DigócnhìncaNgisdng
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
6
SpháttrincaCôngnghphnmm
 Giaion1(1950–gia1960)
• Xlýtheolô,xlýtptrung,ítxlýphântán,ítsaiphnmm
 Giaion2(tgia1960ngia1970)
• Hthngachngtrìnhvàanguidùng
• Btucuc“khnghong”phnmm
 Giaion3(tgia1970ngia1980)
• S
pháttrinvàsdngrngrãimáytínhcánhân
• Spháttrincacáccôngtyphnmm
 Giaion4(tgia1980nnay)
• Phncngngàycàngpháttrin

• Hthngphnmmngàycàngadng,phongphú,xlýngàycàng
phctp,côngnghngàycàngpháttrin…
Cuckhnghongphnmm
 Slngcácphnmmtngvt(dospháttrincaphncng:
tngkhnng,giáthànhh)
    
 Cóquánhi

ukhuy

ti

mtrongcácph

nm

mcdùngtrongxã
hi:
• Thchinkhôngúngyêucu(tínhtoánsai,khôngnnh…)
• Thigianbotrìnângcpquálâu,chiphícao,hiuquthp
• Khósdng
• Thchinchm
Khô h  i d li i á h 

Khô
ngc
h
uy

n

i

d

li
ug
i
ac
á
cp
h
nm

m
• …
Cuckhnghongphnmm
 Mts ktlun:
• Victng vts lng phnmmlàiuhplývàs còn tip
din
din
• Các khuyt imcaphnmmcóngungc chính t phng
pháp, cách thc và quy trình tinhànhxâydng phnmm:
 Cmtính:mingitheomtphng pháp riêng
 Thô s, ngin:ch tp trung vào viclp trình mà ít quan tâm
ncáccôngviccn làm khác (khosáthintrng, phân tích
yêu cu, thitk…)
 Th công:cònthiucáccôngc h tr quy trình phát trin
Côngnghphnmm
 Khái nim:
• Công ngh phnmm là ngành khoa hcnghiêncuv vicxây

dng
các
phn
mm

cht
lng
trong
thi
gian

chi
phí
hp

dng
các
phn
mm

cht
lng
trong
thi
gian

chi
phí
hp


Côngnghphnmm
Côngc
Quytrình
Phngpháp
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
7
Côngnghphnmm
 Các itng nghiên cuca Công ngh phnmm:
• Quy trình phnmm:H thng các giai on mà quá trình phát
trin
p
hnmm
p
hitri
q
ua
,
vimi
g
iai o

ncnxác

nh rõ:
p
p
q,
g



 Mctiêu,ktqu nhnt giai ontrc ó,
 Ktqu chuyngiaochogiaionk tip
• Phng pháp phát trinphnmm: H thng các hng dncho
phép tng bcthchinmtgiaionnàoó trong quy trình
phnmm
• Công c và Môi trng phát trinphnmm:
• H thng các phnmmtr giúp trong lnh vcxâydng phn
mm
• H tr các chuyên viên tin hctrongcácbcxâydng phn
mmtheomtphng pháp nào óvimt quy trình c
chntrc
Quitrìnhthácnc
Xác nh
Khosát
Hintrng
Cáchotng
trongthgiithc
Cácyêucu
Xác

nh

Yêucu
Phântích
Thitk
Càit
MôhìnhThgiithc
Môhìnhphnmm
Phnmm

h 
Kimchng
Trinkhai
Waterfall
P
h
nm

m
“chtlng”
Quitrìnhthácnccitin
Xác nh
Khosát
Hintrng
Xác

nh

Yêucu
Phântích
Thitk
Càit
Kimchng
Trinkhai
Waterfall
QuitrìnhPrototype
Xácnh
yêucu
“Thitk
nhanh”

Xâydng
Prototype
Đánhgiávà
xácnhrõyêucu
Pháttrin
phnmm
Chuong1:Mu
Trng C Công Ngh Thông Tin TP.HCM
8
Quitrìnhxonc
Tipxúc
Lpkhoch
Kháchhàng
PhântíchriroĐánhgiá
cakháchhàng
Phântích,thitk
Xâydng
vàtrinkhai
Q&A
Chng2:Yêucucangisdng
Trng C Công Ngh Thông Tin TP.HCM
1
Chng2
  
Yêuc

uc

angis


dng
Ngun:TSTrnMinhTrit
Hiuchnhvàtrìnhbày:NguynNamTrung
Email:
Nidung
 Giaionkhosáthintrngvàxácnhyêucu
• Hintrngtchc
• Hintrngnghipv
• HintrngTinhc(phncng,phnmm,conngi)
 Xácnhvàthuthpyêucu:
• Phânloiyêucu:
 Yêucuchcnng:Lutr,tracu,tínhtoán,ktxut
 Yêucuphichcnng
• Kthutthuthpyêucu:
 Phngvn
 Bngcâuhi
 Nghiêncucáctàiliu
 Quansátthct
 Phântíchthitknhóm(JAD)
Giaionkhosáthintrngvàxácnhyêucu
• Hintrng t chc
• Hintrng nghipv
• Hi

ntr

n
g
Tin h


c
(p
hncn
g,
p
hnmm
,
con n
g
i
)

 g

(p
g,
p
,
g )
Hintrngtchc
• Đini: Ccutchcnib
Bnthântchclàmththng,cóccutchc
Sccutchcnib
 Cáchnhìntngthv1tchc
• Đingoi:
Tchc Môitrn
g
catchc
g
Chng2:Yêucucangisdng

Trng C Công Ngh Thông Tin TP.HCM
2
Giaionkhosáthintrngvàxácnhyêucu
• Hintrng t chc
• Hintrng nghipv
• Hi

ntr

n
g
Tin h

c
(p
hncn
g,
p
hnmm
,
con n
g
i
)

 g

(p
g,
p

,
g )
Hintrngnghipv
o Hiu cquytrìnhnghipv:Mctiêuquantrng
nhtcakhosáthintrng
o Có bao nhiêu nghipv, bao nhiêu quy trình?
 Di góc nhìn cangilàmqunlý,khôngphica
chuyên viên Tin hc
o Nghipvcthchinnh th nào?
 Các công on, b phn liên quan…
o Tnsut? Thi imthchin
 Nghipv có thng xuyên cthchinhay
không?
 Mingày,mitun, mi tháng…?
Hintrngnghipv(tt)
o Khilng tác v/quyt nh?
o
Đánh
giá
nghip
v
hin
ti
o
Đánh
giá
nghip
v
hin
ti

 Cncónhng nhnxétcanhng ngichuyênmôn
trong gung máy công tác hinti
o Có vn /khó khngìhintihaykhông?Nguyên
nhân?
 Vn /khó khn clpvicôngngh,ch liên quan


ô
hi
thì

ii
t

nc
h
uy
ê
nm
ô
nng
hi
pv
thì
c

ng
ii
quy
t

ngay
Giaionkhosáthintrngvàxácnhyêucu
• Hintrng t chc
• Hintrng nghipv
• Hi

ntr

n
g
Tin h

c
(p
hncn
g,
p
hnmm
,
con n
g
i
)

 g

(p
g,
p
,

g )
Chng2:Yêucucangisdng
Trng C Công Ngh Thông Tin TP.HCM
3
HintrngTinhc
• Phncng:
 Các thitb hinti,

S
lng,
S
lng,
 Cu hình,
 V trí (vtlý),
 Tình hình ktnimng,
 Loiktni…
• Phnmm:

i
hà h
 H

i
u

n
h
 H quntr CSDL
 Các phnmmtiníchkhác
• Con ngi:

 Trình  chuyên môn Tin hc
Xácnhvàthuthpyêucu
Phânloiyêucu
 Yêucuchcnng:
• Lutr

• Trac

u
• Tínhtoán
• Ktxut
 Yêucuphichcnng
• ?
Kthutthuthpyêucu
• Phngvn
• Bngcâuhi
• Nghiêncucáctàiliu
• Quansátthct
• Phântíchthitknhóm(JAD)
• …
Chng2:Yêucucangisdng
Trng C Công Ngh Thông Tin TP.HCM
4
Kthutthuthpyêucu–Phngvn
Phngvncánhân/phngvnnhóm?
• Phngvncánhân
• Phngvnnhóm
Phngvntdo/phngvncónhhng?
• Phngvntdo
Ngichicócmgiácthoimái,cungcp

nhiu thông tin sâu sc
nhiu

thông

tin

sâu

sc
Nguyc:khôngcócnhngthôngtincnthit,
thôngtinkhóhthngc
Kthutthuthpyêucu–Phngvn
Phngvntdo/phngvncónhhng?
• Phngvncónhhng
Ngi chicóth cmthy không thoimái,ít
có kh nng ghi nhn cnhnxét,ýkin, suy ngh
riêng cangi cphng vn, ít cmnhn c
thái  cahivihintrng.
Cóthnhhngnidungcntìmhiu,cóthh
thng hóa các vn  ghi nhn c
thng

hóa

các

vn




ghi

nhn

c
Kthutthuthpyêucu–Phngvn
• Làmvicvicplãnhonmmctiêucah
thngphnmmcnxâydng,nhngitngcn
h 
p
h
ngv

n
• Yêucucplãnhothôngbáoxungcácphòngban,
nvhptác
• Phântíchxácnhúngvànhngitngcn
phngvn

Hn lch làm vic
Hn

lch

làm

vic
• Xácnhtrcvtrí/tráchnhimcangispphng
vn

Kthutthuthpyêucu–Phngvn
• Khitìmhiu,cnghinhncácthôngtin:
 Nidung:cáigì?
 Baogicó:thigian+thihn
 Bngcáchnàocónidungthôngtinó
 Nidungódnggì?
 Đánhgiácangicphngvnvtìnhhìnhhin
tithchi
nnghipv
• Khôngnên:
 Đanhnxétcánhâncangiphngvn
 Dùngthutng/ngônngTinhc
Chng2:Yêucucangisdng
Trng C Công Ngh Thông Tin TP.HCM
5
Kthutthuthpyêucu–Bngcâuhi
• Phitrìnhbàyrõ:
 Mcíchcabngcâuhi,
 
 Mcíchs

dngnhngthôngtintrongb

ngcâu
hi,
 Tínhbomtthôngtintrli(khôngtitlailàngi
cungcpthôngtin,khônglrangoàitchc…)
• Hngdncáchin:rtcnthit,cnl
uýtránh
h  h

h
i

un
h
m
• Thihntrv
 Cnnhckhignnthihn
Kthutthuthpyêucu–Bngcâuhi
• Câuhitrìnhbàyrõràng
• Hìnhthcbngcâuhiphiddàngxlýtng
• Cndànhchghicâutrli.
 Thêmchcholibình
 Khôngphichcuitrang,haycuibngcâuhi,
 Nêndkinnhngcâuhinàoscóýkinthêmthì
nêncó
snchghilibìnhngaydicâuhió)
Kthutthuthpyêucu–Nghiêncutàiliu
• Cáctàiliu(cóthtìmhiunhngvnbnchung)
• Nhngquynhnib
• Cácbáocáoliênquan
• Nhngquynhvquytrìnhnghipv
 Rtkhócóyvnbnquynhvquytrình
nghipv
 ĐnvtchunISO?
h  h “b hà h  ” !!!
• N
h
ngquy


n
h

“b
tt

n
h
v

n


!!!
• Thngdtinhànhhnkthutphngvnhaybng
câuhi
• Thngctinhànhtrclàmcschunbcho
vicphngvnhaydùngbngcâuhi
Kthutthuthpyêucu–Quansátthct
• Tinhànhsaucùng(nucnthit)
• Kimtral

i:

 Đãhiuúngnghipvhinti?
 Cónhngngoil?
 Pháthinnhngkhókhn,lhngtrongquytrình
nghipv
Phântíchthitknhóm(JAD–JointApplicationDesign)
Chng2:Yêucucangisdng

Trng C Công Ngh Thông Tin TP.HCM
6
Q&A
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
1
Chng3

Môhìnhhóayêuc

u
Ngun:TSTrnMinhTrit
Hiuchnhvàtrìnhbày:NguynNamTrung
Email:
Nidung
 Mô hình hóa yêu cu:
• Lc  Usecase

Khái
nim
Actor

Usecase

Khái
nim
Actor

Usecase
• Ví d

 Mô hình hóa các dòng d liucamiUsecase
• GiithiuMôhìnhDFD
• S dng mô hình DFD  mô hình hóa yêu culu
tr
tra
cu
tính
toán
kt
xut
tr
,
tra
cu
,
tính
toán
,
kt
xut
Mu
 Đtvn:
• Các mô t v yêu cutronggiaionxácnh yêu cu:

Ch

t
ch
yu
các

thông
tin
liên
quan
n
vic

Ch

t
ch
yu
các
thông
tin
liên
quan
n
vic
thchincácnghipv trong th giithc, cha
th hinrõnétvic
thchin các nghipv trên
máy tính
 Mô t thông quá các vnbn d gây ra nhmln và
không trc quan
 Môhìnhhóayêucu
KháinimActor
TácnhânBÊNNGOÀI hthng
Cótngtác vihthng
PhnPhnmmmm

Conngi
ê
Phncng Phnmmkhác
T
ê
n Acto
r
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
2
Actor Nhómngisdng
TácnhânBÊNNGOÀI hthng
Cótngtác vihthng
PhnPhnmmmm
Conngi
ê
Phncng Phnmmkhác
T
ê
n Acto
r
Víd1:XétphnmmQunlýhcsinhcpIII
STT Yêucu
1Tipnhnhcsinh
2
Lp danh sách lp
Nhómngidùng
Giáov?
Giáo v?
2

Lp

danh

sách

lp
3Tracuhcsinh
4Nhnbngimmôn
5Xembáocáotngkt
6Thayiquynh
Giáo

v?
Mingi?Phhuynh?Hcsinh?
Giáoviên?Giáov?
Bangiámhiu?
Bangiámhiu?Quntrhthng?
 Mt nhóm ngi dùng tng ng vi mtActor
 MiNhómngi dùng (Actor) c quyns dng mt hay nhiuchc
nng trong h thng
 Mtchcnng
có th cho phép nhiuNhómngi dùng s dng
 Nhiu nhóm ngi dùng có cùng các quynhnging nhau
 Nênxétlà1ActorhaynhiuActor?
 Vicxácnh Actor ph thuc
ng cnh và quy trình thct
Víd2:XétphnmmQunlýthvin
STT Yêucu
1Lpthcgi

Nhómngidùng
Thth
2Nhnsáchmi
3Tracuhcsinh
4Lpphiumn
5Nhntrsách
6Thayiquynh
Thth
Thth?Đcgi?Kháchbtk?
Thth
Thth
Thth?Quntrhthng?
Actor Phncngngoivi
TácnhânBÊNNGOÀI hthng
Cótngtác vihthng
PhnPhnmmmm
Conngi
ê
Phncng Phnmmkhác
T
ê
n Acto
r
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
3
Víd
 PhnmmqunlýSiêuth:
• Đcthôngtintthitbcmãvch


Phn mm qun lý ca tng:
Các thit b ngoi vi

Phn

mm

qun



ca

t

ng:

• Đcthôngtintcamera
• Phátlnhiukhinmca
 Phnmmqunlýravàocácphòngtrongcôngs
• Đctínhiutuctht
Phá l h i khi  
Các

thit

b

ngoi


vi
màphnmm
cntngtác

Phá
t
l
n
h

i
u
khi
nm

c

a
 Phnmmchngtrm
• Đctínhiutcamera,sensor
• Phátlnhiukhinraloa,èn,inthoi…
Cócnlitkê
ttcthitbngoivi?
Actor Phnmmkhác
TácnhânBÊNNGOÀI hthng
Cótngtác vihthng
PhnPhnmmmm
Conngi
ê
Phncng Phnmmkhác

T
ê
n Acto
r
Víd
• Ktxut/npdliutExcel
• Ktxutdliubáocáoraphnmmgiemail
(i f lk lk )
(
M
i
croso
f
tOut
l
oo
k
,Out
l
oo
k
Express…
)
• Phnmmtrunggianktnichuyniemailt
dngWebbasedsangPOP3(vídYahoo!Pop)
• …………
KháinimUseCase
•Mt UseCase là mtchuicáchànhng mà h thng
th


chi

n man
g
l

im

tkt
q
u
q
uan sát 

c ivi
UseCase


g


q
q

actor.
•Cóth hiumtUseCase là mt
chcnng cah
thng
,mangmt ýnghanht nh ivingi dùng
Chng3:Môhìnhhóayêucu

Trng C Công Ngh Thông Tin TP.HCM
4
Víd1:XétphnmmQunlýhcsinhcpIII
STT Yêucu
1
Tip nhn hc sinh
1
Tip

nhn

hc

sinh
2Lpdanhsáchlp
3Tracuhcsinh
4Nhnbngimmôn
5Xembáocáotngkt
6
Thay i quy nh
Baogmctínhnng
Thêmmi,Xóa,vàSa
13
6
Thay

i

quy


nh
 Có bao nhiêu Usecase trong Ví d này?
Víd2:XétphnmmQunlýthvin
STT Yêucu
1
Lp thc gi
1
Lp

th

c

gi
2Nhnsáchmi
3Tracuhcsinh
4Lpphiumn
5Nhntrsách
6
Thay i quy nh
14
6
Thay

i

quy

nh
 Có bao nhiêu Usecase trong Ví d này?

Víd3:XétphnmmThínghimmchin
STT Yêucu
1
Sp t mch in
1
Sp

t

mch

in
2 Cungcpngunin
3Thayithôngs
4Lubàithínghim
5Lylithínghim
6
Thay i quy nh
15
6
Thay

i

quy

nh
 Có bao nhiêu Usecase trong Ví d này?
SUseCase
• Stngtác giaActor vàUsecase

• Chiucamitên thhinvaitròchng trongstngtác
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
5
SUseCase

S tng tác
gia
Actor

Use

case

S

tng

tác
gia

Actor


Use

case
• Chiucamitên thhinvaitròchng trong
stngtác
• Víd:

Kim tra tài khon
Rúttin
Kháchhàng
Kim

tra

tài

khon
TngquáthóagiacácActor
Ngisdng
Giáoviên
Giáov
MôtUseCase
1. UseCasebtukhikháchhàngathtíndng
vào.Hthngcvàthmtrathôngtincath.
 hô h h   h k  
2. H

t

ngn
h
cn
h
ps

PIN.H


t
h
ng
k
i

mtras

PIN.
3. Hthnghitácvnàokháchhàngmunthchin.
Kháchhàngchn“Rúttin.”
4. Hthnghislng.Kháchhàngnhpslng.
5. Hthngyêucunhpkiutàikhon.
Kháchhàng
chn checking hoc savings
chn

checking

hoc

savings
.
6. HthngliênlcviATMnetwork...
MôtUseCase(tt)
• basicflow (“HappyPath”)
• Mtsalternativeflows

Các bin th thng gp (Regular variants)
Các


bin

th

thng

gp

(Regular

variants)
• Cáctrnghpbtthng(Oddcases)
• Exceptionalflows xlýcáctìnhhungli
“HappyPath”
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
6
Slungdliu
 Cáckýhiu
Tácnhân
/
thitb


(
N
g
isd


n
g,
thitb


p
hát
/  (g  g,
 p
sinhhaytipnhndliu)
Khixlý
Lun
g
dli

u
(
thôn
g
tin
)
g  (g)
Bnhph(Hs,Ssách,tptin,csdl…)
Cáccps
 Cáccps
 Cp0:Toànbphnmmlàmtkhixlý
   ó h hâ ã hà h hi 
 C

p1:S


c

p0c
ó
t
h
p

nr
ã
t

n
h
n
hi
us


cp1,cácscp1nàyphimbothhiny
ýnghascp0(tácnhân,thitb,lungd
liu,xlý,bnhph)
 Cp2:Miscp
1licóthphânrãthànhnhiu
sc
p
2tn
g
t


nhvi

c
p
hânrãcasc
p

p g   p p
0
 ………
Víd:Scp0
Configuration Information
Configuration
Data
Configuration
Data
Víd:Scp1
Chng3:Môhìnhhóayêucu
Trng C Công Ngh Thông Tin TP.HCM
7
Stngquát
Ýnghatngdòngdliu
D1:…………….
D2:…………….
D3
Dliu
Dliu
t
Ngidùng

Thitbnhp
Thitbxut
Xlý…
D1
D2
D5
D6
D3
:…………….
D4:…………….
D5:…………….
D6:…………….
nhp
xu
t
D liu
D li
D3
D4
Thuttoánxlý:
 Bc1:………………
 Bc2:………………
 Bc3:………………
 …………………………
D

liu

c
D


li
u
ghi
StngquátchoYêuculutr
 D1:Thôngtincnlutr (davàobiu
mu liên quan)

D
5
:
Thông
tin
cn
lu
tr
(ch

trong
mt
Ngidùng

D
5
:
Thông
tin
cn
lu
tr

(ch

trong
mt
s yêu cu cbit)
 D3:
• Các danh mc  chnla
• D liucnthitchovickimtratính
hpl (da vào quy nh)
 D2:
• Các danh mc  chnla

Kt
qu
thành
công/tht
bi
Thitbnhp
Thitbxut
Xlý
lutr
D1 D2
D3
D4
D5
D6

Kt
qu
thành

công/tht
bi
 D4:D liu clutr (davàobiu
mu).
• Ghi chú: Thông thng
D4 =D1 (+D5)(+IDtphátsinh)
 D6:D liuktxut(ch có trong mts
yêu cu cbit)
StngquátchoYêuculutr
 X lý lutr
• ĐcD3 ly các tham s, quy nh và
danh
mc
Ngidùng
danh
mc
• Hinth D2 (các danh mc)
• Nhn thông tin D1, D5 (nucn)
• Kim tra các thông tin D1, D5 có tha
quy nh liên quan hay không (davào
D3 nucnthit)
• Nutha quy nh,
ghi D4, thông báo
kt
q
u D2
(
nucn
)
và xutD6

(
nu
Thitbnhp
Thitbxut
Xlý
lutr
D1 D2
D3
D4
D5
D6
q
(
)
(
cnthit)
StngquátchoYêuculutr
 Ghi chú:
• D1 không nhtthitchatoànb thông
tin
trong
biu
mu
liên
quan
Ngidùng
tin
trong
biu
mu

liên
quan
• Tùy theo quy nh có th có hay không

D5
• D4 hoc D6 không nhtthitphi trùng
vi
D1 hoc D5
• D2 không nhtthitphi trùng vi D3
Thitbnhp
Thitbxut
Xlý
lutr
D1 D2
D3
D4
D5
D6

×