- •230100.62 (09.03.01) «Информатика и вычислительная техника» профиля подготовки «Программное обеспечение вычислительной техники и
- •231000.62 (09.03.04) «Программная инженерия» профиля подготовки «Разработка программно-информационных систем»
- •1) 230100.62 (09.03.01) «Информатика и вычислительная техника»:
- •2) 231000.62 (09.03.04) «Программная инженерия»:
- •Лекция №1. Основные понятия и определения
- •Лекция №2. Прикладной системный анализ при разработке по. Принципы структурного анализа. Процедура требований.
- •2.1 Проблема сложности ис
- •2.2 Основные понятия структурного анализа
- •2.3 Принципы структурного анализа
- •2.4 Группы средств структурного анализа и их взаимоотношения
- •2.5 Краткий список структурных методологий по группам средств моделирования
- •Лекция №3. Моделирование функций по. Нотация idef0. Case-средство bpWin
- •3.1 Диаграммы idef0
- •3.2 Виды связей в idef0
- •3.3 Диаграмма дерева узлов
- •3.4 Case-средство bpWin
- •Лекция №4. Описание динамики системы. Нотация idef3
- •4.1 Основные символы idef3
- •4.2 Виды связей в idef3
- •4.3 Пример диаграммы idef3
- •Лекция №5. Постановка требований к данным. Словари данных. Моделирование данных в нотации idef1x. Case-средство erWin
- •5.1 Словарь данных
- •5.2 Определение структуры данных для информационных потоков
- •5.3 Моделирование данных в нотации idef1x
- •5.3.1 Базовые понятия erd
- •5.3.2 Виды сущностей в idef1x
- •5.3.3 Виды связей в idef1x
- •Лекция №6. Стандарт онтологического исследования idef5
- •6.1 Основные принципы онтологического анализа
- •6.2 Концепции idef5
- •6.3 Язык описания онтологий в idef5
- •6.4 Виды схем и диаграмм idef5
- •Лекция №7. Постановка требований к интерфейсу по. Понятие Usability.
- •7.1 Эргономические цели и показатели качества программного продукта
- •7.2 Проблемы, возникающие на этапе разработки прототипа gui и варианты их решения
- •7.3 Принципы реализации пользовательского интерфейса
- •Лекция №8. Управление требованиями к программному продукту. Case-средство Requisite Pro.
- •8.1 Нормативная основа
- •8.2 Основные положения
- •8.2.1 Цели управления требованиями
- •8.2.2 Участники управления требованиями
- •8.2.3 Политика в области управления требованиями
- •8.3 Обеспечение процессов управления требований
- •8.3.1 Распределение ответственности
- •8.4 Действия по управлению требованиями
- •8.4.1 Анализ требований
- •8.4.2 Разработка материалов проекта на основе требований
- •8.4.3 Контроль изменений требований
- •8.5 Измерения
- •8.6.2 Контроль со стороны руководителя проекта
- •8.6.3 Контроль со стороны гок
- •8.7 Стандарт оформления требований
- •8.7.1 Шаблон для разработки требований
- •8.7.2 Правила оформления требований
- •8.7.3 Структурирование требований
- •8.8 Показатели качества требований
- •8.9 Начало работы с RequisitePro
- •Лекция №9. Тестирование приложений. Функциональное тестирование, нагрузочное тестирование. Case-средства Rational Functional Tester, Rational Performance Tester.
- •9.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования по
- •9.2 Использование среды автоматизированного тестирования Platinum testBytes
- •9.3 Методы обеспечения качества и надежности программных средств
- •9.4 Использование case для повышения качества по
- •9.5 Влияние стандартов открытых систем на качество по
- •9.6 Повышение качества по путем тестирования
- •9.6.1 Основные особенности процесса тестирования по
- •9.6.2 Организационные особенности тестирования
- •9.6.3 Сертификация по
- •9.6.4 Организация и планирование тестирования для обеспечения качества по
- •9.7 Важнейшие разделы iso 9003
- •Документирование системы качества
- •Корректирующие действия
- •Лекция №10. Стандарты, регламентирующие разработку по
- •10.1 Стандарт iso 12207:1995
- •10.3 Серия стандартов гост 34-ххх «Информационная технология»
- •Заключение
- •Библиографический список
- •Приложения Приложение а. Перечень ключевых слов
- •660049, Г. Красноярск, пр. Мира, 82
Попов А.А.
Доррер М.Г.
Лопатеева О.Н.
ТЕХНОЛОГИЯ РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Красноярск 2014
Министерство образования и науки российской Федерации
ФГБОУ ВПО «Сибирский государственный технологический университет
ТЕХНОЛОГИЯ РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Утверждено редакционно-издательским советом СибГТУ
в качестве курса лекций
для студентов направлений:
230100.62 (09.03.01) «Информатика и вычислительная техника» профиля подготовки «Программное обеспечение вычислительной техники и
автоматизированных систем»,
231000.62 (09.03.04) «Программная инженерия» профиля подготовки «Разработка программно-информационных систем»
очной и заочной форм обучения
Красноярск 2014
УДК 681.5
Попов, А.А. Технология разработки программного обеспечения: Курс лекций. Направления: 230100.62 (09.03.01) «Информатика и вычислительная техника» профиля подготовки «Программное обеспечение вычислительной техники и автоматизированных систем», 231000.62 (09.03.04) «Программная инженерия» профиля подготовки «Разработка программно-информационных систем», очной и заочной форм обучения / А.А. Попов., Доррер, М.Г., Лопатеева, О.Н. – Красноярск : СибГТУ, 2014. - 104 с.
Курс лекций предназначен для приобретения теоретических навыков в применении средств, позволяющих разрабатывать программные продукты на современном технологическом уровне, а также ориентироваться в CASE-средствах и системах управления проектами.
В курсе лекций доступно и наглядно рассмотрены жизненный цикл программных средств, стратегии разработки и реализующие их модели жизненного цикла. Описаны подходы к построению формальных моделей предметной области при разработке ПО, методы и средства управления требованиями к ПО, принципы проектирования и реализации пользовательского интерфейса. Описаны классические и современные методологии и технологии анализа и проектирования программных средств. Приведены основы организации и классификация CASE-средств.
Рекомендуется студентам, специализирующимся в области разработки программного обеспечения.
Утверждено на заседании кафедры системотехники 16.10.2014 г. протокол № 7.
Рецензент:
- доцент, к.т.н. А.В. Гуменникова (ФГБОУ ВПО «СибГАУ»).
- доцент, к.т.н. Т.Г. Зингель (научно-методический совет СибГТУ).
© ФГБОУ ВПО “Сибирский государственный технологический университет”, 2014
© Попов А.А., 2014
© Доррер М.Г., 2014
© Лопатеева О.Н., 2014
Содержание
Лекция №1. Основные понятия и определения 7
Лекция №2. Прикладной системный анализ при разработке ПО. Принципы структурного анализа. Процедура требований. 16
2.1 Проблема сложности ИС 19
2.2 Основные понятия структурного анализа 20
2.3 Принципы структурного анализа 23
2.4 Группы средств структурного анализа и их взаимоотношения 26
2.5 Краткий список структурных методологий по группам средств моделирования 30
Лекция №3. Моделирование функций ПО. Нотация IDEF0. CASE-средство BPWin 34
3.1 Диаграммы IDEF0 37
3.2 Виды связей в IDEF0 38
3.3 Диаграмма дерева узлов 42
3.4 CASE-средство BPWin 43
Лекция №4. Описание динамики системы. Нотация IDEF3 45
4.1 Основные символы IDEF3 45
4.2 Виды связей в IDEF3 47
4.3 Пример диаграммы IDEF3 48
Лекция №5. Постановка требований к данным. Словари данных. Моделирование данных в нотации IDEF1x. CASE-средство ERWin 49
5.1 Словарь данных 49
5.2 Определение структуры данных для информационных потоков 50
5.3 Моделирование данных в нотации IDEF1x 51
5.3.1 Базовые понятия ERD 51
5.3.2 Виды сущностей в IDEF1x 52
5.3.3 Виды связей в IDEF1X 53
56
Лекция №6. Стандарт онтологического исследования IDEF5 57
6.1 Основные принципы онтологического анализа 58
6.2 Концепции IDEF5 59
6.3 Язык описания онтологий в IDEF5 59
6.4 Виды схем и диаграмм IDEF5 61
Лекция №7. Постановка требований к интерфейсу ПО. Понятие Usability. 66
7.1 Эргономические цели и показатели качества программного продукта 67
7.2 Проблемы, возникающие на этапе разработки прототипа GUI и варианты их решения 69
7.3 Принципы реализации пользовательского интерфейса 72
Лекция №8. Управление требованиями к программному продукту. CASE-средство Requisite Pro. 73
8.1 Нормативная основа 74
8.2 Основные положения 76
8.2.1 Цели управления требованиями 76
8.2.2 Участники управления требованиями 76
8.2.3 Политика в области управления требованиями 77
8.3 Обеспечение процессов управления требований 78
8.3.1 Распределение ответственности 78
8.4 Действия по управлению требованиями 82
8.4.1 Анализ требований 82
8.4.2 Разработка материалов проекта на основе требований 83
8.4.3 Контроль изменений требований 83
8.5 Измерения 84
8.5.1 Показатель важности 84
8.5.2 Стабильность 84
8.5.3 Статус требований 85
8.5.4 Степень выполнения требований 85
8.5.5 Трудоемкость 85
8.6 Верификация 85
8.6.1 Контроль со стороны руководства 85
8.6.2 Контроль со стороны руководителя проекта 85
8.6.3 Контроль со стороны ГОК 86
8.7 Стандарт оформления требований 86
8.7.1 Шаблон для разработки требований 86
8.7.2 Правила оформления требований 86
8.7.3 Структурирование требований 87
8.8 Показатели качества требований 87
8.9 Начало работы с RequisitePro 90
Лекция №9. Тестирование приложений. Функциональное тестирование, нагрузочное тестирование. CASE-средства Rational Functional Tester, Rational Performance Tester. 91
9.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО 94
9.2 Использование среды автоматизированного тестирования Platinum TESTBytes 95
9.3 Методы обеспечения качества и надежности программных средств 96
9.4 Использование CASE для повышения качества ПО 96
9.5 Влияние стандартов открытых систем на качество ПО 97
9.6 Повышение качества ПО путем тестирования 98
9.6.1 Основные особенности процесса тестирования ПО 99
9.6.2 Организационные особенности тестирования 99
9.6.3 Сертификация ПО 100
9.6.4 Организация и планирование тестирования для обеспечения качества ПО 101
9.7 Важнейшие разделы ISO 9003 103
Документирование системы качества 104
Корректирующие действия 104
Лекция №10. Стандарты, регламентирующие разработку ПО 105
10.1 Стандарт ISO 12207:1995 106
10.2 ISO 15504 SPICE 110
10.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология» 113
Заключение 114
Библиографический список 115
Приложения 117
Приложение А. Перечень ключевых слов 117
Приступая к изучению дисциплины «Технология разработки и программного обеспечения (ПО)», определимся целями, и задачами, которые встанут перед нами в данном курсе. В результате изучения дисциплины студенты должны:
Знать современные технологии разработки программного обеспечения, уметь использовать их при реализации реальных программных проектов.
Знать методологии анализа требований, проектирования и производства ПО, уметь использовать программные средства, поддерживающие данные методологии.
Знать методы управления технологическим циклом разработки ПО, владеть методами управления проектами в данной отрасли и методами организации и управления коллективом разработчиков ПО.
Иметь опыт выбора, разработки, оценки качества и анализа эффективности программного обеспечения для решения задач в различных предметных областях.
Иметь представление о проблемах и направлениях развития технологии разработки ПО, об основных методологиях и средствах автоматизации по фазам жизненного цикла ПО.
Уметь использовать средства коллективной разработки ПО, иметь представление об их текущем состоянии и перспективах развития.
В результате освоения дисциплины «Технология разработки ПО» формируются следующие профессиональные компетенции (ПК):
