Nhập mơn
Cơng nghệ học Phần mềm
Introduction to Software Engineering
Department of Software Engineering
Faculty of Information Technology
Hanoi University of Technology
TEL: 048682595 FAX: 048692906
Email: cnpm@ithut.edu.vn
HUT, Falt.
ª Dept. of SE, 2002
SEIII.1
Phần III
u cầu người dùng
User’s Requirements
Chương 5: Phương pháp xác định u
cầu
5.1. Kỹ thuật xác định u cầu
5.2. Nội dung xác định u cầu
5.3. Các ngun lý phân tích u cầu
HUT, Falt.
ª Dept. of SE, 2002
SEIII.2
5.1.Kthutxỏcnhyờucuphn
mm
SWRequirementsEngineering
ã Yờucuphnmm:lttccỏcyờu
cuvphmmmdokhỏchhngư
ngisdngphnmmưnờura,bao
gm:cỏcchcnngcaphnmm,
hiunngcaphnmm,cỏcyờucu
vthitkvgiaodin,cỏcyờucu
cbitkhỏc
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.3
• Thơng thường các u cầu phần mềm được
phân loại theo 4 thành phần của phần mềm:
–
–
–
–
Các u cầu về phần mềm (Software)
Các u cầu về phần cứng (Hardware)
Các u cầu về dữ liệu (Data)
Các u cầu về con người (People, Users)
• Mục đích: mục đích của u cầu phần mềm
là xác định được phần mềm đáp ứng được
các u cầu và mong muốn của khách hàng
người sử dụng phần mềm
HUT, Falt.
ª Dept. of SE, 2002
SEIII.4
Tisaocnphitrayờu
cuphnmm?
ã Khỏchhngchcúnhngýtngcũnmhv
phnmmcnphixõydngphcvcụng
viccah,chỳngtaphisnsng,kiờntrỡ
theouiitcỏcýtngmhún
Phnmmcúycỏctớnhnngcnthit
ã Khỏchhngrthaythayicỏcũihica
mỡnh,chỳngtanmbtccỏcthayiúv
saicỏcmụtmtcỏchhplý
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.5
5.2.Nidungxỏcnhyờucuphn
mm
ContentsofRequirementsEngineering
ã
ã
ã
ã
ã
ã
Phỏthincỏcyờucuphnmm(Requirements
elicitation)
Phõntớchcỏcyờucuphnmmvthnglng
vikhỏchhng(Requirementsanalysisandnegotiation)
Mụtcỏcyờucuphnmm(Requirements
specification)
Mụhỡnhhúahthng(Systemmodeling)
Kimtratớnhhplýcỏcyờucuphnmm
(Requirementsvalidation)
Quntrcỏcyờucuphnmm(Requirements
management)
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.6
Quy trình xác định u cầu phần
mềm
Build a
prototype
the problem
Requirements
elicitation
Develop
specification
Review
Create
analysis
models
HUT, Falt.
ª Dept. of SE, 2002
SEIII.7
The Analysis Model
Data Model
Functional
Model
Behavioral
Model
HUT, Falt.
ª Dept. of SE, 2002
SEIII.8
5.2.1.Phỏthinyờucuphn
mm
(RequirementsElicitation)
Cỏcvncaphỏthinyờucuphn
mm(Problems)
ã Phmvicaphnmm(Scope)
ã Hiurừphnmm(Understanding)
ã Cỏcthayicahthng(Volatility)
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.9
Phngphỏpphỏthinyờucuphn
mm
RequirementsElicitationMethodology
ã Xỏcnhcỏcphngphỏpsdngphỏthincỏcyờu
ã
ã
ã
ã
ã
cuphnmm:phngvn,lmvicnhúm,cỏcbui
hp,gpgitỏc,v.v.
Tỡmkimcỏcnhõns(chuyờngia,ngisdng)cú
nhnghiubitsõuscnht,chititnhtvh
thnggiỳpchỳngtaxỏcnhyờucuphnmm
Xỏcnhmụitrngkthutưtechnical
environment
Xỏcnhcỏcrngbuclnhvcdomainconstraints
Thuhỳtsthamgiacanhiuchuyờngia,khỏchhng
chỳngtacúccỏcquanimxemxộtphn
mmkhỏcnhautphớakhỏchhng
Thitkcỏckchbnsdngcaphnmm
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.10
Snphm(output)ca
phỏthinyờucuphn
mm
ã Bngkờ(statement)cỏcũihivchcnngkhthica
phnmm
ã Bngkờphmvingdngcaphnmm
ã Mụtmụitrngkthutcaphnmm
ã Bngkờtphpcỏckchbnsdngcaphnmm
ã Cỏcnguyờnmuxõydng,phỏttrinhaysdngtrong
phnmm(nucú)
ã Danhsỏchnhõnsthamgiavoquỏtrỡnhphỏthincỏc
yờucuphnmmưkccỏcnhõnstphớacụngtyư
khỏchhng
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.11
5.2.2. Phân tích các u cầu phần mềm
và
th
ươ
ng
l
ượ
ng
v
ớ
i
khách hàng
Software
Customer
Group
Engineering
Group
HUT, Falt.
ª Dept. of SE, 2002
SEIII.12
RequirementsAnalysisandNegotiation
ã Phõnloicỏcyờucuphnmmv
spxpchỳngtheocỏcnhúmliờn
quan
ã Khosỏttmtngyờucuphn
mmtrongmiquanhcanúvi
cỏcyờucuphnmmkhỏc
ã Thmnhtngyờucuphnmm
theocỏctớnhcht:phựhp,y,
rừrng,khụngtrựnglp
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.13
RequirementsAnalysisand
Negotiation
ã Phõncpcỏcyờucuphnmmtheoda
trờnnhucuvũihikhỏchhng/ngi
sdng
ã Thmnhtngyờucuphmmmxỏc
nhchỳngcúkhnngthchinc
trongmụitrngkthuthaykhụng,cúkh
nngkimnhcỏcyờucuphnmmhay
khụng
ã Thmnhcỏcrirocúthxyravitng
yờucuphnmm
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.14
RequirementsAnalysisand
Negotiation
ã ỏnhgiỏthụ(tngi)vgiỏthnhv
thigianthchincatngyờucu
phnmmtronggiỏthnhsnphm
phnmmvthigianthchinphn
mm
ã Giiquytttccỏcbtngvyờu
cuphnmmvikhỏchhng/ngi
sdngtrờncstholunvthng
lngcỏcyờuc
ura
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.15
5.2.3.ctyờucuphn
mm
ã ctcỏcyờucuphnmmlcụng
vicxõydngcỏctiliuct,trong
úcúthsdngticỏccụngcnh:
mụhỡnhhúa,mụhỡnhtoỏnhchỡnhthc
(aformalmathematicalmodel),tphp
cỏckchbnsdng,cỏcnguyờnmu
hocbtkmtthpcỏccụngcnúi
trờn
ã Chtlngcahsctỏnhgiỏ
quacỏctiờuthc
Tớnhrừrng,chớnhxỏc
Tớnhphựhp
Tớnhy,honthin
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.16
RequirementsSpecification
ã Cỏcthnhphncahsct
ctphihỡnhthc(Informalspecifications)c
vitbngngụnngtnhiờn
cthỡnhthc(Formalspecifications)cvit
bngtpcỏckýphỏpcúcỏcquynhvcỳphỏp
(syntax)výngha(sematic)rtchtch
ctvnhnhchcnng(Operational
specifications)mụtcỏchotngcahthng
phnmmsxõydng
ctmụt(Descriptivespecifications)ctcỏc
ctớnhctrngcaphnmm
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.17
RequirementsSpecification
ã ctchcnng(Operational
Specifications):thụngthngkhict
cỏcchcnngcaphnmmngita
sdngcỏccụngctiờubiusau
Biulungdliu(DataFlowDiagrams)
Mỏytrngthỏihuhn(FiniteState
Machines
MngPetri(Petrinets)
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.18
RequirementsSpecification
ã ctmụt(Descriptive
Specifications)
Biuthcthliờnkt(Entityư
RelationshipDiagrams)
ctLogic(LogicSpecifications)
ctis(Algebraic
Specifications)
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.19
Biulungdliu(DFD)
ã Hthng(System):tphpcỏcdliu
(data)cxlýbngcỏcchcnng
tngng(functions)
ã Cỏckýphỏpsdng:
Thhincỏcchcnng(functions)
Thhinlungdliu
Khodliu
Voradliuvtngtỏcgia
hthngvngisdng
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.20
Ví dụ mơ tả biểu thức tốn học bằng
DFD
(a+b)*(c+a*d)
b
a
+
a
d
c
*
+
*
HUT, Falt.
ª Dept. of SE, 2002
SEIII.21
Vớdctcỏcchcnngcathvin
quaDFD
Yêu cầu từ người mượn
Tên sách, tác giả
Tên người mượn
Sách
Kho sách
Tên tác giả
Có
s ác h
Danh sách tác giả
Tên sách
Danh sách tên sách
Danh sách chủ đề
Sách
Tên sách;
Tên người mượn
Tìmthe o
c hủđề
Chủ đề
Danh sách người mượn
Liệt kê các tên sách
liên quan đến chủ đề
Chủ đề yêu cầu
HUT,Falt.
Thông tin
về sách
ê Dept.ofSE,2002
Đưa ra
Tên sách
SEưIII.22
CỏchnchcaDFD
ã ýnghacacỏckýphỏpsdngc
xỏcnhbicỏcnhdanhlachn
caNSD
Vớdcachcnngtỡmkim:
IfNSDnhpvoctờntỏcgivtiờusỏchThen
tỡmkimsỏchtngng,khụngcúthỡthụngbỏoli
ElseifchnhptờntỏcgiThen
hinthdanhsỏchcỏcsỏchtngngvi
tờntỏcgiónhpvyờucuNSDlachnsỏch
ElseifchnhptiờusỏchThen
...
Endif
HUT,Falt.
ê Dept.ofSE,2002
SEưIII.23
• Trong DFD khơng xác định rõ các
hướng thực hiện (control aspects)
A
B
C
E
D
F
Biểu đồ DFD này khơng chỉ rõ đầu vào
là gì để thực hiện chức năng D và
đầu ra là gì sau khi thựchiện chức
năng D.
HUT, Falt.
ª Dept. of SE, 2002
SEIII.24
A
B
C
E
D
F
– Chức năng D có thể cần cả A, B và C
– Chức năng D có thể chỉ cần một trong A,
B và C để thực hiện
– Chức năng D có thể kết xuất kết quả cho
một trong E và F
– Chức năng D có thể kết xuất kết quả
chung cho cả E và F
– Chức năng D có thể kết xuất kết quả
riêng cho cả E và F
HUT, Falt.
ª Dept. of SE, 2002
SEIII.25