URSS.ru Магазин научной книги
Обложка Макаровских Т.А. Проектирование программных средств Обложка Макаровских Т.А. Проектирование программных средств
Id: 254930
699 р.

Проектирование программных средств Изд. стереотип.

URSS. 2020. 362 с. ISBN 978-5-397-07066-9.
Типографская бумага

Аннотация

Данное учебное пособие является дополнением к книге "Документирование программного обеспечения". В нем собрана информация по некоторым разделам программной инженерии, влияющим на процесс документирования, являющихся для него фундаментом. В частности, это вопросы организации жизненного цикла программного средства, тестирования программ, исследования надежности. Отдельные главы пособия посвящены экономическим вопросам программной инженерии... (Подробнее)


Оглавление
top
Введение
1. Особенности создания программных средств (ПС)
 1.1. Специфические особенности ПС. ПС - новый вид товарной продукции
  1.1.1. Понятие ПС
  1.1.2. Специфика разработки ПС
  1.1.3. Программное обеспечение - новый вид товарной продукции
 1.2. Жизненный цикл ПС и его основные этапы
  1.2.1. Основные процессы жизненного цикла ПС
  1.2.2. Вспомогательные процессы жизненного цикла
  1.2.3. Организационные процессы жизненного цикла
  1.2.4. Стандартизация жизненного цикла ПС
  1.2.5. Адаптация процессов и работ в стандартах жизненного цикла ПС к характеристикам конкретных проектов
  1.2.6. Модели жизненного цикла ПС
 1.3. Анализ и разработка требований к ПС
  1.3.1. Определение и категории требований
  1.3.2. Разработка требований
  1.3.3. Анализ требований
  1.3.4. Документирование требований
 1.4. Определение целей создания ПС
  1.4.1. Разновидности целей
  1.4.2. Общие правила постановки целей
 1.5. Разработка внешних спецификаций на ПС
 1.6. Цели и порядок проектирования ПС
  1.6.1. Методическая, технологическая, инструментальная и организационная поддержка процесса проектирования
  1.6.2. Этапы проектирования сложных ПС
 1.7. Модульная структура ПС
  1.7.1. Основные характеристики программного модуля
  1.7.2. Методы разработки структуры программы
 1.8. Внешнее проектирование модулей
 1.9. Стиль программирования
2. Тестирование ПС
 2.1. Принципы тестирования ПС.
 Проектирование теста
  2.1.1. Принципы тестирования ПС
  2.1.2. Виды тестирования ПС
  2.1.3. Проектирование теста
 2.2. Общая характеристика методов тестирования
  2.2.1. Статические методы тестирования
  2.2.2. Динамические методы тестирования
  2.2.3. Функциональное тестирование
  2.2.4. Тестирование базового пути
 2.3. Тестирование модулей
  2.3.1. Пошаговое и монолитное тестирование
  2.3.2. Восходящее тестирование
  2.3.3. Нисходящее тестирование
  2.3.4. Метод сандвича
  2.3.5. Тестирование сопряжения и автономное тестирование
 2.4. Тестирование комплексов программ
 2.5. Отладка программ
3. Надежность ПС
 3.1. Определение надежности ПС
  3.1.1. Оценка надежности ПС
  3.1.2. Основные понятия в проблематике надежности ПС
  3.1.3. Факторы, определяющие надежность ПС
 3.2. Показатели надежности программного средства
 3.3. Факторы надежности ПС
 3.4. Общая характеристика моделей надежности ПС
  3.4.1. Модель надежности ПС
  3.4.2. Классификация моделей надежности
  3.4.3. Классификация Гоэла
 3.5. Ошибки ПС и их причины
  3.5.1. Неправильный перевод как причина ошибок
  3.5.2. Ошибки вычислений
  3.5.3. Ошибки обработки и интерпретации данных
  3.5.4. Ошибки пользовательского интерфейса
 3.6. Классификация программных ошибок
  3.6.1. Ошибки пользовательского интерфейса
  3.6.2. Ошибки обработки граничных условий
  3.6.3. Ошибки управления потоком
  3.6.4. Ошибки передачи и интерпретации данных
  3.6.5. Ситуация гонок
  3.6.6. Контроль версий и идентификаторов
  3.6.7. Ошибки тестирования
  3.6.8. Классификация ошибок с точки зрения тестировщика
  3.6.9. Классификация ошибок по степени их критичности
  3.6.10.  Классификация ошибок в зависимости от их места в жизненном цикле программного изделия
  3.6.11.  Немного юмора
 3.7. О моделях надежности программного обеспечения
 3.8. Эмпирические модели надежности
  3.8.1. Модель сложности
  3.8.2. Модель, определяющая время доводки программ
 3.9. Динамические модели надежности
  3.9.1. Модель Шумана
  3.9.2. Модель La Padula
  3.9.3. Модель Джелинского-Моранды
  3.9.4. Модель Шика-Волвертона
  3.9.5. Модель Муса
  3.9.6. Модель переходных вероятностей
  3.9.7. Модель Гоэл-Окимото
 Заключение
 3.10. Статические модели надежности
  3.10.1.  Модель Миллса
  3.10.2.  Модель Лилова
  3.10.3.  Простая интуитивная модель
  3.10.4.  Модель Коркорэна
  3.10.5.  Модель Нельсона
 Заключение
