
- •Методические указания к дипломному проектированию
- •Введение
- •Организация дипломного проектирования
- •Тематика дипломных проектов
- •Общие требования к дипломному проекту
- •Структура пояснительной записки
- •3.1.1 Титульный лист
- •3.1.2 Техническое задание
- •3.1.3 Реферат
- •3.1.4 Содержание
- •3.1.5 Введение
- •3.1.6 Раздел разработки программного обеспечения
- •3.1.7 Заключение
- •3.1.8 Список использованных источников
- •3.1.9 Приложения
- •Графическая часть
- •Рекомендации к структуре и оформлению раздела разработки программного обеспечения
- •Анализ предметной области
- •Модель предметной области в языке uml
- •Диаграммы методологии idef1
- •Модель «сущность – связь» в нотации idef1x
- •Анализ требований
- •Модель вариантов использования
- •Функциональное моделирование в нотации idef0
- •Модель анализа вариантов использования
- •Проектирование
- •Модель проектирования
- •Модель развертывания
- •Реализация
- •Модель реализации
- •Модель тестирования
- •Примеры описания процесса разработки
- •Разработка программных средств банковской системы
- •Пример проктирования базы данных
- •Into :TheInitialValue;
- •If( TheInitialValue is null ) then exit;
- •Into :TheSum;
- •Insert into AccountInheritance(AccountFolderId, SubAccountId) values(:NewId, :NewId);
- •Insert into AccountInheritance(AccountFolderId, SubAccountId) values(:ParentId, :NewId);
- •Into :TheInitialValue;
- •If( TheInitialValue is null ) then exit;
- •Into :TheSum;
- •Подготовка и защита дипломного проекта
- •Подготовка к защите
- •Защита дипломного проекта
- •Требования к презентации и раздаточному материалу
- •Примеры оформления пояснительной записки
- •Титульный лист
- •Задание
- •Реферат
- •Содержание
- •Ведомость дипломного проекта
- •Листинг программы
- •If (UndoPolicy.CanUndo())
- •Краткое справочное руководство
- •Б1 Методология структурного анализа и проектирования idef0
- •Б2 Методология информационного менеджмента idef1
- •Б3 Методология инфологического проектирования idef1x
- •Б4 Универсальный язык моделирования uml
- •Б5 еспд. Общие требования к текстовым документам
- •Б6 Примеры схем гост 19.701-90
- •Литература
Модель развертывания
Модель развертывания – это объектная модель, которая описывает физическое размещение подсистем по вычислительным узлам системы. Примеры отображения модели развертывания с помощью диаграммы развертывания приведены на рисунках 4.14, 4.15
Рисунок 4.14 – Диаграмма развертывания
Рисунок 4.15 – Управляющие классы на диаграмме развертывания
Модель развертывания можно представить и в виде «свободного рисунка» (пример на рисунке 4.16).
Рисунок 4.16 – Структура системы
Для модели развертывания характерно следующее:
каждый узел представляет собой вычислительный ресурс (например, процессор);
узел имеет связи, представляющие собой каналы обмена информацией (например, Интернет);
модель развертывания описывает несколько различных конфигураций сети (включая конфигурацию для тестирования);
функциональность (процесс), выполняющаяся в узле, определяется подсистемой (компонентом), загруженной на узле;
модель развертывания отображает архитектуру программ на архитектуру системы.
Традиционная конфигурация ссистемы предполагает трехуровневую архитектуру:
уровень клиента (взаимодействие с пользователем);
уровень взаимодйствия с базой данных;
уровень прикладной функциональности (прикладная логика).
В современной практике проектирования для представления такой структуры используется шаблон Model-view-controller (MVC, «Модель-представление-поведение»). Данный шаблон – это архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.
Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента (рисунок 4.17):
Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера ), изменяя свое состояние.
Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.
Рисунок 4.17 – Диаграмма классов шаблона MVC
Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
Реализация
В данном разделе дипломного проекта обычно основное внимание уделяется вопросам кодирования и тестированная спроектированных программных компонент.
Модель реализации
Модель реализации описывает, как реализуются в виде компонентов (исходных текстов, сценариев, двоичных файлов, таблиц, документов, исполняемых модулей) элементы модели проектирования.
В Унифицированном процессе разработки для отображения решений реализации чаще всего используются диаграммы компонентов. Обозначения компонентов и пример диаграммы приведены на рисунках 4. 18 и 4.19(a, b).
Рисунок 4.18 – Обозначение компонентов (UML)
a)
b)
Рисунок 4.19 – Диаграмма компонентов
Графические решения для отображения программных компонент могут использовать как «свободные рисунки» (рисунок 4.20), так и схемы ГОСТ 19.701-90 (приложение «Примеры схем ГОСТ 19.701-90»)
Рисунок 4.20 – Схема компонентов системы
В дипломном проекте модель реализации следует дополнить спецификацией классов или функциональной спецификацией.
Пример спецификации класса:
OPCHDAConnectorRuntime
Class Reference
Коннектор в режиме исполнения
Public Member Functions
OPCHDAConnectorRuntime (TaggedObjectPrimaryTreeNode node)
Конструктор.
void ChangeDesignModePhase (ProjectItemState state)
void SetErrorMessage (Exception e)
Установка сообщения об ошибке для системного тега.
IHistorySyncReader QueryHistorySyncReader (string tag, string attribute)
Возвращает интерфейс опроса истории источника данных.
Protected Member Functions
override void OnDesignModeChanging (ProjectItemState state)
Запуск/останов.
override void OnAttributeValueSetting (string tagName, string attributeName,
AttributeValue value)
Устанавливается значение атрибута.
Пример функциональной спецификации:
Модуль sendsms.pl:
Название: daemonize
Назначение: Перевод выполняемого модуля в режим демона.
Входные параметры: нет.
Выходные параметры: нет.
Название: connectDB
Назначение: Подключение к БД MySQL.
Входные параметры: адрес сервера баз данных, номер порта, имя пользователя, пароль.
Выходные параметры: указатель на объект БД.
Название: LOG
Назначение: Запись строки в LOG-файл.
Входные параметры: Строка для записи в LOG-файл.
Выходные параметры: нет.
Название: sendtextMsg
Назначение: отправка обычного текстового сообщения.
Входные параметры: Номер отправителя, номер получателя, содержимое текстового сообщения.
Выходные параметры: В случае успешной отправки сообщения – 0, в противном случае – 1.