Title: Object-oriented Design
1??????? ??????????? ???????????
2????
- ?? ?????? ??? ??????????? ?????? ???? ?? ??
????????? ???? ????? ?? ??????????????? ??????,
????? ?????????? ??????????? ?? ? ?????????? ??. - ?? ????? ?????????? ? ?? ?????? ?? ???????????
- ?? ?????? ???????? ??????, ????? ????? ?? ??
????????? ? ?? ?????????????. - ?? ?????? ??? ???? ?????? ????? ?? ?? ??????????
???? UML.
3??????? ????
- ?????? ? ??????? ?? ??????
- ?????? ?? ?? ???????????
- ???????? ?? ???????
4?? ??????????
- ?? ???????, ????????????? ? ?????????????? ??
????????, ?? ????????. - ??? ? ??????? ? ???????????? ?? ??????? ????? ??
?????????? ??????. - ??? ?? ???????? ? ?????????????? ?? ?? ????????
?????, ????? ??????????? ????????????. - ???? ?? ???????? ? ???????????? ?? ???, ????
???????? ?? ???? ???? Java ??? C.
5?????????????? ?? ???
- ???????? ?? ?????????? ?? ?????? ?? ??????? ????
??? ?????????, ????? ?? ???????????????. - ???????? ?? ?????????? ? ????????????
???????????? ?? ??????????? ? ?????????????. - ???????????????? ?? ????????? ?? ???????? ?
????????? ?? ??????? ?????? (??????, ????????????
?? ????????). - ????????? ?? ?????? ?????. ???????? ???????????
???? ????????? ?? ?????????. - ???????? ????? ?? ?? ???????????? ? ?? ??
?????????? ?????????????? ??? ?????????
6??????????????? ??????
7?????????? ?? ???
- ??-????? ?????????. ???????? ????? ?? ??
?????????? ?????????. - ???????? ?? ??????????? ??????????? ???????????
??????????. - ?? ????? ?-?? ???? ?? ??? ???? ???????????? ?/?
???????? ?? ??????? ???? ? ???? ?? ?-????.
8?????? ? ??????? ?? ??????
- ???????? ? ??????????? ??????? ?????????? ??????
?? ??????? ???? ??? ?????????? ?? ?????????
???????? ?????? - ????????? ?? ??????? ?? ??????. ?? ????? ?? ??
????????? ?? ????????? ?? ?????? - ????????? ?? ?????? ????? ?? ?????????? ????????
? ?????? ?? ????? ???????
9?????? ? ??????? ?? ??????...
???? ????? ? ???? (???????), ????? ??? ?????????
? ?????????? ????????? ?? ????????, ?????
??????????? ?? ???? ?????????. ??????????? ??
????????? ? ????????? ?? ???????? ?? ??????.
?????????? ?????????? ? ?????? ???????? ?????? ??
????? ?????? (???????), ????? ???????? ????
?????? ??? ?????. ???????? ?? ???????? ????????
????????? ?? ???? ?? ??????, ????? ????? ??
??????. ?? ??????? ?????????? ?? ?????? ????????
? ??????, ????? ?????? ?? ?? ????????? ? ????? ??
???? ????
10Unified Modeling Language
- ???? 80-?? ? 90-?? ?????? ???? ?????????? ???????
???????? ?????? ?? ??????????? ?? ?? ???????. - UML ? ???? ??????????? ?? ???? ???????????.
- ??? ?????? ????????????? ?? ??????? ????????
??????, ????? ????? ?? ?? ??????? ?? ????? ?? ???
? ???. - ???? ? ?? ????? ???????? ?? ?? ????????????.
11???? ?? ?????? - ???????? (UML)
12??????????? ?/? ????????
- ?? ??????? ???????? ??????????? ???? ?????????
- ?????????
- ????? ?? ???????? ???????? ?? ?????????? ?????
- ????? ?? ???????????? ????????? ?? ?? ???????
???????? ? ????? ?? ??????????? ?? ????????? ??
????????. - ?? ???????? ??????????? ????? ?? ????????????
???? ?????????? ?????????? - ??? ??? ?? ?????????
- ?????????? ?????? ?? ?????????
13??????? ?? ?????????
- // ????????? ?? ????? ??????? ? ????? ?????,
- // ????? ????? ?????????? ???????? ? ??????
- v circularBuffer.Get ()
- // ????????? ?? ????? ??????? ? ?????????,
????? - // ?????? ?????????????, ????? ?????? ??
?? - // ????????
- thermostat.setTemp (20)
14????????? ? ???????????
- ???????? ?? ??????? ?? ???????, ????? ?????????
?????????? ? ?????????? ?? - ????????? ????? ?? ?? ????????? ? ????????, ?
????? ???? ????(?????-????) ? ????????? ?? ????
??? ?????? ????? ??????? (??????????). - ????????? ????????? ?????????? ? ?????????? ??
?????-????? ? ???? ?? ?????? ????????? ???????? ?
?????? - ??????????? ? UML ?? ??????????? ???? ???????????
? ?? ??????????? ?????.
15???????? ?? ?????????
16?????????? ?? ?????????????
- ???? ? ?????????? ?????????, ????? ???? ?? ??
???????? ?? ?? ???????????? ???????? - ???? ? ????????? ?? ??????????? ?????????? ?????
?? ????????, ???? ? ?? ????????? ???? - ?????? ?? ????????????? ? ???????? ?? ???????? ??
????????????? ?? ???????? ? ?????????
17???????? ? ?????????????
- ????????? ?? ?????? ?? ?? ??????????????. ?? ??
????? ?? ????? ???????? ??? ?????????? ?? ???????
?????-??????? - ???????????? ???? ??????????? ?? ?????????
???????? ?????? ???????? ?? ????? ?? ???????.
???? ?? ?????? ?? ?????????? ????????????? - ??????? ?? ???????, ????????????? ? ????????????
?? ? ???????? ??????? ? ?????? ?? ?? ?????????
?????????.
18UML ?????????
- ???????? ? ????????? ?? ?????? ???????? ?
????????? (??????) ? ????? ?????? ? ??????? ??
??????. - ? UML ???? ???????? ????????? ?? ??????? ?
?????????. - ??????????? ????? ?? ?? ???????? ? ??????????
???????? ???????????. - ??????????? ?? ????????, ?? ????? ?? ????????, ??
???? ??????? ?? ????? ? ????????? ????? ??? ??
????? ????? ??????? ?? ????????? ?????.
19????? ?? ?????????
20??????????? (?????????) ??????
- ?????????? ?? ???????? ???? ?????????????? ??
????? ????????? ?? ????????? ??????????. - ??????? ?? ????????? ?? ????????? ???
????????????? ????? ???????? ???? ?? ?? ???????
????????, ??? ???????? ?? ?????????? ?? ????????
????????? ? ???????????? ???????
21??????? ? ??????? ??????
- ???????
- ??????? ?? ??????????? ???? ????????? ??????
(??????) ? ?????? ?????, ????????????? ??
?????????? ?? ??????. ??? ???? ?????????? ???
????, ??????? ?? ???? ????????????? ? ???? ??
????? ?????? ?? ??????. - ??????? ??????
- ???????? ?? ??????????? ???? ????????? ??????? ?
?????????? ????????? ?? ?????? ???? ?? ?? ???????
?? ????? ????, ? ?? ???? ?? ?????? ??????????
22??????? ????? - ???????????
- ?????????? ?? ????????? ?????? ????? ?? ??
???????? ?? ???????? ??? ????????? ???? ?????????
???????? ???????? - ????????????? ??????? ????????? ?? ???????.
????????? ???? ?? ?? ??????? ???? ?? ????????
????????? ??????? ?? ?????????????. ???????
?????????? ???????? ????????? ???? ????????????
?? ??????????.
23??????? ????? ???????????...
class Transponder extends Thread Position
currentPosition Coords c1, c2 Satellite
sat1, sat2 Navigator theNavigator public
Position givePosition () return
currentPosition public void run ()
while (true) c1 sat1.position ()
c2 sat2.position () currentPosition
theNavigator.compute (c1, c2)
//Transponder
24????? ? Java
- ??????? ? Java ?? ?????? ?????? ?? ?????????????
?? ??????????? ??????. - ??????? ?????? ?? ???? ????? ??????? run() ? ???
?? ???????? ?? Java run-time ?-????. - ????????? ?????? ?????????? ???????? ????????
?????, ???? ?? ?????? ????????? ??????????.
25?????? ?? ?? ???????????
- ??????? ?? ?????????? ??????????? ?????????
???????????? ?? ??????? ???????? ?????? ??
?-????. - ?? ???????? ????? ?????? ?? ?????????? ?
????????? ?? ???? ?????? ? ?? ?? ????????????
????????? ?? ????? ?-??. - ?????, ?? ?????? ???????, ???????????? ????????
?????, ?????????? ?????? ?? ????????? ?????????
?? ???????????.
26????? ?? ???????
- ????????? ???????? ??? ?? ?? ???????? ? ????
?????? ???? RUP. - ?????????? ?? ????????? ? ????????? ?? ??????????
?? ?-???? - ??????????? ?? ?????????????
- ????????????? ?? ???????? ?????? ?? ?-????
- ?????????? ?? ?????????? ??????
- ???????????? ?? ????????? ??????????.
27???????? ?? ???????????????? ???????
?? ???????????? ?? ?????????????? ????? ? ?????
??????? ?? ???????? ?? ????? ?? ??????? ??
??????????, ??????????? ???????????? ? ?? ?????
????????? ???? ???????????, ?????? ? ????????.
????? ???????????? ??? ?????? ???????
???????????? ?????????? ?? ????????? ???????? ??
??-????????? ?????????. ?????????????? ????????
??????? ?? ?????????? ???????? ? ??????? ??
?????? ?? ???? ??????. ??????????? ????????
????????? ???? ?????, ????????? ?? ? ????? ??
????? ????????? ???? ???????? ?????????????? ????
?? ????? ?? ?????, ??? ???????? ????????? ??
??????? ?????????????? ?????. ??????? ????? ?? ??
????????? ?? ????????? ??????? ??? ?? ??
?????????? ? ??????? ???????? ???????.
28????????? ?? ?-???? ? ?????? ?? ??????????
- ????????? ????????? ?? ???????? ?? ????????????
??????? ? ???????? ?????. - ???????? ?? ?-????
- ???????? ?????, ????? ?????? ??????? ?-?? ?
????????????. ???????? ????? ?? ????-????, ?? ??
?? ??????? ??????? ?-??. ? ?????????? ???????? ??
???????? ?-???? ????? ???????????????? ?-??. - ????? ?? ?????????? ?? ?-????
- ????????? ?????, ??????? ??? ?-???? ?????????????
? ???????????? ??. ????????? ?? ???????? ??
??????????.
29??????? ???????????
???? ?? ???????????? ?? ???????, ? ????? ????????
?? ????????? ? ?????????? ? ??????????? ??
??????? ? ?????? ?? ?????? ?? ????? ?????
???? ?? ??????????, ? ????? ???????? ?? ?????????
??? ?????????? ?? ??????? ?? ??-?????????
?????????
???? ?? ?????????, ? ????? ???????? ?? ?????????
? ???????? ? ?????????? ?? ????????? ?????
???? ?? ???????? ?? ?????, ? ????? ???????? ??
????????? ??? ???????? ?? ??????? ?? ??????????
?????????
30?????????? ? ???????????????? ?-??
31?????? ?? ?????????? (Use case)
- ???????? ?? ?????????? ?? ????????? ??
??????????? ?? ????? ?????????????? ??? ?-????. - ?? ???????? ?????????? ??????? ???? ??????, ?
????????????? ????? ???? ??????.
32?????? ?? ?????????? ?? ????????????
33???????? ?? ???????? ?? ??????????
34???????????? ??????
- ?????? ?? ???? ???????????????? ?? ?-???? ?
???????????? ?, ???? ?????????? ???? ?? ??
???????? ?? ??????????? ?? ????????????? ??
?-????. - ?? ?????????????? ? ????????? ?????????
???????????. - ??????????? ???? ?? ?????????? ?? ?????????????
- ???? ?? ???????? ?? ????? ?? ?????????? ??
????????????? - ???? ?? ????????????? ?? ???????? ?? ?????.
- ?????????? ?? ?????? ?? ??? ?????? ?? 7 ?????? ?
????????????? ?????.
35??????????? ?? ????????????
36????????????? ?? ????????
- ???? ? ??? ???????? ???? ?? ???
- ???? ????????? ??????? ?? ???????????? ??
????????. ??????? ?? ?? ??????????, ????? ?
??????????? ?? ???????? ?? ???????????? - ???? ? ?????????? ??????. ????? ???????? ? ?? ??
??????? ?? ???? ???
37??????? ?? ?????????????
- ?? ?? ???????? ???????????? ??????, ??????? ??
?????????? ?? ????????? ?? ????????? ????(?????
?? Hood ) - ?? ?? ???????? ??????????????? ?? ???????? ????
?? ???????? ?? ?????????? - ?? ?? ???????? ????????????? ?????? ? ?? ??
????????????? ???????? ?? ???? ????? ??????? ? ?
????? ????????? - ?? ?? ???????? ??????? ?? ???????? ??????.
????????, ?????????? ? ???????? ??? ?????
???????? ?? ?????????????.
38???????? ?? ????????????
?????????????? ? ????? ?? ??????????? ?? ???????
???????????, ????? ??????? ???????, ?????????
????? ????????? ? ?? ???????? ?? ??-?????????
?????????. ????????????? ?? ?????????? ?? ??????
?? ????????????? ?? ???????, ?????????? ?? ??????
?? ????????????? ?? ??????, ??????????,
??????????????, ????????? ? ????????? ??? ??
??????, ??????? ?? ??????? ?? ??????????. ??????
?????? ??????? ?? ????????? ?? ???????,
?????????????? ????????? ? ???????? ?????????
?????. ?????????? ????? ?? ???????? ?? ??????????
????????.
39??????? ?????? ?? ??????????????
- ??????????, ??????????, ?????????
- ?????? ?? ???????? ?? ??????????, ????? ??
????????? ?????? ???????? ? ???????? ?? ?-????. - ????????????
- ????????? ????????? ?? ?????????????? ??? ???????
??????????. ???????????? ????????
???????????????? ?????????????? ?? ???????? ??
??????????. - ????? ?? ???????
- ????????? ?????????? ????? ?? ?????????????
40??????? ?????? ?? ??????????????
41????? ?????? ? ??-???? ?????????
- ?????? ?? ?? ???????? ???????? ?? ????????, ?? ??
?? ????????????? ?????? ?????? ? ????????. - ?????????????? ?????? ?? ???? ????????
????????????? - ?????????????? ?? ??????????, ???? ?? ??????
??????????? ?? ?? ???????? ?? ???????? ??
????????????? ????? ?? ???????? ? ???????? ??
???????????. - ??????? ??? ??????? ??????
- ? ???? ?????? ???????? ?? ??????? ? ???????
??????? ?? ??????. ???? ????????? ??????????? ???
?????????? ?? ???????????? ????? ?? ??????????.
42???????? ??????
- ?????????? ?????? ???????? ???????? ? ????????? ?
??????????? ?/? ??? - ?????????? ?????? ??????? ?????????? ????????? ??
?-???? ? ????????? ?? ??????? ?? ?????? ?
?????????. - ??????????? ?????? ??????? ???????????
?????????????? ?/? ????????.
43??????? ?? ???????? ??????
- ?????? ?? ????-????, ????? ???????? ???????????
????????? ?? ???????? ? ???? ????-??. - ?????? ?? ???????????????????, ????? ????????
?????????????????? ?? ????????????????. - ?????? ?? ??????????? (????? ???????), ?????
???????? ??? ?????????????? ?????? ????????
??????????? ?? ? ??????? ?? ???????. - ????? ?????? ?? ?????? ?? ????????????,
???????????, ??????????? ? ??.
44?????? ?? ????????????
- ???????? ??? ???????? ? ??????????? ? ?????????
???????? ????? ?? ?????? - ? UML ?? ???????? ???? ?? ???????? ?????????
??????????, ???? ? ????????? ?????. ??????????
??????????? ?? ???????? ???? ?? ? ????????.
45?????????? ?? ??????????????
46?????? ?? ???????????????????
- ???????? ?? ??????????????????? ????????
?????????????????? ?? ???????????????? ?/?
???????? - ???????? ?? ??????????? ???????????? ??????
- ??????? ? ??????????? ?????????? ? ???????? ??
????? ?????? ?????? - ???????????????? ?? ?????????? ???? ?????????
???????. ?????????? ?????? ??????? ????????
???????? ?????? ??????????????. - ???? ????? ???????????? ? ??????? ?? ?????? ??
?????? ???????, ???? ??????? ? ?????????? ? ?-????
47???????????????? ?? ???????? ?? ???????
48???????? ?? ???????????
- ??????? ??? ???????? ????????? ?? ???????? ??????
?? ?????? ? ????????? ?? ??????????? ????????????
?? ???? ??????. - ??? ??????????? ?? ?????? ? Shutdown, ???
???????? ?? ????????? Startup() - ? ?????? ?-???? ??????? ???? ?? ????? ?????????
- ??? ?? ? reportWeather (), ?? ?-???? ?????? ?
?????????? ?-???? - ??? ?? ? calibrate (), ?? ?-???? ?????? ? ?-????
??????????? - ????? ? ?-???? ????????, ?????? ?????? ?????? ??
?????????.
49???????? ?? ??????????? ?? ????????????
50???????????? ?? ???????? ?????????
- ????????? ????????? ?????? ?? ? ?????? ?? ?????
?????, ?? ?? ????? ?? ?? ?????????? ?????
?????????? ? ???????. - ???????????? ?????? ?? ???????? ?????????????
????????????? ?? ?????????? ? ?????? ?? ?? ?????
? ????? ????? - ???????? ????? ?? ???? ???????? ??????????, ?????
?? ?????? ????? ?/? ??????????? ?????? - UML ???????? ?????????? ?? ?????????? ??
???????????? ?? ??????????, ?? ???? ?? ??
???????? ? Java.
51????????? ?? ????????????
52???????? ?? ???????
- ?????????? ?? ???????????? ????? ? ????????
????????, ?? ????????? ????????? ? ???? ????? ??
?? ????????? ?/? ??????? ?????? ?? ???????????
?????. - ?? ???????????, ?? ?????? ?? ?? ?????? ??????????
?? ????????????? ??? ??????????????. ???? ???????
????????? ?? ????? ?? ?????? ? ????????????? ??
???????????? ?? ?????????? ???????????. - ???????? ?? ????????????? ?? ???????? ? ???????
????? ?? ???????.
53????? ???????
- ?? ?????? ????? ??????? Air quality ???? ???? ??
WeatherStation. - ?? ?? ?????? ???????? reportAirQuality ???
WeatherStation. ?? ?? ??????? ????????????
???????, ?? ?? ?????? ???????? ?? ?????????????. - ?? ?? ??????? ????? ?????????????? ?????????????
?? ?????????? ?? ?????????????.
54?????????? ?? ?????????????
55?????????
- ??? ? ?????? ?? ??????????? ?????, ??
????????????? ?????????? ???? ????????? ?????????
? ???????? - ???????? ?????? ?? ???? ??????????? ?
???????????? ????????. ?? ???????? ?????? ??
????? ??????. - ???????? ????? ?? ?? ???????????? ??????????????
??? ???????????. - UML ????????? ???????? ??????????? ?? ??????????
??????? ??????.
56?????????...
- ?? ????? ?? ??????? ?? ??? ????? ?? ?? ???????
??? ???????? ??????. ?? ?? ???????? ? ?????????. - ????????? ?????????? ?????? ?? ?????????
????????, ????. ???? ????????? ???? ???? Java. - ??? ??????????? ????????? ?????????? ?? ???????.