
- •Введение
- •1 Описание предметной области
- •1.1 Понятие программирования
- •1.2 История развития программирования
- •1.3 Классификация языков программирования
- •2 Функциональная модель процесса
- •2.1 Методология idef0
- •2.2 Модель процесса разработки приложений
- •3 Информационная модель системы и её описание
- •4 Алгоритм функционирования системы
- •Заключение
- •Список литературных источников
2 Функциональная модель процесса
2.1 Методология idef0
Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов, в котором используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0.
Методология IDEF0 предписывает построение иерархической системы диаграмм – единичных описаний фрагментов системы. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция – система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.
Каждая IDEF0-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки (работы) на диаграммах изображаются прямоугольниками, означающими поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Имя работы должно быть выражено отглагольным существительным, обозначающим действие.
IDEF0 требует, чтобы в диаграмме было не менее трех и не более шести блоков. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для чтения, понимания и использования.
Каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя – для управления, правая – для выходов, нижняя – для механизмов.
Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.
2.2 Модель процесса разработки приложений
Функциональная модель системы создавалась с использованием IDEF0 диаграмм. Диаграмма верхнего уровня называется «Разработка программного продукта». Данная диаграмма представлена на «Рисунок 2.2.1» и включает следующие компоненты:
Вход системы:
- Требования к системе.
Выход системы:
- Программный продукт.
Механизмы:
- Персональный компьютер;
- Система программирования.
Управление:
- Паттерны, стандарты тех. документации;
- Правила и стандарты тестирования и моделирования.
Рисунок 2.2.1 – Контекстная диаграмма модели
Требования к системе – данные, предоставляемые заказчиком. На их основе будет составлено техническо задание, выполнению которого будет отведена ключевая роль в этапах моделирования, реализации и тестирования программного продукта.
Программный продукт – прошедшее стадии моделирования, реализации и тестирования программное обеспечение, выполненное по техническому заданию.
Паттерны, стандарты тех. документации – здесь имеются в виду паттерны программирования (фабричный, одиночка и т.д), а также стандарты составления технического задания, отчетов по этапам реализации и тестирования, требования к их информативности и структурным элементам.
Правила и стандарты тестирования, моделирования – требования к этапам тестирования и поделирования, гарантирующие их корректность, информативность и читабельность.
Персональный компьютер – средство, при помощи которого будет произведена разработка, моделирование, реализация и тестирование программного продукта.
Система программирования – под этим термином подразумевается совокупность технических среств операционной системы, среды разработки и языка программирования (или языков программирования, если потребуется), на котором будет реализован программный продукт.
После описания системы и её взаимодействия с окружающим миром, проводится функциональная декомпозиция – система разбивается на подсистемы и каждая описывается отдельно.
Следующий уровень декомпозиции состоит из пяти блоков («Рисунок 2.2.2»):
Разработка тех. задания;
Анализ и дизайн;
Реализация;
Тестирование;
Развертывание.
Для описания функциональной модели мною был выбран этап тестирования программного продукта, как один из ключевых в разработке программного обеспечения. Именно на этом этапе определяется жизнеспособность системы, корректность выполняемых ею функций, наличие недочетов и ошибок, общая информативность и «юзабилити» системы.
Под «юзабилити» понимается общее удобство использования программного продукта, соотвествие разработанному дизайну системы, принимается решение о необходимости проведения этапа развертывания – обучения персонала заказчика работе в разработанном приложении, инсталляции и настройки на рабочих машинах заказчика и так далее.
По завершению этого этапа составляется технический отчет, включающий результаты тестирования, выкладки и нотации касательно разработанной системы.
Рисунок 2.2.2 – Диаграмма декомпозиции (IDEF0)
Тестирование программного продукта включает в себя следующие этапы («Рисунок 2.2.3»):
Выбор видов тестирования;
Выбор средств тестирования;
Тестирование программного продукта;
Составление технического отчета.
На вход в блок «Выбор видов тестирования» подаются сведения о требованиях к реализованному программному продукту в виде технического задания, степень выполнения которых тестировщик должен определить. Видов тестирования на данный момент существует довольно много, к примеру основные виды:
Функциональное тестирование;
Тестирование безопасности;
Тестирование взаимодействия.
Но, помимо них выделяют также модульное тестирование, компонентное тестирование, интеграционное тестирование, приемочное тестирование и т.д. Тестировщик принимает решение о необходимых видах тестирования исходя из требований к системе, концепта программного продукта и информации о паттернах, используемых в программном продукте. На выходе блока передается решение, принятое тестировщиком.
Рисунок 2.2.3 – Диаграмма декомпозиции (IDEF0)
Следующий этап тестирования – выбор средств тестирования. Он основывается на информации технического задания и принятых на предыдущем этапе тестирования решений. Другими словами, выбор средств тестирования полостью зависит от выбранных видов тестирования программного продукта, технического задания и самого программного продукта. Тут, аналогично предыдущему этапу, на выходе из блока находится принятое тестировщиком решение о выборе средств тестирования программного продукта.
Очередной этап тестирования – непосредственно само тестирование программного продукта на основе принятых ранее решений. На выходе из блока находятся результаты выбранных видов тестирования, на основании которых тестировщиком составляется технический отчет.
Заключительный этап тестирования – составление технического отчета. Отчет строится на основе полученных ранее результатов по выбранным видам тестирования, анализа соотвествия и степени выполнения технического задания и включает в себя сами результаты, нотации и заключение тестировщика.
Подробный чертеж процесса тестирования программного продукта в формате А3 представлен в «Чертеж 1».