
- •«Технология программирования»
- •Задание
- •Уточнение
- •Разработка программы на c#
- •Программа с точки зрения пользователя. Интерфейс и инструкция.
- •3.2 Программа с точки зрения программиста
- •3.2.1 Все объекты программы и их взаимосвязь
- •3.2.2 Классы
- •1) Класс Car.
- •3.2.3 Потоки и их синхронизация
- •3.2.4 События и их использование
- •3.2.5 Ресурсы
- •3.2.6 Базы данных
- •3.2.7 Удаленный объект и его интерфейс
- •3.2.8 Сервер
- •3.2.9 Клиент
- •3.3 Диаграмма классов
- •3.4 Поэтапная разработка программы
- •3.4.1 Первый этап
- •3.4.2 Второй этап
- •3.4.3 Третий этап
- •3.5 Проблемы, возникшие при разработке проекта
- •4. Разработка программы на языке Java
- •4.1 Отличие от языка c#
- •4.1.1 События
- •4.1.2 Потоки
- •4.1.3 Другие отличия
- •4.2 Проблемы возникшие при разработке
- •5. Используемая литература
- •Приложение 1. Текст программы на языке c#
- •Приложение 2. Текст программы на языке Java
-
Разработка программы на c#
-
Программа с точки зрения пользователя. Интерфейс и инструкция.
-
Интерфейс представлен двумя графическими окнами и двумя консольными. Действия компонентов графически изображается в серверном окне (см. рис. 1)
Рис. 1. Серверное графическое окно
Пользователь имеет возможность добавлять, удалять компоненты в клиентском графическом окне с помощью кнопок «Добавить», «Удалить» (см. рис. 2).
Рис. 2. Клиентское графическое окно
Также Пользователь имеет возможность просматривать содержимое базы данных в консольном окне с помощью нажатия кнопки «Обновить данные» (см. рис. 3).
Рис. 3 Консольное окно
3.2 Программа с точки зрения программиста
3.2.1 Все объекты программы и их взаимосвязь
Программа включает объекты разных типов. Главными объектами программы являются объект прикладного окна класса Doroga и объект «машина» класса Car.
Серверное окно создается при запуске серверного приложения, клиентское окно создается при запуске клиентского приложения, а объект «Машина» создается с помощью кнопки «Добавить» на клиентском окне. Объект «Машина» появляется на большом круге и начинает движение с потоковой функцией potok_dvijeniya().
3.2.2 Классы
1) Класс Car.
Функции
Private void potok_dvijeniya() – потоковая функция, которая реализует движение машин.
public potok.Start();– Функция запуска потока
public void stop()– функция завершает потоковую функцию potok_dvijeniya().
Свойства
public Brush Brush – возвращает цвет машинки. Свойство доступно только для чтения.
public int N – возвращает номер. Свойство доступно только для чтения.
public int Fuel - возвращает топливо. Свойство доступно только для чтения.
public Point Location - возвращает позицию машинки. Свойство доступно только для чтения.
2) Класс Doroga. Наследует класс Form. В нем регистрируется Http-канал, описывается клиентское графическое окно и создает прокси для хорошо известного объекта, определенного заданным типом и URL.
Функции
void RemoteObject_removeEvent(string name) – обработчик события удаленного объекта "удалить"
void RemoteObject_addEvent(string name) - обработчик события удаленного объекта "добавить"
void Doroga_MouseClick(object sender, MouseEventArgs e) - обработчик клика мышкой по окну
void mashinka_vyehalEvent(int name) - обработчик события выезда машинки из рова
3) Класс Client. Подключается к серверу, получает удалённый объект, отображается база данных.
Функции
private void addButton_Click(object sender, EventArgs e)- обработчик события нажатия на кнопку "добавить"
private void removeButton_Click(object sender, EventArgs e) - обработчик события нажатия на кнопку "удалить"
private void updateDataButton_Click(object sender, EventArgs e) - обработчик события нажатия на кнопку "обновить данные"
4) Класс RemoteControl. В этом классе описывается графическое окно, в котором визуально отображается работа программы.
Функции
public static event AddDelegate addEvent;- события добавления удаленного объекта
public static event RemoveDelegate removeEvent;- события удаленияудаленного объекта