Professional Documents
Culture Documents
5 Dactaz 0732
5 Dactaz 0732
Gi i thi u
c xu t b i Jean Ren Abrial Oxford ih c
Gi i thi u
G m b n thnh ph n c b n
cc ki u d li u (types)
d a trn khi ni m t p h p
Ki u d li u
m i ki u d li u l m t t p h p cc ph n t V d
{true, false} : ki u l-gc N: ki u s t nhin Z: ki u s nguyn R: ki u s th c {red, blue, green}
Ki u d li u
Cc php ton trn t p h p
H i: AB Giao: AB Hi u: AB T p con: AB T p cc t p con: P A
v d : P {a, b} = {{}, {a}, {b}, {a, b}}
Ki u d li u
m t s ki u d li u c b n c nh ngha tr c
ki u s nguyn Z ki u s t nhin N ki u s th c R ...
c th nh ngha cc ki u d li u m i
ANSWER == yes | no [PERSON]
s d ng c p k hi u [ v ] nh ngha ki u c b nm i
6
Ki u d li u
Khai bo ki u
x:T
x l ph n t c a t p T
V d
7
V t
M t v t (predicate) c s d ng nh ngha cc tnh ch t c a bi n/gi tr V d
x>0 R
V t
C th s d ng cc ton t l-gc nh ngha cc v t ph c t p V: AB Ho c: AB Ph nh: A Ko theo: AB V d
(x > y) (y > 0) (x > 10) (x = 1) (x > 0) ) x/x = 1 ( (x S)) (x T)
9
V t
Cc ton t khc
(x : T A)
A ng v i m i x thu c T V d : (x : N x - x =0)
(x : T A)
A ng v i m t s gi tr x thu c T V d : (x : R x + x = 4)
{x : T | A}
bi u di n cc ph n t x c a T th a mn A V d : N = {x : Z | x 0}
10
S tr ng thi
C u trc s tr ng thi g m
tn s khai bo bi n nh ngha v t
11
S tr ng thi
c t Z ch a
cc bi n tr ng thi kh i gn bi n cc thao tc trn cc bi n bi n tr ng thi c th c cc b t bi n
i u ki n m lun ng, bi u di n b i cc v t
12
S thao tc
Kh i gn bi n
13
S thao tc
Thao tc c th c cc tham s vo v ra tn tham s vo k t thc b i k t ? tn tham s ra k t thc b i k t !
14
S thao tc
K hi u m t thao tc khng th thay i bi n tr ng thi
15
V d 1
c t h th ng ghi nh n cc nhn vin vo/ra ta nh lm vi c
Ki u d li u [Staff] l ki u c b n m i c a h th ng Tr ng thi c a h th ng bao g m
t p h p cc ng i s d ng h th ng user t p h p cc nhn vin ang vo in t p h p cc nhn vin ang ra out
b t bi n c a h th ng
16
V d 1
c t thao tc ghi nh n m t nhn vin vo
17
V d 1
c t thao tc ghi nh n m t nhn vin ra
18
V d 1
c t thao tc ki m tra m t nhn vin vo hay ra
Thao tc ny cho k t qu l ph n t c a ki u QueryReply == is_in | is_out c t thao tc
19
V d 1
Kh i t o h th ng
20
10
V d 1
Tm l i
S tr ng thi: cc thnh ph n/ i t ng c a h th ng B t bi n: rng bu c gi a cc i t ng Cc s thao tc
i u ki n trn cc tham s vo Quan h gi a tr ng thi tr c v sau Tham s k t qu
Kh i gn
21
V d 1
Hy c t cc thao tc
Register: thm vo m t nhn vin m i QueryIn: cho bi t nh ng nhn vin ang vo/lm vi c
22
11
Ton t s
Cc s c th c k t h p t o ra cc s m i Cc ton t s
V: Ho c:
23
Ton t s
Cc s c
T o cc s m i
24
12
V d 1 (ti p)
C i ti n thao tc StaffQuery
Thao tc StaffQuery cha c t tr ng h p l i
name? users
25
V d 1 (ti p)
C i ti n thao tc StaffQuery
c t l i ki u QueryReply
QueryReply == is_in | is_out | not_registered
Khi
RobustStaffQuery == StaffQuery BadStaffQuery
26
13
V d 1 (ti p)
C i ti n thao tc CheckIn
V d 1 (ti p)
C i ti n thao tc CheckIn
M r ng thao tc cho tr ng h p ghi nh n thnh cng
Khi
28
14
V d 1 (ti p)
C i ti n thao tc CheckIn
X l thm hai tr ng h p l i
1. name? c ghi nh n 2. name? cha c ng k
29
V d 1 (ti p)
C i ti n thao tc CheckIn
X l thm hai tr ng h p l i
30
15
V d 1 (ti p)
C i ti n thao tc CheckIn
Khi
CheckInReply == ok | already_in | not_registered
RobustCheckIn ==
31
Quan h
C p ph n t di n
(x, y)
c th
c bi u
16
Quan h
Quan h (relation) l t p cc c p ph n t c th t
V d :
33
Quan h
C th k hi u quan h T S == P (T x S) directory : Person Number nh x
c p ph n t c th t (x, y) c th vi t
V d
Lu
34
17
Quan h
Domain v Range
t p h p cc thnh ph n th nh t trong m t quan h c g i l domain (mi n)
k hi u: dom v d : dom(directory) = {mary, john, jim, jane}
Quan h
Php tr mi n (domain subtraction)
k hi u: bi u di n quan h R v i cc ph n t trong mi n S b lo i b Ngha l:
36
18
Quan h
Php tr mi n (domain subtraction)
V d :
Khi :
37
V d 2
c t danh b i n tho i g m tn ng i v s i n tho i
S d ng ki u c b n [Person, Phone] c t tr ng thi h th ng
38
19
V d 2
Kh i t o h th ng
Thm m t s i n tho i
39
V d 2
c th c i ti n ?
Tm s i n tho i c a m t ng i
Tm tn theo s i n tho i
40
20
V d 2
Xa s i n tho i c a m t ng i
41
V d 2
Xa cc m c trong danh b ng v i m t tn
Xa cc m c trong danh b tn
ng v i m t t p cc
42
21
Partial Function
l quan h m m i ph n t trong domain cho m t gi tr duy nh t trong range k hi u
ngha l
43
Partial Function
V d
C th p d ng cc ton t hm
44
22
Partial Function
Ton t qu t i hm (Function Overriding) thay th m t m c vo b i m t m c m i k hi u
v d
lu
45
V d 3
c t h th ng qu n l ngy sinh
s d ng ki u c b n m i [Person, Date] m i ng i ch c m t ngy sinh duy nh t
kh i t o h th ng
46
23
V d 3
Thm m t ng i vo h th ng
47
V d 3
i u g x y ra n u name? dom(bb)
Ch nh s a ngy sinh
Xa m t ng i
48
24
V d 3
Tm ngy sinh c a m t ng i
49
V d 3
Tm ngy sinh c a m t ng i
tr ng h p tm khng th y
50
25
V d 3
Tm ngy sinh c a m t ng i
thng bo khi tm th y
khi
51
V d 3
Tm nh ng ng i cng ngy sinh
52
26
Total Function
nh ngha nh x t t t c gi tr c a domain n range k hi u ngha l
53
Total Function
V d
54
27
Total Function
S d ng nh ngha h ng s
V d
55
Cc k hi u
Ton t l-gc T ph p Quan h v Hm
56
28