- •Донбасская государственная машиностроительная академия
- •Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода
- •Методические указания
- •К курсовой работе и самостоятельным работам
- •Введение
- •1 Содержание пояснительной записки
- •1.1 Задание на курсовую работу
- •1.2 Введение
- •1.3 Содержание и объём курсовой работы
- •1.3.1 Анализ автоматизируемой системы в заданной предметной области
- •1.3.2 Формализация описания бизнес-процесса Определения терминов, обозначения и сокращения
- •Границы бизнес-процесса
- •Роли и ответственность участников бизнес-процесса
- •Деятельность по управлению бизнес-процессом
- •Система показателей для управления бизнес-процессом
- •1.3.3 Разработка структурно функциональной модели объекта автоматизации
- •1.3.4 Алгоритмы выполнения расчетов в заданной предметной области
- •1.3.5 Обоснование выбора средств разработки
- •1.4 Разработка технического задания на создание программного продукта
- •2 Разработка проекта программного комплекса
- •2.1 Разработка логической модели пп
- •2.1.1 Разработка диаграммы прецедентов использования
- •2.1.2 Разработка диаграммы классов предметной области
- •2.1.3 Разработка диаграмм последовательностей
- •2.1.4 Разработка структуры информационного обеспечения пп
- •2.1.5 Разработка модели «сущность-связь» (er-диаграммы)
- •2.2 Разработка физической модели пп
- •2.2.1 Разработка диаграммы классов пп
- •2.2.2 Организация информационной базы
- •2.2.3 Модульная структура программного комплекса
- •2.2.4 Структура интерфейса пользователя
- •3 Заключение
- •Приложение а
- •Автоматизированное проектирование программных систем на основе объектно-ориентированного подхода
2.2.2 Организация информационной базы
Приводится структура таблиц базы данных с перечнем полей и их характеристик, указываются необходимые ключи. Описывается организация ведения информационной базы, виды запросов к базе данных. После осуществления физического проектирования приводится ряд таблиц, структура которых аналогична приведенной в таблице 16.
Таблица 16 – Характеристика полей таблицы БД (наименование таблицы)
Поле |
ТТип |
Размер |
Ключ |
Значение по умолчанию |
Назначение |
ID_Detal |
N |
|
* |
NOT NULL |
Номер детали |
2.2.3 Модульная структура программного комплекса
Приводится информация о модульной структуре ПП в виде диаграммы компонентов. Выделяется системная часть, образующая оболочку программной системы и прикладная (функциональная), обеспечивающая выполнение задач предметной области.
Разрабатываются программные интерфейсы классов (модулей) в виде модульных тестов (см. пример на рис. 4), проверяющих выполнение основных и альтернативных сценариев прецедентов.
Для распределенных (клиент-серверных) систем также приводится диаграмма развертывания.
Все диаграммы должны сопровождаться поясняющим текстовым описанием.
BankMachine bankMachine = new BankMachine();
int PIN1 = 1234;
int PIN2 = 2341;
String accountNumber1 = "123456789";
String accountNumber2 = "214365879";
Card card1 = new Card(PIN1,accountNumber1);
Card card2 = new Card(PIN2,accountNumber2);
// тест снятия денег при верном пин-коде
bankMachine.insert(card1);
bankMachine.enterPIN(1234);
assertTrue(bankMachine.canGetMoney());
// тест снятия денег при неверном пин-коде
bankMachine.insert(card1);
bankMachine.enterPIN(4321);
assertFalse(bankMachine.canGetMoney());
// тест неверного ввода пин-кода
bankMachine.insert(card1);
bankMachine.enterPIN(4321);
bankMachine.enterPIN(4322);
bankMachine.enterPIN(4323);
bankMachine.enterPIN(1234);
assertFalse(bankMachine.canGetMoney());
// тест невозможности вставки второй карточки
boolean exceptionIsThrown = false;
try {
bankMachine.insert(card1);
bankMachine.insert(card2);
} catch (MoreThanOneCardIsNotAllowed e){
exceptionIsThrown = true;
}
assertTrue(exceptionIsThrown);
// тест снятия денег со счета
double moneyToGet = 100;
bankMachine.insert(card1);
bankMachine.enterPIN(1234);
double balance = bankMachine.getBalance();
bankMachine.withdraw(moneyToGet);
assertEquals(balance-moneyToGet,
bankMachine.getBalance());
Рисунок 4 – Пример листинга модульных тестов
2.2.4 Структура интерфейса пользователя
При выполнении данного подраздела разрабатывается структура интерфейса пользователя (рисунок 5) и дается описание его функционирования с указанием соответствующих экранных форм и интерфейсных элементов.
Системное меню («Файл») |
|
|
Меню выбора деталей и ввода данных («Расчеты») |
|
|
Меню баз данных(«База данных») |
|
|
Меню справки («Помощь») |
|
|
|
|
|
|
|
|
|
|
|
|
Открыть проект |
|
|
Вал |
|
|
Валы |
|
|
Справка о программе |
|
Закрыть проект |
|
|
Зубчатое колесо |
|
|
Зубчатые колеса |
|
|
Помощник |
|
Другие пункты… |
|
|
Подшипник |
|
|
Подшипники |
|
|
Что это? |
|
Выход |
|
|
Дополнительные элементы … |
|
|
Дополнительные элементы … |
|
|
Другие пункты… |
|
|
|
|
|
|
|
Рисунок 5 – Структура интерфейса пользователя
Разрабатываемый интерфейс должен обеспечивать ввод информации пользователем, и вывод сообщений, формируемых программным обеспечением, а также представлять их в форме, удобной для восприятия. По характеру информации, вводимой или запрашиваемой пользователем или формируемой программным обеспечением можно выделить четыре группы функций интерфейса с пользователем:
справочные функции, в том числе вывод справок о составе и состоянии модели предметной области, возможностях пакета в целом и в каждом состоянии модели предметной области;
приём от пользователя и контроль управляющей информации (команд, программ на входном языке);
ввод данных, предоставляемых пользователем, и вывод данных (результатов вычислений) на экран или принтер;
вывод информационных сообщений о возникающих при выполнении пакета особых ситуациях (ошибках).
Эти четыре группы функций (справочная, по управлению, по данным и информационная) могут реализовываться последовательно или параллельно. При последовательной работе пользователь поочередно обращается к различным функциям. Параллельная работа предусматривает возможность, например, обращения к справочной функции в процессе ввода управляющей информации или данных. Макет интерфейса пользователя может быть представлен в следующем виде графа.
Для интерфейса пользователя разрабатывается и диаграмма состояний, выполняется текстовое описание диаграммы состояний элементов управления.