Рассматриваются основные понятия и определения, классификация программного обеспечения, этапы создания программного продукта в рамках жизненного цикла, освещается современное состояние технологий разработки программных продуктов. Изложены существующие подходы к оценке качества процессов создания программного обеспечения, произведен анализ требований и определение спецификаций программного обеспечения. Большое внимание уделено вопросам проектирования ПО, его надежности, коллективной разработки с помощью современных систем контроля версий.
Теоретический материал сопровождается практикумом в виде лабораторных работ по изложенной тематике.
Предназначено для студентов и преподавателей высших учебных заведений технического профиля, а также для специалистов любой предметной области, проявивших интерес к современному состоянию методов и средств программирования.
Инструментарий технологии программирования.
Средства для создания приложений — совокупность языков и систем программирования, инструментальные среды пользователя, а также различные программные компоненты для отладки и поддержки создаваемых программ.
Язык программирования — это формализованный язык для описания алгоритма решения задач на компьютере. Языки программирования можно условно разделить на следующие классы:
• машинные языки — это языки, воспринимаемые аппаратной частью компьютера (машинные коды);
• машинно-ориентированные языки, отражающие структуру конкретного типа компьютера (ассемблер);
• процедурно-ориентированные языки — это языки, в которых имеется возможность описания программы как совокупности процедур, или подпрограмм (Си, Паскаль и др.);
• проблемно-ориентированные языки, предназначенные для решения задач определенного класса (ЛИСП, ПРОЛОГ).
Другой классификацией языков является их деление на языки, ориентированные на реализацию основ структурного программирования, основанного на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных различных программных модулей, и объектно-ориентированные языки, поддерживающие понятие объектов, их свойств и методов обработки.
Содержание.
Введение.
Глава 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.
Литература.
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Технология разработки программного обеспечения, Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д., 2008 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Гагарина :: Кокорева :: Виснадул
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- JavaScript, сильные стороны, Крокфорд Д., 2012
- iOS, приемы программирования, Нахавандипур В., 2014
- HTML5, разработка приложений для мобильных устройств, Вейл Э., 2015
- ES6 и не только, Симпсон К., 2017
Предыдущие статьи:
- Теория и практика неопределенного программирования, Лю Б., 2005
- Современный учебник JavaScript, часть 3, Кантор И.
- Современный учебник JavaScript, часть 2, Кантор И.
- Современный учебник JavaScript, часть 1, Кантор И.