Цель: Ознакомиться с методикой разработки внешних спецификаций программ, основанной на использовании HIPO-технологии проектирования программ. Приобрести практические навыки определения и оформления внешних спецификаций программ.
Ход работы:
1. Формулировка задачи.
С помощью HIPO-технологии составить внешние спецификации для комплекса программ решения следующей задачи: «Решение задач по физике. Законы идеального газа и уравнение состояния».
2. Описание требований к проекту.
Проект представляет собой обучающую систему, содержащую теоретический материал по теме о законах идеального газа и об уравнении состояния. Также в составе программного продукта должен содержаться модуль для решения физических задач, основанных на уравнении состояния идеального газа.
Кроме этого, в программе должна быть предусмотрена возможность тестирования пользователя с целью оценки уровня его знаний в данной области.
Данный программный продукт рассчитан в основном на использование учениками средних общеобразовательных школ, поэтому еще одним требованием является разработка «дружественного» интерфейса с пользователем; программа должна быть максимально проста в управлении, и содержать лишь необходимые функции, плюс исчерпывающую справку по самой программе.
3. Схема состава разложения и IPO-диаграммы.
Далее приводится альбом связных схем, составленный по HIPO-технологии и включающий:
-оглавление альбома документации и условные обозначения;
-схему состава разложения;
-набор IPO-диаграмм, реализующих элементы структуры.
Исходное описание системы Физика Схема Оглавление Номер: 0.0 |
Оглавление альбома документов и условные обозначения |
Лист: 1 Автор: Васильцов А. Отдел: каф. ПОИС Дата: 4.03.2006 |
Обозначение | Наименование | Лист | Примечание |
0.0 0.1 1.1 2.2 3.2 4.1 5.2 |
Оглавление альбома документации и условные обозначения Схема состава разложения Разработать электронный учебник по теме «Законы идеального газа и уравнение состояния» Решить физическую задачу Ввести данные с клавиатуры Найти Р, зная V, T, ν Сохранить результаты в файл |
1 2 3 4 5 6 7 |
Данные Связи
Данные, вводимые Передача данных
с клавиатуры
Данные, печатаемые на Слияние потоков
принтере данных
Данные на магнитном Пересечение
диске потоков данных
Единое данное Анализ данных
А Связь по управле-
Групповое данное нию внутри листа
с выделением части А А-номер или буква
Групповое данное, В Связь по управле-
состоящее из С нию между листами
нескольких В – номер листа
составляющих В С – номер элемента
С
Исходное описание Системы Физика Схема Состава Номер: 0.1 |
Схема состава разложения |
Лист: 2 Автор: Васильцов А. Отдел: каф. ПОИС Дата: 4.03.2006 |
Исходное описание Системы Физика Схема Программа Номер: 1.1 |
Разработать электронный учебник по теме «Законы идеального газа и уравнение состояния» |
Лист: 3 Автор: Васильцов А. Отдел: каф.ПОИС Дата: 4.03.2006 |
Вход Обработка Выход
|
1. Отобразить главное окно программы 2. Определить ID пункта меню 3. ЕСЛИ ID=1 ТО
ИНАЧЕ ЕСЛИ ID=2 ТО
ИНАЧЕ ЕСЛИ ID=3 ТО
ИНАЧЕ ЕСЛИ ID=4 ТО
ИНАЧЕ ЕСЛИ ID=5 ТО Закрытие программы ИНАЧЕ |
|
№ п/п |
Элемент | Комментарий | |||
Схема | Номер | Лист | |||
1 | ID | Идентификатор пункта меню; целое, от 1 до 5 |
Исходное описание Системы Физика Схема Задача Номер: 2.2 |
Решить физическую задачу |
Лист: 4 Автор: Васильцов А. Отдел: каф.ПОИС Дата: 4.03.2006 |
Вход Обработка Выход
|
1. Отобразить окно решения задачи 2. Определить ID источника данных 3. ЕСЛИ ID=1 ТО
ИНАЧЕ ЕСЛИ ID=2 ТО
ИНАЧЕ ЕСЛИ ID=3 ТО Закрыть окно ИНАЧЕ |
|
№ п/п |
Элемент | Комментарий | |||
Схема | Номер | Лист | |||
1 | ID | Идентификатор источника данных; целое, от 1 до 3 |
Исходное описание Системы Физика Схема Клавиатура Номер: 3.2 |
Ввести данные с клавиатуры |
Лист: 5 Автор: Васильцов А. Отдел: каф.ПОИС Дата: 4.03.2006 |
Вход Обработка Выход
|
1. Определить ID типа задачи 2. Получить строку данных 3. Проверка и преобразование данных
4. ЕСЛИ error=0 ТО 4.1 ЕСЛИ ID=1 ТО
ИНАЧЕ ЕСЛИ ID=2 ТО
ИНАЧЕ ЕСЛИ ID=3 ТО
ИНАЧЕ ЕСЛИ ID=4 ТО
ИНАЧЕ |
|
№ п/п |
Элемент | Комментарий | |||
Схема | Номер | Лист | |||
1 2 3 4 |
ID vars error P,V,T, ν |
Идентификатор типа решаемой задачи; целое, от 1 до 4 Строка, содержащая известные переменные; “[<P>][,<V>][,<T>][,<ν>]” Признак ошибки при преобразовании строки; логическое, 0-ошибки нет, 1 – ошибка есть Компоненты уравнения состояния идеального газа; вещественные |
Про-верка Про-верка Про-верка Про-верка |
3.4 3.4 3.4 3.4 |
Исходное описание Системы Физика Схема Найти Р Номер: 4.1 |
Найти Р, зная V, T, ν |
Лист: 6 Автор: Васильцов А. Отдел: каф.ПОИС Дата: 4.03.2006 |
Вход Обработка Выход
|
1. Вычислить неизвестное Solve= ν*R*T/V 2. Определить ID отображения результата 3. ЕСЛИ ID=1 ТО
ИНАЧЕ ЕСЛИ ID=2 ТО
ИНАЧЕ ЕСЛИ ID=3 ТО
ИНАЧЕ |
|
№ п/п |
Элемент | Комментарий | |||
Схема | Номер | Лист | |||
1 2 3 |
P,V,T, ν Solve ID |
Компоненты уравнения состояния идеального газа; вещественные Решение физической задачи; вещественное Идентификатор отображения результата; целое, от 1 до 3 |
Клави-атура | 3.2 | 5 |
Исходное описание Системы Физика Схема В файл Номер: 5.2 |
Сохранить результаты в файл |
Лист: 7 Автор: Васильцов А. Отдел: каф.ПОИС Дата: 4.03.2006 |
Вход Обработка Выход
|
1. Получить строку – имя файла 2. Сохранить результат решения в файл на жестком диске 3. Возврат на начало |
|
|||
№ п/п |
Элемент | Комментарий | |||
Схема | Номер | Лист | |||
1 | Solve | Решение физической задачи; вещественное | Найти Р | 4.1 | 6 |
4. Проверка правильности внешних спецификаций.
Правильность внешних спецификаций проверим в следующей таблице (пример работы пользователя с программой):
№ схемы | Список входов | Список выходов |
1.1 | - | - |
2.2 | - | - |
3.2 |
error (3.4) P (3.4) V (3.4) T (3.4) ν (3.4) |
ID (3.4) vars (3.4) P (4.1, 4.2, 4.3, 4.4) V (4.1, 4.2, 4.3, 4.4) T (4.1, 4.2, 4.3, 4.4) ν (4.1, 4.2, 4.3, 4.4) |
3.4 |
ID (3.2) vars (3.2) |
error (3.2) P (3.2) V (3.2) T (3.2) ν (3.2) |
4.1 |
P (3.2) V (3.2) T (3.2) ν (3.2) |
Solve (5.1, 5.2, 5.3) |
5.2 | Solve (4.1) |
Как видно, в ходе тестирования не нарушилась логика взаимодействия между отдельными составляющими программы, не обнаружено нехватки потоков данных, либо некорректных потоков данных между элементами разработанной структуры, а сами элементы взаимосвязаны между собой (с точки зрения передачи управления от модуля к модулю). Следовательно, можно с большой степенью уверенности утверждать, что схема состава разложения и таблицы внешних спецификаций не содержат ошибок.
5. Выводы.
При разработке крупных программных продуктов, требующих привлечения существенных материальных и человеческих ресурсов правильная декомпозиция сущностей поставленной задачи имеет огромное значение и влияние на результат (как на качество результата, так и на скорость его достижения). Поэтому не следует пренебрегать методикой составления внешних спецификаций для корректного взаимодействия между группами разработчиков, решающими каждая свою задачу, а также между разработчиками в каждой из групп, реализующими различные функции единой задачи.
Выполняя лабораторную работу, я убедился, что HIPO-технология, благодаря своей четкой стандартизации и наглядности, способна значительно ускорить процесс составления внешних спецификаций (как залог эффективного и согласованного взаимодействия группы разработчиков при создании общего продукта), а строгое структурирование призвано без особых усилий обнаруживать и устранять ошибки, неточности и недостатки анализа.
В результате HIPO-разложения данного гипотетического создаваемого продукта можно обнаружить такие преимущества конкретной декомпозиции предметной области: 1) наблюдается частичная информационная независимость между отдельно разрабатываемыми частями программы, особенно на верхних уровнях, что безусловно положительно влияет на общий результат и время его достижения за счет отсутствия необходимости согласования типов и форматов данных, передаваемых между модулями; 2) построенная схема состава разложения имеет относительно «квадратную» форму (5 уровней в глубину и 4 уровня в ширину), из чего можно сделать вывод об относительной сбалансированности в соотношении «время-человеч.ресурсы». Конечно, о данном балансе нет смысла говорить в таких критических случаях, если либо время выполнения проекта ограничено, либо количество человек, которые можно одновременно задействовать в создании проекта, также ограничено (в этих двух случаях невозможно судить об оптимальности этого соотношения исходя из составленной схемы состава разложения), однако подразумевается, что ни один из этих показателей не является критически строго ограниченным.