
- •Тема 1.1 Программное обеспечение (по): основные понятия и определения. Классификация по. Спецификация по.
- •Тема 1.2 Жизненный цикл программного продукта. Модели жизненного цикла разработки по
- •I.Этап. Разработка алгоритма и программы.
- •II.Этап. Эксплуатация и сопровождение.
- •III.Этап. Завершение жизненного цикла.
- •Тема 1.3 Сопровождение программного обеспечения. Эволюция программных систем. Автоматизированные средства разработки по.
- •Тема 1.4 Анализ предметной области. Определение и разработка требований к программным продуктам. Определение спецификаций требований программного обеспечения.
- •Тема 1.5 Качество по и методы его контроля. Понятие качества. Характеристики качества программных средств.
- •Тема 1.6 Проектирование по и его виды. Понятие архитектуры по. Влияние архитектуры на свойства по.
- •Тема 1.7 Проектирование интерфейса пользователя. Графический и диалоговый режим
- •Тема 1.8 Разработка по. Подходы к разработке по.
- •Тема 1.9 Программирование и стиль. Качество в реализации по
- •Раздел 2. Тестирование и отладка по
- •Тема 2.1 Верификация и аттестация по
- •Тема 2.2 Разработка тестов. Методы проверки и тестирования программ и систем. Тестовое окружение
- •Тема 2.3 Обеспечение надежности по.
- •Тема 2.4 Методы обеспечения надежности на различных этапах жизненного цикла разработки по
- •Тема 2.5 Модульное тестирование. Автоматизация модульного тестирования.
- •Тема 2.6 Интеграционное тестирование. Системное тестирование. Тестирование пользовательского интерфейса.
- •Тема 2.7 Отладка по. Трансляция. Компоновка программы. Выполнение программы с целью определения логических ошибок
- •Раздел 3. . Интеграция системы
- •Раздел 4. Коллективная разработка по
- •Тема 4.1 Категории специалистов занятых разработкой и эксплуатацией программ
Тема 1.3 Сопровождение программного обеспечения. Эволюция программных систем. Автоматизированные средства разработки по.
Программные средства являются одним из наиболее гибких видов промышленных изделий и эпизодически подвергаются изменениям в течение всего времени их использования.
Иногда достаточно при корректировке программного обеспечения внести только одну ошибку для того, чтобы резко снизилась его надежность или его корректность при некоторых исходных данных.
Для сохранения и повышения качества программного обеспечения необходимо регламентировать процесс модификации и поддерживать его соответствующим тестированием и контролем качества. В результате программное изделие со временем обычно улучшается как по функциональным возможностям, так и по качеству решения отдельных задач.
Работы, обеспечивающие контроль и повышение качества, а также развитие функциональных возможностей программ, составляют процесс сопровождения. В процессе сопровождения в программное обеспечение вносятся следующие изменения, значительно различающиеся причинами и характеристиками:
— исправление ошибок — корректировка программ, выдаюіцих неправильные результаты в условиях, ограниченных техническим заданием и документацией. Исправление ошибок требуют около 20% общих затрат на сопровождение.
— регламентированная документами адаптация программного обеспечения к условиям конкретного использования, с учетом характеристик внешней среды или конфигурации аппаратуры, на которой предстоит функционировать программам. Адаптация занимает около 20% общих затрат на сопровождение.
— модернизация — расширение функциональных возможностей или улучшение характеристик решения отдельных задач в соответствии с новым или дополнительным техническим заданием на программное изделие. Модернизация занимает до 60% общих затрат на сопровождение.
Первый вид изменений (исправление ошибок) является непредсказуемым и его трудно регламентировать. Остальные виды корректировок носят упорядоченный характер и проводятся в соответствии с заранее подготавливаемыми планами и документами. Эти корректировки в наибольшей степени изменяют программные изделия и требуют наибольших затрат.
Поэтому изменения, обусловленные ошибками, в большинстве случаев целесообразно по возможности накапливать и реализовывать их, приурочивая к изменениям, регламентированным модернизациями.
Однако некоторые ошибки вызывают необходимость срочного исправления программ. В этих случаях допустимо некоторое отставание корректировки документации при более срочном и регистрируемом исправлении самих программ.
Сопровождение программ - это «ложка дегтя» для каждого программиста, всегда помеха при начале разработки какого-либо нового проекта, заставляющая отвлекаться от его разработки и возвращаться к старым программам и старым проблемам.
Что делает сопровождение программного обеспечения крайне непривлекательным? Это плохо документированный код, недостаточно полное начальное проектирование и отсутствие внешней документации.
Если все этапы жизненного цикла разработки программного обеспечения выполнялись правильно, то сопровождение не будет вызывать серьезных проблем, а будет элементарной технической поддержкой и модификацией внедренного программного продукта.
Со временем, иногда через десятки лет, сопровождение программного обеспечения прекращается. Это может быть обусловлено: разработкой более совершенных программных средств; прекращением использования сопровождаемого программного продукта; нерентабельным возрастанием затрат на его сопровождение.
Отметим, однако, что программное изделие может долго применяться кем-либо и после прекращения его сопровождения от лица разработчика, потому, что этот некто может плодотворно использовать программное изделие у себя самостоятельно, без помощи разработчика.
Для того чтобы со временем прийти к обоснованному решению о прекращении сопровождения программного обеспечения, необходимо периодически оценивать эффективность его эксплуатации, возможный ущерб от отмены сопровождения. В некоторых случаях решение о прекращении сопровождения принимается при противодействии со стороны отдельных пользователей.