- Артикул:00-01016853
- Автор: Гагарина Л.Г.
- ISBN: 978-5-8199-0342-1
- Обложка: Твердый переплет
- Издательство: Форум (все книги издательства)
- Город: Москва
- Страниц: 400
- Формат: 60х90/16
- Год: 2017
- Вес: 486 г
Рассматриваются основные понятия и определения, классификация программного обеспечения, этапы создания программного продукта в рамках жизненного цикла, освещается современное состояние технологий разработки программных продуктов. Изложены существующие подходы к оценке качества процессов создания программного обеспечения, произведены анализ требований и определение спецификаций программного обеспечения. Большое внимание уделено вопросам проектирования ПО, его надежности, коллективной разработки с помощью современных систем контроля версий.
Теоретический материал сопровождается практикумом в виде лабораторных работ по изложенной тематике.
Предназначено для студентов и преподавателей высших учебных заведений технического профиля, а также для специалистов любой предметной области, проявивших интерес к современному состоянию методов и средств программирования.
Оглавление
Введение
Глава 1. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
1.1. Технология программирования в историческом аспекте
1.2. Основные понятия и определения
1.3. Классификация программного обеспечения
1.3.1. Системное программное обеспечение
1.3.2. Инструментарий технологии программирования
1.3.3. Пакеты прикладных программ
Глава 2. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ПОДХОДЫ
2.1. Особенности создания программного продукта
2.1.1. Принципы работы с требованиями к программному обеспечению. Проблематика проектирования
2.1.2. Оценка стоимости ошибок
2.1.3. Управление требованиями
2.1.4. Последовательность работы с требованиями. Анализ проблемы
2.1.5. Преграды на пути выявления требований
2.2. Оценка качества процессов создания программного обеспечения
2.2.1. Серия стандартов ISO 9000
2.2.2. СММ
2.2.3. Процесс сертификации программ на базе информации об их использовании
2.3. Жизненный цикл программы
2.3.1. Понятие технологии разработки программы
2.3.2. Основа разработки программного обеспечения
2.3.3. Модели жизненного цикла
2.3.4. Rational Objectory Process — модель жизненного цикла (методология объектно-ориентированного программирования)
2.3.5. Жизненный цикл UML (Rational Objectory Process)
2.3.6. Специфицирование и планирование
2.3.7. Процесс разработки
2.3.8. Выпуск продукта и механизмы обратной связи
Глава 3. АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3.1. Определение требований к программным продуктам
3.1.1. Функциональные требования
3.1.2. Эксплуатационные требования
3.2. Выбор архитектуры программного обеспечения
3.3. Структура и формат данных. Статические, полустатические и динамические структуры
3.3.1. Классификация структур данных
3.3.2. Простые структуры данных
3.3.3. Статические структуры данных
3.3.4. Полустатические структуры данных
3.3.5. Динамические структуры данных
3.4. Модульное программирование
3.4.1. Понятие модуля
3.4.2. Основные характеристики программного модуля
3.4.3. Модульная структура программных продуктов
3.4.4. Методы разработки при модульном программировании
3.5. Анализ требований и определение спецификаций при структурном подходе
3.5.1. Спецификации процессов
3.5.2. Словарь терминов
3.5.3. Диаграммы переходов состояний (SDT)
3.5.4. Функциональные диаграммы
3.5.5. Диаграммы потоков данных (DFD)
3.5.6. Диаграммы сущность—связь
3.6. Анализ требований и определение спецификаций при объектном подходе
3.6.1. Некоторые теоретические сведения о UML — унифицированном языке моделирования
3.6.2. Определение прецедентов (вариантов использования)
3.6.3. Построение концептуальной модели предметной области
3.6.4. Описание поведения системы. Диаграммы последовательностей, деятельности и состояний
Глава 4. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
4.1. Проектирование программного обеспечения при структурном подходе
4.1.1. Структурная схема разрабатываемого программного обеспечения
4.1.2. Функциональная схема
4.1.3. Метод пошаговой детализации при составлении алгоритмов
4.1.4. Структурные карты Константайна
4.1.5. Структурные карты Джексона
4.1.6. CASE-технологии
4.1.7. Ускорение разработки программного обеспечения. Методология RAD
4.2. Проектирование программного обеспечения при объектном подходе
4.2.1. Разработка структуры программного обеспечения при объектном подходе
4.2.2. Диаграммы кооперации
4.3. Экстремальное программирование
4.3.1. Основополагающие практики ХР
4.3.2. Преимущества простого дизайна
4.3.3. Простой дизайн
4.3.4. Рефакторинг и принцип YAGNI
4.3.5. Наращивание архитектуры
4.3.6. UML и ХР
4.3.7. Суть проектирования. Программирование и тестирование
Глава 5. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММ
5.1. Термины и определения
5.2. Тестирование «белого ящика» и «черного ящика»
5.3. Порядок разработки тестов
5.4. Автоматизация тестирования
5.5. Модульное тестирование
5.6. Интеграционное тестирование
5.7. Системное тестирование
5.8. Эффективность и оптимизация программ
5.9. Стиль программирования
5.9.1. Основные принципы форматирования
5.9.2. Способы форматирования
5.10. Надежность программного обеспечения
5.10.1. Количественные характеристики надежности программ
5.10.2. Методы оценки и измерения характеристик надежности
5.10.3. Преимущества парного программирования
5.11. Отладка программ
Глава 6. СОПРОВОЖДЕНИЕ ПРОГРАММ
6.1. Виды программных документов
6.2. Пояснительная записка
6.3. Руководство пользователя
6.4. Руководство системного программиста
Глава 7. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
7.1. Инструментальные средства разработки программ
7.1.2. Выбор языка программирования
7.1.3. Выбор среды программирования
7.2. Технологии программирования
7.2.1. Объектно-ориентированное программирование
7.2.2. Платформа JAVA и .NET
7.3. Защита программных продуктов
7.3.1. Основные сведения о защите программных продуктов
7.3.2. Криптографические методы защиты информации
7.3.3. Программные системы защиты от несанкционированного копирования
7.3.4. Правовые методы защиты программных
продуктов и баз данных
Глава 8. КОЛЛЕКТИВНАЯ РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
8.1. Пакеты прикладных программ
8.1.1. Система контроля версий Microsoft Visual SourceSafe
8.1.2. Система контроля версий Subversion
Глава 9. ЭКОНОМИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ И ИСПОЛЬЗОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ
9.1. Оценка стоимости разработки программного обеспечения
9.1.1. Линейный метод
9.1.2. Метод функциональных точек
9.1.3. Оценка с использованием эмпирических данных
9.2. Методы оценки эффективности ПО на этапе эксплуатации
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Лабораторная работа № 1. Этапы разработки программного обеспечения при структурном подходе к программированию. Стадия «Техническое задание»
Лабораторная работа № 2. Структурный подход к программированию. Стадия «Эскизный проект»
Лабораторная работа № 3. Структурный подход к программированию. Стадия «Технический проект»
Лабораторная работа № 4. Этапы разработки программного обеспечения. Стадия «Реализация»
Лабораторная работа № 5. Тестирование программ методами «белого ящика»
Лабораторная работа № 6. Использование технологий OLE, СОМ и ActiveX
Лабораторная работа № 7. Создание сетевых приложений на Delphi с использованием Windows Sockets API
Лабораторная работа № 8. Проектирование программной системы при объектном подходе к программированию
Лабораторная работа № 9. Динамические структуры данных
Лабораторная работа № 10. Объектно-ориентированное программирование (ООП)
ПРИЛОЖЕНИЯ
Приложение 1. Варианты заданий
Приложение 2. Пример разработки технического задания на программный продукт
Приложение 3. Пример технического задания на разработку
Приложение 4. Пример эскизного проекта
Приложение 5. Листинги программ к лабораторной работе № 6
Литература
Предметный указатель