4. Экономические вопросы программной инженерии
 4.1. Особенности определения экономической эффективности ПС
 4.2. Расчет экономического эффекта при производстве ПС
  4.2.1. Технико-экономическое обоснование проектов ПС
  4.2.2. Эффективность технологий проектирования ПС
 4.3. Расчет экономического эффекта при применении ПС
 4.4. Расчет коэффициента экономической эффективности и срока окупаемости капитальных вложений ПС
 4.5. Цели технико-экономического анализа разработки ПС
 4.6. Факторы, определяющие затраты на создание ПС
  4.6.1. Факторы, определяющие затраты на разработку ПС
  4.6.2. Методики оценивания технико-экономических показателей
 4.7. Составляющие затрат на разработку ПС
 4.8. Методы сбора и обработки данных о разработках ПС
 4.9. Трудоемкость, длительность, стоимость разработки ПС
  4.9.1. Трудоемкость разработки
  4.9.2. Оценка функционального размера информационной системы
  4.9.3. Оценка длительности разработки информационной системы
  4.9.4. Оценка стоимости разработки информационных систем
  4.9.5. Оценка трудоемкости и стоимости процесса сопровождения информационной системы
 4.10. Методы обеспечения технологической безопасности ПС и данных
  4.10.1.  Контрольно-испытательные методы анализа безопасности ПС
  4.10.2.  Логико-аналитические методы контроля безопасности ПС
5. Сертификация и стандартизация ПС
 5.1. Задачи и проблемы сертификации ПС
  5.1.1. Определение сертификации
  5.1.2. Проблемы сертификации ПС
 5.2. Цели и виды сертификации
 5.3. Виды сертификационных испытаний программ
 5.4. Методы, технология, средства обеспечения сертификации ПС
  5.4.1. Методы сертификации программных средств
  5.4.2. Технология сертификации
  5.4.3. Средства обеспечения сертификации ПС
 5.5. Стандарты сертификации ПС
 5.6. Задача количественной оценки качества ПС. Виды метрик
  5.6.1. Основные направления применения метрик
  5.6.2. Метрические шкалы
 5.7. Показатели качества ПС. Стандарты, регламентирующие показатели качества ПС
  5.7.1. Показатели качества ПС
  5.7.2. Стандарты, регламентирующие показатели качества ПС
  5.7.3. Выбор показателей качества
  5.7.4. Оценка качества
 5.8. Понятие сложности, основные компоненты сложности
 5.9. Оценка сложности программного средства
  5.9.1. Предварительная оценка сложности программы на этапе разработки спецификации требований к программе
  5.9.2. Предварительная оценка сложности на этапе определения архитектуры
  5.9.3. Критерии оценки компьютерных программ и баз данных
  5.9.4. Метрики размера программ
  5.9.5. Метрики сложности потока управления программ
  5.9.6. Метрики сложности потока данных
 5.10. Основные понятия и виды корректности программ
  5.10.1.  Определение корректности
  5.10.2.  Виды корректности
  5.10.3.  Аналитическая проверка корректности
  5.10.4.  Типы эталонов, методы измерений и проверки корректности программ

Введение
top

Данное учебное пособие является дополнением к книге "Документирование программного обеспечения". В нем собрана информация по некоторым разделам программной инженерии, которые влияют на процесс документирования и являются для него фундаментом.

