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

Рис. 3.1. Классический каскадный подход
Данный подход может быть рекомендован к применению в тех проектах, где в самом начале все требования могут быть сформулированы точно и полно, например, в задачах вычислительного характера. Достаточно легко при таком технологическом подходе вести планирование работ и формирование бюджета. Основным недостатком классического каскадного подхода является отсутствие гибкости.
Каскадно-возвратный подходпреодолевает недостаток классического подхода благодаря возможности возврата к предыдущим стадиям и пересмотру или уточнению ранее принятых решений (рис. 3.2). Каскадно-возвратный подход отражает итерационный характер разработки программного обеспечения и в значительной степени реальный процесс создания программного обеспечения, в том числе и существенное запаздывание с достижением результата. На задержку оказывают существенное влияние корректировки при возвратах.
Читать дальшеИнтервал:
Закладка: