Технологии программирования
Шрифт:
Рис. 2.9. Диалог типа гипертекста
Диалог типа виртуальная реальность используется в различных тренажерах и может основываться на использовании особого оборудования типа кибершлем, тактильные перчатки, система запахов и т. д.
Фонд различных диалогов облегчает выбор рационального варианта построения внешних спецификаций программ. Список
ВЫВОДЫ
• На разных этапах проектирования (особенно часто на начальных этапах) перед разработчиком встает задача выбора наилучшего варианта из множества допустимых проектных решений, которые удовлетворяют предъявленным требованиям. Принятие "правильного" решения означает выбор такой альтернативы из числа возможных, в которой с учетом всех разнообразных факторов будет оптимизирована общая ценность.
• Задача оптимизации разработки программ состоит в достижении целей при минимально возможной затрате ресурсов. Системный анализ в отличие от предварительного системного исследования — это углубленное изучение информационных потребностей пользователей, которое будет положено в основу детального проектирования новой информационно-программной системы (АС). Формулировка целей при разработке программного продукта — первый и важнейший этап процесса проектирования. Ошибки в выборе и формулировке цели не могут быть скомпенсированы на последующих этапах. Анализ требований способствует лучшему пониманию системы, а также достижению наилучшего удовлетворения потребности.
• Совокупность функций системы, условий и ограничений их существования называется множеством потребительских свойств системы. Функции системы — это все свойства, обусловливающие полезность (целесообразность системы для потребителя).
• Любые классификации программ повышают вероятность синтеза вариантов. Классификации можно использовать как при работе методом морфологического синтеза, так и методом аналогии.
• Прежде чем искать пути оптимизации разработки программ, необходимо выделить некоторые ключевые положения.
Положение 1. Проблема, которая должна быть решена разрабатываемой программой, ранее каким-то образом решалась. Следовательно, необходимо изучить методы, применявшиеся ранее, по возможности, их формализовать и применить.
Положение 2. Для подавляющего числа задач в настоящее время существуют программы, выполняющие похожие либо аналогичные функции. Поэтому необходимое условие качественной разработки — ознакомление с существующими аналогами.
Контрольные вопросы
1. Перечислите основные виды показателей качества программных систем.
2. Дайте определение понятия "эвристический прием".
3. Опишите основные шаги, по которым осуществляется системный анализ.
4. Опишите суть проектной процедуры раскрытия проектной ситуации.
5. Приведите примеры внутренних закономерностей при описании потребительских свойств системы.
6. Назовите основные классы существующих программ.
7. Назовите основные особенности взаимодействия человека и ЭВМ.
8. Дайте краткую характеристику основным типам диалога программ.
9. В чем состоит основная задача
Глава 3
ОСНОВНЫЕ ИНЖЕНЕРНЫЕ ПОДХОДЫ К СОЗДАНИЮ ПРОГРАММ
3.1. ОСНОВНЫЕ СВЕДЕНИЯ
Традиционно инженеры стремились, а некоторые из них, не снижая качества проектов, добивались значительного сокращения сроков проектирования. В начале Великой Отечественной войны начальник Центрального артиллерийского конструкторского бюро В.Г. Грабин разработал и применил методы скоростного комплексного проектирования артиллерийских систем с одновременным проектированием технологического процесса. Внедрение этого метода позволило сократить сроки проектирования, производства и испытаний артиллерийских орудий с 30 мес (1939) до 2–2,5 мес (1943), увеличить их выпуск, уменьшить стоимость, упростить эксплуатацию.
Инженерный технологический подход [20] определяется спецификой комбинации стадий разработки, этапов и видов работ, ориентированной на разные классы программного обеспечения и особенности коллектива разработчиков.
Основные группы инженерных технологических подходов и подходы для каждой из них следующие:
Подходы со слабой формализацией не используют явных технологий и их можно применять только для очень маленьких проектов, как правило, завершающихся созданием демонстрационного прототипа. К таким подходом относят так называемые ранние технологические подходы, например подход "кодирование и исправление".
Строгие (классические, жесткие, предсказуемые) подходы рекомендуется применять для средних, крупномасштабных и гигантских проектов с фиксированным объемом работ. Одно из основных требований к таким проектам — предсказуемость.
Гибкие (адаптивные, легкие) подходы рекомендуется применять для небольших или средних проектов в случае неясных или изменяющихся требований к системе. При этом команда разработчиков должна быть ответственной и квалифицированной, а заказчики должны принимать участие в разработке.
Классификация технологических подходов к созданию программ:
Подходы со слабой формализацией
Подход "кодирование и исправление"
Строгие подходы
Каскадные технологические подходы:
— классический каскадный;
— каскадно-возвратный;
— каскадно-итерационный;
— каскадный подход с перекрывающимися видами работ;
— каскадный подход с подвидами работ;
— спиральная модель.
Каркасные технологические подходы:
— рациональный унифицированный подход к видам работ.
Генетические технологические подходы:
— синтезирующее программирование;
— сборочное (расширяемое) программирование;
— конкретизирующее программирование.
Подходы на основе формальных преобразований:
— технология стерильного цеха;
— формальные генетические подходы.