Как и книга "Документирование программного обеспечения", данное пособие является подробной реферативной подборкой материалов, так или иначе связанных с процессом проектирования и документирования программного средства.

В настоящее время существует большое количество книг по программной инженерии, проектированию программных средств различного уровня сложности. Следует, правда, заметить, что основной объем информации, посвященной данным вопросам, издан в качестве учебных пособий в издательствах университетов, следовательно, материал, изложенный в этих книгах, доступен очень узкому кругу читателей. На просторах интернета можно также встретить немало информации, касающейся данных аспектов. Однако эта информация представлена "на языке интернета", в фамильярной манере, с использованием большого числа жаргонизмов. Такие публикации, с одной стороны, понятны читателю. С другой стороны, стиль изложения оставляет желать лучшего и ссылаться на подобные публикации при написании официальных документов не солидно. Что касается книг, предлагаемых центральными издательствами, то большинство из них являются переводными учебниками и, следовательно, освещают в основном зарубежный опыт. Более того, большинство книг посвящено достаточно узким аспектам: только стандартизации, только экономике, только проектированию. В данном пособии последовательно представлен весь процесс проектирования программного средства с исчерпываю- щими ссылками на упомянутые только что узконаправленные источники, где можно более подробно изучить тот или иной вопрос. Что касается процесса документирования, в данном пособии он рассмотрен лишь вскользь. Более подробно его аспекты представлены в книге данного автора "Документирование программного обеспечения".

Так, первая глава настоящего учебного пособия посвящена рассмотрению особенностей создания программных средств. Здесь вводится вся используемая в дальнейшем терминология: программное средство, жизненный цикл, стандартизация... Рассматриваются различные модели жизненного цикла, цели создания программных средств, порядок проектирования. Приводится анализ требований к программным средствам и описывается процесс разработки этих требований.

Во второй главе рассматриваются вопросы, посвященные тестированию программных средств, тестированию программных модулей, отладке программ, испытаниям и сопровождению программных средств. Рассматривается место документации в этом сложном процессе.

Третья глава посвящена надежности программных средств и рассмотрению различных моделей надежности.

Экономические вопросы программной инженерии, в частности особенности определения экономической эффективности создания программного средства, технико-экономическое обоснование проектов программного средства, расчет коэффициента экономической эффективности капитальных вложений и пр., рассматриваются в четвертой главе.

Пятая глава посвящена вопросам сертификации и стандартизации программных средств.

Очевидно, что рассматриваемые в данном пособии принципы проектирования и документирования программного средства никогда не будут реализованы именно в таком виде. Если руководствоваться абсолютно всем приведенным здесь при создании достаточно простой программы, можно оказаться попросту погребенным под кипой никому не нужных руководств и документации, можно окружить себя толпой сотрудников, которые будут работать от силы пару дней в месяц в ожидании дальнейших заказов либо распоряжений. Следование абсолютно всем рекомендациям учебного пособия приемлемо для создания крупномасштабных проектов. Но в любом случае, рекоменду- ется в первую очередь руководствоваться правилами здравого смысла и ориентироваться на особенности разрабатываемого проекта!

Данное пособие разрабатывалось в качестве дополнительного для изучения курса "Документирование программного обеспечения". В то же время рассмотренные в пособии математические модели могут быть исследованы и в других курсах, преподаваемых на направлениях, связанных с прикладной математикой и информационными технологиями. На основе некоторой информации учебного пособия возможно написание дипломных и научно-исследовательских работ.


Об авторе
top
photoМакаровских Татьяна Анатольевна
Доктор физико-математических наук, доцент, профессор кафедры «Системное программирование» Южно-Уральского государственного университета. В 2003 г. с отличием окончила ЮУрГУ по специальности «Прикладная математика». В 2006 г. защитила кандидатскую диссертацию по специальности «Теоретические основы информатики» в Вычислительном центре имени А. А. Дородницына РАН. В 2020 г. защитила докторскую диссертацию по той же специальности в ЮУрГУ. Является автором более 100 научных публикаций, 7 учебных пособий, монографии «Маршруты-покрытия специального вида в графах: Теоретические основы и применение в ресурсосберегающих технологиях» (М.: URSS), а также более 10 зарегистрированных программ для ЭВМ.