Professional Documents
Culture Documents
Chapter 03
Chapter 03
Nhng vn trong phn tch h thng Thu th yu cu t ngi s d Th thp i dng Phn tch yu cu Xc nh tnh nng h thng
Xc nh cc yu cu
Cc yu cu v chc nng Cc ca h thng Cc yu cu v mi trng vn hnh: thit b, con ngi g
10
Xc lp tnh X l t h nng ca h thng Xc lp cc chc nng m h thng s bao gm Xc lp cc iu kin v mi trng hot ng
11
12
13
Phn tch h thng theo hng pht trin k thut lp trnh cu trc
Tip cn ca phng php pht trin c in cho bc h tch b phn t h h thng th Cc lc DFD, STD, ERD
CC YU T CN BN CA M HNH
Objective:
Describe what the customer requires Establish a basis for the creation of a software design Define a set of requirements that can be validated once the software is built
15
CC YU T CN BN CA M HNH
Process Specification (PSPEC)
Lc DFD
Lc dng h d chy d liu T in d liu
Lc quan h thc th
M hnh chc nng v dng thng tin: DFD, PSPEC M t dng thng tin di chuyn M (flow) xuyn qua cc h thng thin v phn mm. Din t cc tng tc xut nhp d liu vi con ngi v cc h thng khc Lu dng chy d liu DFD (Data Flow Diagram) cung cp 4 k hiu c bn m hnh s di chuyn ca dng thng tin g ; M rng ca Ward & Mellor; Hatley & Pirbhai cho realtime
16
CC YU T CN BN CA M HNH
Process Specification (PSPEC)
Lc STD
Lc quan h thc th T in d liu Lc dng h d chy d liu
M hnh hnh vi ca h thng Lc dch chuyn trng thi Lc (STD) th hin Cc trng thi khc nhau ca h thng S dch chuyn gia cc trng thi M t chi tit hn iu kin xy ra ca cc hnh vi Cung cp mt hnh nh ng v h thng
17
CC YU T CN BN CA M HNH
c t t in d liu Process Specification (PSPEC)
Lc ERD
Lc dng h d chy d liu T in d liu
Lc quan h thc th
c t cc thng tin v d liu ca h thng Cu trc d liu Cu Cc quan h v rng buc d liu
18
CC YU T CN BN CA M HNH
c t t in d liu Process Specification (PSPEC)
T in d liu
Lc dng h d chy d liu T in d liu
Lc quan h thc th
Lm r cc khi nim v thut ng trong h thng Nu ln ngha v phm vi s Nu dng ca cc khi nim ny Xc nh cc cu trc thng tin cn thit
19
20
21
Mn hnh
SafeHome System
Trng thi cm ng
Kiu bo ng
Chung
Tn s ca s in thoi
B cm ng ng in thoi
22
23
24
25
Xy dng DFD V d y g
SafeHome object control panel might be mounted on wall size approximately 9 5 inches contains standard 12-key pad and special keys 12 key contains LCD display of the form shown in sketch [not presented here] all customer interaction occurs through keys used to enable and disable the system software provides interaction guidance, echoes, and the like connected to all sensors
26
Xy dng DFD V d y g
When installed, SafeHome software enables the homeowner to configure the security system, monitors all sensors connected to the security system, and g yp interacts with the homeowner through a keypad and function keys contained in the SafeHome control panel During installation, the SafeHome control panel is used to "program" and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs occurs.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
27
Xy dng DFD V d y g
When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities the software activities, dials a telephone number of a monitoring service, provides information about the location, reporting the nature of th event th t h b t f the t that has been d t t d detected. (The telephone number will be redialed every 20 seconds until telephone connection is obtained.)
28
Xy dng DFD V d y g
All interaction with SafeHome is managed by a userinteraction subsystem that reads input provided through the keypad and function keys, displays p prompting messages on the LCD display, displays p g g p y, p y system status information on the LCD display.
29
Xy dng DFD V d y g
Phn mm SafeHome: Thit lp on vn miu t x l DFD mc ng cnh: nhn din cc thc th v d liu input, output
Bng iu khin
Lnh v d liu Thng tin hin th
Mn hnh
SafeHome System
Trng thi cm ng
Kiu bo ng
Chung
Tn s ca s in thoi
B cm ng ng i th i in thoi
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
30
Xy dng DFD V d y g
SafeHome software enables the homeowner to configure the security system when it is installed, monitors all sensors connected to the security system, g yp and interacts with the homeowner through a keypad and function keys contained in the SafeHome control panel
31
Xy dng DFD V d y g
Bng iu khin
Yu cu Lnh v d liu cu hnh
Cu hnh h thng
Tng tc vi User
Start/Stop Mt m
Mn hnh
Thng bo Thng bo hin th
X l mt m
Hin th
Theo di cm ng
Chung
B cm ng
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
ng in thoi
32
PSPEC
The process specification (PSPEC) is used to describe all flow model processes that appear at the final level of refinement. The content of the process specification can include narrative text, a program design language (PDL) description of the process algorithm, mathematical equations, tables, diagrams, or charts
33
PSPEC
By providing a PSPEC to accompany each bubble in the flow model, the software engineer creates a "minispec that can serve as a first step in the creation of the Software Requirements Specification and as a guide for design of the software component that will implement the process.
34
Lc STD
Lc quan h thc th T in d liu Lc dng h d chy d liu
M hnh hnh vi ca h thng Lc dch chuyn trng thi Lc (STD) th hin Cc trng thi khc nhau ca h thng S dch chuyn gia cc trng thi M t chi tit hn iu kin xy ra ca cc hnh vi Cung cp mt hnh nh ng v h thng
35
c lnh
Copy xong Yu cu c lnh
Rnh Yu cu c lnh
y giy yg y Yu cu c lnh
Np giy
Kt giy Yu Y cu x l li
X l li
Ht kt giy Yu cu c lnh
36
T in d liu
Nhiu phn t c to ra trong m hnh phn tch: d liu, h iu khin li chc nng, i khi q p Phi c mt cch thc qun l cc phn t sao cho hiu qu T in d liu
37
T in d liu
nh ngha: T in d liu l mt danh sch c t chc ca tt c cc phn t d li cn thit cho h th h liu h thng. C Cc phn t c nh ngha chnh xc v cht ch sao cho c phn tch vin v khch hng cng chia s mt suy ngh v chng. h g T in d liu thng c hin thc nh l mt phn ca cng c CASE. Mi phn t bao gm nhng thng tin: t b d h tn, danh, c dng u/nh th no, c t ni dung v thng tin ph tr
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
38
T in d liu
The notation used to develop a content description is noted in the following table
39
T in d liu
The notation enables a software engineer to represent composite data in one of the three fundamental ways that it can be constructed:
As a sequence of data items. q As a selection from among a set of data items As a repeated grouping of data items.
40
T in d liu V d
V d phn t d liu s in thoi
Tn: S in thoi B danh: Khng c dng u/nh th no:
output ca Thit lp iu kin bo ng
input ca Quay s c t ni dung: s in thoi = [ m rng a phng | s bn ngoi ] m rng a phng = [ 2001 | 2002 | 2009 ] s bn ngoi = 9 + [ s a phng | s ng di ] s a phng = tin t + <chui 4 k s> s ng di = (1) + m vng + s a phng tin t = [ 795 | 799 | 874 | 877 ]
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
41
42
Phn tch h thng theo hng pht trin k thut lp trnh OOP (OO Paradigm)
Tip cn ca phng php pht trin OOP cho bc phn tch h thng
AI / V tr nh th no / Lm G / Khi no
Cc lc
Lc Use-case: thu thp yu cu m hnh nghip v Lc lp: phn tch h y cu m hnh phn tch p p yu p
44
45
46
47
S Sinh vin
Phng o to
H thng ng k mn h hc
Ging vin
49
Tn Use-case Useim m rng l mt v tr trong use-case m ti c th chn chui s kin ca mt use-case khc use case Use-case c th cha iu kin r nhnh, x l li, ngoi l... Minh d ca use-case l kch bn (scenario): miu t c th trnh t cc s kin xy ra khi Use-case c thc hin hin.
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
50
Tm kim Use-case
Tr li mt s cu hi nh
Actor yu cu chc nng g ca h thng ? Actor cn phi c, to, xo, sa i hoc lu tr thng tin no ca h thng khng ? Actor A t cn thit phi hi c cnh b v nhng s ki t h bo h kin trong h thng, hay actor cn phi bo hiu cho h thng v vn no khng ? H thng c th h tr mt s cng vic thng nht ca actor no hay khng ?
Mt s cu hi khc cn ch
H thng cn d liu input/ouput no ? D liu n t u ? Nhng kh khn no lin quan n hin thc ca h thng hin ti (chng hn h thng qun l bng giy t nn c thay th bng h gq y ) thng qun l trn my tnh) ?
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
51
Cc quan h ca Use-case q
Sau khi xc nh cc Actor v Use-case th cc quan h s c thit lp hon chnh lc Use-case Gia use-case v actor thng c quan h lin kt
Use-case Use case c Actor no kch hot
52
V d mt Use-case n gin g
<<communicate>>
Sinh Vin ng K Hc
Qun Q l Mn Hc
Phng o To
ng k dy
<<extend>>
53
Q Quan h lin kt
Quan h lin kt ch ra mt quan h c ngha gia hai bn
Trong thc t: hnh khch vi li xe sinh vin vi gio vin ging vin vi xe, vin, mn hc
UML biu din lin kt nh l mt on thng (hai chiu) hoc g ( ) mi tn (mt chiu)
<<Stereotype>> <<Stereotype>>
C th p dng stereotype:
<<include>> <<extend>> <<communicate>> ...
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
54
Quan h lin kt ph bin gia Actor & Use-case l giao tip: stereotype l <<communicate>> dng lin kt gia
actor v use case m n kch hot 1
Ngi bn hng
*
t hng
<<communicate>>
ng k dy
Ging vin
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
55
<<include>>
Tm kim
ng nhp
56
Tm kim
ng k t ch
(nu tm thy)
57
Quan h thng qut ha gia cc Use-case: khi c nhiu use-case l trng hp c th mt use-case tru tng
V d: Use-case login ca sinh vin , gio vin c th c thc hin theo c ch khc nhau nhng cng mang chung ngha l ng p g p g nhp l cc trng hp c th ca Use-case tru trng LOGIN
Trng i Hc Bch Khoa - Khoa Cng Ngh Thng Tin
Copyright 2004 Th.S Nguyn Cao Tr caotri@hcmut.edu.vn
58
59
<<include>>
Manages course
Administration <<extend>> t d
<<include>> Lecturer Reads courses <<include>> Manages lecturers g <<include>> Adds students <<extend>> <<include>> Login Undertakes course Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
<<include>>
Manages students
60
Forwards
Subcriber <<extend>> <<extend>>
Replies
<<communicate>> <<extend>>
Administrator
<<include>>
Login
Adds mailbox
61
toggles light
exits
sets eye 62
M hnh nghip v biu din cc chc nng phn mm cn xy dng di dng cc use usecase M hnh phn tch s tm kim cc i tng sng trong ng cnh ca phn mm sng Cc i tng s tng tc vi nhau to nn cc chc nng m t bi use-case Lc Cl L Class phn t h di t cu t mi h tch din trc, i quan h gia cc i tng/lp trong h thng Cha quan t h h vi c th v nhim Ch tm n hnh i hi v chi tit ca chng trong ng cnh ca h thng Nguyn t m h h phn t h phi l N tc: hnh h tch hi c lp vi o/s, ngn ng lp trnh, cng c pht trin
63
64
65
Trong UML, lp c biu din bng mt hnh ch nht gm 3 phn: tn, cc thuc tnh v cc tc v C th p dng stereotype cho lp: <<entity>>, <<boundary>>, <<control>>... i tng cng c biu din bng hnh ch nht nht, thng thng gm 2 phn: tn i tng + tn lp (c gch chn), gi tr cc thuc tnh (trng thi ca i tng)
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
66
67
i tng / lp thc th g p
Biu din cho cc thc th xut hin mt cch t nhin trong h thng Thng tin v cc i tng thc th c th phi c lu tr lu di (database, file...) Trong UML T UML, c gn stereotype <<entity>> i D nhn din cc thuc tnh ca chng
V d: d: i vi h thng ng k mn hc h tn ch qua WEB, nhn din cc i tng thc th nh: thng tin SV, thng tin GV, nhm lp hc ng k nhm s tay sinh vin hc, nhm, i vi h thng mail, nhn din cc i tng thc th nh: hp th, thng ip mail
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
Message g <<entity>>
# subject: String # sent: Date # content: String + GetSubject( ): String g( ): g + toString( ) String
68
i tng / lp bin g p
Thc hin chc nng giao tip vi actor Thng cha cc phn t hoc iu khin giao din ngi dng (nt nhn, hp danh sch, tu chn, menu...) Trong UML, c gn stereotype <<boundary>> Kh nhn bit cc th t h v t v t h thuc tnh tc trong m h h phn t h hnh h tch
V d: d: i vi h thng ng k mn hc h i tn ch qua WEB, nhn din cc i tng bin nh: RegisterForm, StudentForm i vi h thng mail, nhn din cc i tng bin nh: MailView, MailCompose... MailCompose
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
MailView <<boundary>>
69
i tng / lp iu khin g p
C nhim v iu khin cc lp khc hoc Nhng lp khng phi l lp thc th v lp bin Trong UML, UML c gn stereotype <<control>> Lp bin thng c quan h lin kt hoc ph thuc vi cc lp khc
V d: i tng biu din mt s lnh thng thng nh ct, dn, thay i thng s nhn trong hin th ho
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
70
UML: thuc tnh c miu t tng minh hoc thng qua quan h vi cc lp khc
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
71
Thng thng nn t mc truy xut thuc tnh l private hoc protected (cho cc lp c s), khng nn l public. public Thuc tnh nn c truy xut thng qua tc v get/set
72
73
CourseOfferring <<entity>> - courseN ame: String - courseCode: String - offering: int - session i - credit: int - prerequisite
CourseOffering, Catalog
74
Nhn din cc tc v
Da vo c t ca tng use-case, tm kim cc ng t hoc nhm ng t lin q an n i t ng ang quan tng xt Ch xem i tng c to ra v b hu b i nh th no ? Trong thi gian n gi/nhn thng ip ra sao ? g Cc i tng bin c cc tc v nhn lnh t actor. Xem xt mc truy xut ca tc v tng t nh i vi cc thuc tnh; cc tc v thng c visibility l + hoc # Mt s tc v khng xut hin mt cch t nhin trong m hnh phn tch m hnh thit k s nghin cu k trch nhim v hnh vi ca tng i tng
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
75
Nhn din lp c s p
Lp c s (base class) c nhn din sau khi nhn din cc lp c th S xut hin ca lp c s lm cho m hnh phn tch c tnh dng li cao (reusability) v d m rng (scalability) UML h tr quan h tng qut ho (generalization) Lp c s tru tng (khng th c th ho to ra i tng) c tn in nghing Lp c s c hnh thnh bng cch xc lp cc quan h tng qut ha ca cc lp c th c chung mt s thuc tnh v/hay mt s tc v
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
76
77
Isoquant
Fracture
78
V d v nhn din lp c s p
V d: Trong h th T thng ng k mn hc tn ch qua WEB, lp PeopleInfo l tng qut ho ca StudentInfo v LecturerInfo
# name: String # code: String # dateOfBirth: Date # addr: String
79
80
Q Quan h lin kt
Quan h lin kt l mi quan h gia 2 i tng/lp V ngha v k hiu ging nh quan h lin kt trong m hnh nghip v p dng cho 2 lp c mi tng quan mang ngha nht nh Ch ghi r (nu c th c) g ( )
Bc v tn vai tr ca mi lp trong quan h Tn ca chnh quan h lin kt
81
V d - mi quan h lin kt q
StudentInfo St d tI f <<entity>> students d 40..80 has h Registration <<entity>> - acaYear: Date - semester 0..1 lecturer LecturerInfo <<entity>> 0..1 offering CourseOffering <<entity>> reg
V d:
Lp Registration lin kt vi lp StudentInfo LecturerInfo v CourseOffering
82
Q Quan h bao gp
UML nh ngha quan h bao gp l trng hp c bit ca quan h lin kt, khi m mt u ni lin kt tr thnh u ni bao gp (aggregation) Lp u ni bao gp s bao hm lp kia K hiu ca u ni bao gp l mt hnh thoi t hoc khng t en C hai dng bao gp
Chia x (shared): chia x gia cc bao gp khc nhau Hon ton (composite): s hu y
83
Q Quan h bao gp
Composite aggregation
Specifies that the existence of the part is dependent on the whole. Is specified with a filled diamond.
Shared aggregation
The part may be simultaneously in many composite instances Shared aggregation is specified with a hollow diamond.
84
Q Quan h bao gp v d
i vi h thng ng k mn hc tn ch qua WEB, lp Catalog bao lp CourseOffering C t l b gp l C Off i
CourseOffering <<entity>> Catalog <<entity>> << tit >> - acaYear: Date - semester
Window
ScrollBar
85
Q Quan h ph thuc p
A dependency relationship indicates that a change to one class may cause a change in the other class.
86
Q Quan h c th ha
A realization relationship exists between two classes when one of them must realize, or implement, the behavior specified by the other. For example a realization relationship connects an example, interface to a subsystem. The interface specifies the behaviors, and the subsystem implements the behaviors. b h i
<<realize>> realize
87
Xy dng lc lp y g p
Lc lp (class diagram) biu din cu trc ca mt s lp v q an h gia chng quan m t kha cnh tnh (static) ca h thng H thng phc tp c nhiu lp cn xy dng nhiu lc lp, mi lc m t mt phn ca h thng Lc lp c b sung v hon thin trong m ( p, , hnh thit k (thm mt s lp, chi tit cc thuc tnh v tc v,
lm r cc quan h)
Lc lp c xy dng qua cc bc
Xc nh cc lp Xc nh thuc tnh v tc v ca cc lp Xc nh cc lp c s v quan h tng qut ho Xc nh cc quan h lin kt v bao gp
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
88
V d mt lc lp phn tch pp
mt lc lp ca chng trnh hin th b mt a hnh
Isoquant entity <<entity>> - altitude: double isoquants * FieldMap <<entity>> - name: String + wrap( ): Region
89
Thit lp PACKAGE p
Package l mt c ch t chc cc phn t vo cc nhm c lin h v ng ngha vi nhau g g Package c th import cc phn t t mt package khc C th ch ra quan h gia cc package
Ph thuc Tng qut ho
90
V d v mt PACKAGE
package UniPeople cha cc lp lin quan n thng tin con ngi UniPeople
PeopleInfo # name: String S i # code: String # dateOfBirth: Date # addr: String add : St g StudentInfo - acaYear: D Y Date - department - home: String - socialAid
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
91
V d v PACKAGE
92
Tng kt g
Phn tch h thng cho OOP theo UML chia lm 2 bc:
Thu thp yu cu bng m hnh nghip v Phn tch v xc nh tnh nng h thng bng m g g g hnh phn tch
M hnh phn tch nhn din cc i tng/lp: thc th bin iu khin th, bin, Nhn din cc thuc tnh v mt s tc y v, tuy nhin cha lm r hnh vi ca chng ( m hnh thit k) UML h tr mt s phn t: lp, i tng, tng lc lp package lp,
Trng i Hc Bch Khoa - Khoa Cng N gh Thng Tin
Copyright 2004 Th.S N guyn Cao Tr caotri@hcmut.edu.vn
93
94