Title: P1252428270IXcTJ
1????? ????? ????? ?????????? ?????
- ???? ????? ??? ????? 16-19
- ???? ???? ??? ????? 19-20
- ?????? ?????
- ??????? ??????? - 15 ?????? ?????
- ???? ????? - 15 ?????? ?????
- ???? ???? - 70 ?????? ?????
2????? ????? ????? ??????????? ???
- ???? ??? ?????
- ????? ?
- ???"?
- harussis_at_tau.ac.il
- ????? 052-374816
- ???
- http//www.cs.tau.ac.il/harussis/z_course
3????? ?????
- Software Engineering 6th or 7th Edition, Ian
Sommerville, Addison-Wesley, Harlow, Essex, UK,
2004 - The Way of Z Practical Programming with Formal
Methods, Jonathan Jacky , Cambridge University
Press, 1997 - Using Z Specification, Refinement, and Proof,
Jim Woodcock, Jim Davies Prentice Hall, 1996,
4??? ????? ????? ?
- ??? ????? ?
- ??? ????? ????? ?
- ??? ????? ????? ?
- ??? ??? ??? ????? ?
5?????? ???
- ????? ????? ??? ??????
- ????? ????? ????? ??????? ????? ?? ????? ?????
- ????? ????? ??? ??? ?????? ?????
- ????? ????? ????? ??????? ????? ?? ????? ?????
- ?????
- ?????
- ?????? ????? ???????
6????? ?????
- ????? ????? ?? ????? ??????? ????
- ??? ?????? ??????
- ????? ????? ???? ????? ????? ????
- ???? ?????? - ????????
- ???? ??????? ?????? ?????
- ????? ????????
- ????? - ????????
7????? ?? ????? ?????(?? ???? ???????)
?????
?????
?????
8????? ????? ?????
??????
?????
?????
?????
?????
9????? ?????
?????
??????
?????
?????
?????
10????? ?????
- ????? ????? ????
- ?????? ???????
- ????? ??????
- ?????? ???? - ??????
- ?????? ????? ??????
- ????? ??????
- ????? ??????
11????? ?????
12???? ?????
- ????? ?????
- ????? ?? ??????
- ??? ???? ????
link
13??? ???? ??????? ?????...
This is how the problem is solved now
The developers understood it in that way
The requirements specification was defined like
this
This is how the problem was solved before.
This is how the program is described by marketing
department
This, in fact, is what the customer wanted -)
That is the program after debugging
14????
- ???? ?? ????? ???? ????
- ???? ???
- ???? ???? ???? ?????,????????? ???????.
- ???? ???? ???? ??? ???? ???? ?
?? ?????? ???? ????? ????? ????? ??? ?? ?????
15??? ?? ??????????? ???? 1
16??? ?? ??????????? ???? 2
17???? ?????
- ???? ?? ????? ???? ????
- ?? ???????
- ?? ?????? ???????
- ???? ?????? ??????
- ????
- ???????????
- ????
- ??????
- ??????? ???? ????
18DFD ????? ????? ??????????? -
- ????? DATA FLOW DIAGRAM (DFD)
- ???? ???? ????? ???? ?????? ?????? ?? ?????
????????????? - ???? ???? ?? ????? ????? ?? ?????
- ??????? ??????? ????????
- ?????
- ??? ??????
- ????? ????
- ????? ?? ?????? ???????? ????
- ??????? ??????? ???? ????????
- ??????? ???????? ???? ???? ????
19DFD ????????
CONTEXT DIAGRAM
Level 1.2 DFD
2.2
Process Specification for Data Flow Diagram 2.3
2.1
2.3
Level 0 DFD
1
2
4
3
20????? ?DFD ????? - ATM
21????? ? DFD ???????????
22????? ????? ???? ERD
- Entity Relation Diagram
- ???? ???? ???? ?? ????? ?????? ?? ??? ???????
- ????? ???? ? DB
23ERD ????
- ????? ????? ??
- ?????? ????? ?? ??
- ????????? ???? ???? ?????
- ????? ??? ?????? ???? ?? ????? ??????
- ?? ?? ???? ?????? ??????
- ?? ???? ????? ??? ?
1
n
1
2
24????? ? ERD
25FSM ????? ????? ???????? -
- ????? FINAL STATE MACHINE
- ???? ?????? ?? ??? ?????
- ???? ??????? ???? ???? ?? ?? ??????
- ?? ???? ????? ????
26Microwave oven model
27UML basis
28????? ????? ???????
- ????? ??? ????? (????? ?? ???????)
- ???? ????????????? ????? ??????
- ????? ?? ????? ?????
-
29????? ????? ???????
?? ????? ?????? ????? ??????? ?????
30????? ????? ???????
- ???? ????? ?????? ?????
- ?? ????? ???? ??????
- ????? ???? ??????
- ??????? ?? ?????? ????
- ??? ??????
- ???? ??????? ????? ????? ?????
31???? ??????? ???? Z
- ??? ??????
- ???? ???? ????? ???? ???????
- ???? ??????????? ????? ??????
- ??? ?? ?????? (?????)
- ??????? ?? ?????
32 ????? -???? ????? ?-Z
- ???? ?????
- ???? ????? ??????
- ??? ??? ????? ??????
- ???? ??????? ???????
- ????? ?????
- ??????
- ????? ??
- ?????
33Q- invariant
- ??? ?? ?????? ?????? ??????? ?
34VIDEO STORE -DFD 0
Money
credit-card, cash
location
item ids
rent
error
clerk
customer id
exist?
videos
35VIDEO STORE -DFD 1
error
item ids
item ids
total sum
validate
compute
pay
location
customer id
rent
credit-card, cash
exist?
exist?
36VIDEO STORE -DFD 2
exists?
item ids
validate items
validate customer
Item ids
customer id
validate
Error no items
Error no customer
37VIDEO STORE - ERD