
- •Uml модель курсового проекта Use Case и Диаграммы активности
- •Описание модели поведения системы:
- •Обратиться к книге
- •Описание модели взаимодействия
- •Диаграмма коопераций
- •Диаграмма последовательности
- •Описание логической структуры системы
- •Процесс генерации программного кода
- •Определения классов:
- •Определения основных обработчиков событий
- •Результаты тестирования
- •Заключение
- •Список использованной литературы
- •Приложение
Описание логической структуры системы
(Class diagram)
Phone
Класс – телефон. В этом классе находятся текущий статус телефона и текущий набираемый номер. А также методы для их обработки (set,get). Также этот класс взаимодействует с классами AutoTelStation и LastNumber, поэтому он включает методы передачи данных в эти классы (TakeTubeState и LastNumber)
LastNumber
Класс – память. В этом классе находится последний набранный номер. А также функции Remember и Recall для работы с этим полем и для взаимодействия с классом phone.
AutoTelStation
Класс – АТС. У данного класса есть поле статус, которое показывает текущий статус АТС. Также функции set и get для работы с этим полем. А также функция TakeTubeState для передачи сигнала в телефон и TalkState функция обработки сигналов.
PersonDlg
Класс – диалог для сбора данных. У данного класса есть поле «имя», которое содержит имя человека и поле «телефон», содержащее записанный номер телефона. А также функция OnOk() для подтверждения ввода данных для записи.
RecordTel
Класс – запись. У данного класса есть поле «имя», которое содержит имя человека и поле «телефон», содержащее записанный номер телефона.
Процесс генерации программного кода
Для создания программы в среде Visual C++ был использован проект типа SDI с поддержкой архитектуры документ/отображение и с использованием библиотеки MFC.
Таким образом, для выполнения таких вещей как хранение данных, сохранение их на диске, чтение с диска отвечает объект класса СTelSystemDoc, производного от CDocument.
Пользователь взаимодействует с документом, который изображен внутри окна-рамки. Каркас MFC приложения использует окна-рамки для обрамления окон видом, таким образом, он вводит разделение функций окна приложения на два компонента. Оба компонента представлены и управляются двумя различными классами MFC. Класс главного окна приложения CMainFrame, производный от CFrameWnd, управляет рамкой, а класс СTelSystemView, производный от CFormView, управляет содержимым окна-рамки. Содержимое окна-рамки целиком оккупируется окном вида так как использовался проект типа SDI, следовательно может быть открыт только один документ в главном окне.
Основным классом является класс СTelSystemApp, производный от CWinApp. Объект этого класса управляет всеми объектами приложения.
Описание С++ программы
Определения классов:
Phone
Данный класс используется как своеобразный интерфейс для пользователя.
Он имеет два поля типа int и char*, в которых хранится соответственно текущий статус телефона и текущий набираемый номер. А также он содержит методы для работы с этими полями и методы взаимодействия с классами LastNumber и AutoTelStation.
LastNumber
В данном классе хранится последний набранный номер типа char*. И два метода работы с ним. Методы для чтении и записи.
AutoTelStation
Данный класс используется как «посредник» между пользователем и собеседником.
Он содержит одно поле – поле статус типа int. И методы работы с ним. А также функцию передачи сигнала классу Phone.
PersonDlg
Данный класс используется как «посредник» между пользователем и телефоном.
Он содержит два поля – поле «имя» типа CString и поле «номер телефона» типа CString. И метод для подтверждения ввода данных.
RecordTel
В данном классе хранится запись телефонной книги. Он содержит два поля – поле «имя» типа CString и поле «номер телефона» типа UINT.
Определения структур хранения данных:
Phone
Сondition типа int для хранения статуса телефона
Number типа char* для хранения текущего набираемого номера телефона
AutoTelStation
Сondition типа int для хранения статуса АТС
LastNumber
Number типа char* для хранения последнего набранного номера
PersonDlg
m_fio типа CString для хранения имени человека в записи
m_phone типа CString для хранения номера телефона человека в записи
RecordTel
name типа CString для хранения имени человека в записи
number типа UINT для хранения номера телефона человека в записи