- •Содержание
- •Введение
- •1 Теоретическая часть
- •Постановка задачи
- •1.2 Анализ предметной области
- •Требования к программному продукту
- •1.4. Средства реализации
- •1.5. Сравнительный анализ имеющихся средств
- •1.6. Критерии выбора
- •1.7. Выбор инструментальных средств
- •2 Практическая часть.
- •2.1 Моделирование предметной области
- •2.2 Технология создания программного продукта
- •2.3. Техническая реализация программного продукта, алгоритмы и коды
- •2.4. Внедрение и апробация программного продукта
- •2.5. Перспективы развития
- •3 Охрана труда
- •4 Инструкция пользователя
- •5 Организационно-экономическая часть
- •5.1 Расчёт затрат на внедрение ресурса
- •5.1.1 Расчёт себестоимости ресурса
- •5.1.2 Расчёт статьи «Материалы и комплектующие изделия»
- •5.1.3 Расчёт фонда заработной платы
- •5.1.4 Расчёт затрат на содержание и эксплуатацию оборудования
- •5.1.5 Расчёт накладных расходов
- •5.2 Экономическая эффективность разработки
- •Заключение
- •Список использованных источников (литературы)
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
2 Практическая часть.
2.1 Моделирование предметной области
Для моделирования используется методология SADT стандарт диаграмм IDEF0.
SADT (акроним от англ. Structured Analysis and Design Technique) — методология структурного анализа и проектирования, интегрирующая процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком. Процесс моделирования может быть разделен на несколько этапов: опрос экспертов, создание диаграмм и моделей, распространение документации, оценка адекватности моделей и принятие их для дальнейшего использования. Этот процесс хорошо отлажен, потому что при разработке проекта специалисты выполняют конкретные обязанности, а библиотекарь обеспечивает своевременный обмен информацией [9].
IDEF0 — Function Modeling — методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматриваются логические отношения между работами, а не их временна́я последовательность.
Стандарт IDEF0 представляет организацию как набор модулей, здесь существует правило — наиболее важная функция находится в верхнем левом углу, кроме того есть правило стороны : — стрелка входа приходит всегда в левую кромку активности, — стрелка управления — в верхнюю кромку, — стрелка механизма — нижняя кромка, — стрелка выхода — правая кромка [10].
Описание выглядит как «чёрный ящик» с входами, выходами, управлением и механизмом, который постепенно детализируется до необходимого уровня. Также для того чтобы быть правильно понятым, существуют словари описания активностей и стрелок. В этих словарях можно дать описания того, какой смысл вы вкладываете в данную активность либо стрелку.
Также отображаются все сигналы управления, которые на DFD (Диаграмме Потоков Данных) не отображались. Данная модель используется при организации бизнес-проектов и проектов, основанных на моделировании всех процессов: как административных, так и организационных.
На контекстной диаграмме (рисунок 1.) показана задача как организовать контроль знаний студентов. На входе – данные о студентах, ответы на тесты, а на выходе результат тестирования. Механизмами этой задачи будут сама система и преподаватель.
Контекстная модель предназначена для описания существующих бизнес-процессов в системе тестирования.
В контекстной модели использована точка зрения разработчика системы тестирования.
Рисунок 1 – Контекстная диаграмма
Декомпозиция А0 (приложение А) представляет из себя три блока:
регистрация;
авторизация;
тестирование;
Блок Тестирование также прошел декомпозицию на еще три блока:
отметка о прохождении всех вопросов;
проверка ответов;
занести в БД;
вывод результата.
Декомпозиция блока Тестирование представлена в приложении Б.
Для системы тестирования использована архитектура приложения Модель-представление-поведение или Model-View-Controller (рисунок 2).
Model-view-controller — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области [11].
Рисунок 2 - MVC
Основная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования. Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения. В частности, выполняются следующие задачи:
к одной модели можно присоединить несколько видов, при этом не затрагивая реализацию модели. Например, некоторые данные могут быть одновременно представлены в виде электронной таблицы, гистограммы и круговой диаграммы;
не затрагивая реализацию видов, можно изменить реакции на действия пользователя (нажатие мышью на кнопке, ввод данных), для этого достаточно использовать другой контроллер;
ряд разработчиков специализируются только в одной из областей: или разрабатывают графический интерфейс или разрабатывают бизнес-логику. Поэтому возможно добиться, что программисты, занимающиеся разработкой бизнес-логики (модели), вообще не будут осведомлены о том, какое представление будет использоваться.
Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента [15]:
модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать;
представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами;
контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
