- •Учебное пособие по теоретической подготовке «Технологии разработки программного обеспечения»
- •Оглавление
- •Введение
- •Введение в технологии разработки программного обеспечения
- •Основные этапы развития технологии разработки
- •Первый этап – «стихийное» программирование.
- •Второй этап – структурный подход к программированию (60-70-е годыXXв)
- •Третий этап – объектный подход к программированию (с середины 80-х годов до нашего времени)
- •Четвертый этап – компонентный подход иCase-технологии (с середины 90-х годов до нашего времени)
- •Пятый этап – разработка, ориентированная на архитектуру иCase-технологии (с началаXxIв. До нашего времени)
- •Эволюция моделей жизненного цикла программного обеспечения
- •Каскадная модель
- •Спиральная модель
- •Макетирование
- •Быстрая разработка приложений
- •Компонентно-ориентированная модель
- •Xp-процесс
- •Стандарты, регламентирующие процесс разработки программного обеспечения
- •Гост р исо 9000-2001. Системы менеджмента качества. Основные положения и словарь
- •Предисловие
- •Введение
- •Принципы менеджмента качества
- •Область применения
- •Основные положения систем менеджмента качества Обоснование необходимости систем менеджмента качества
- •Требования к системам менеджмента качества и требования к продукции
- •Подход к системам менеджмента качества
- •Процессный подход
- •Политика и цели в области качества
- •Роль высшего руководства в системе менеджмента качества
- •Документация
- •Оценивание систем менеджмента качества
- •Постоянное улучшение
- •Роль статистических методов
- •Направленность систем менеджмента качества и других систем менеджмента
- •Взаимосвязь между системами менеджмента качества и моделями совершенства
- •Гост р исо/мэк то 15504
- •Область применения
- •Состав исо/мэк то 15504
- •Принцип 1 – Ориентация организации на потребителя (Customer-FocusedOrganization)
- •Принцип 2 – Лидерство (Leadership)
- •Принцип 3 – Вовлечение персонала (Involvement of People)
- •Принцип 4 – Процессный подход (Process Approach)
- •Принцип 5 – Системный подход к административному управлению (System Approach to Management)
- •Принцип 6 – Непрерывное усовершенствование (Continual Improvement)
- •Принцип 7 – Основанный на фактах подход к принятию решений (FactualApproachtoDecisionMaking)
- •Принцип 8 – Взаимовыгодные отношения с поставщиками (Mutually beneficial supplier relationship)
- •Гост р исо/мэк 12207-99. Информационная технология. Процессы жизненного цикла программных средств
- •Введение
- •Область применения Назначение
- •Область распространения
- •Адаптация настоящего стандарта
- •Соответствие
- •Ограничения
- •Прикладное применение настоящего стандарта
- •Построение стандарта
- •Анализ проблемы и постановка задачи
- •Введение в системный анализ
- •Системные ресурсы
- •Анализ проблемы и моделирование предметной области с использованием системного подхода
- •Основные положения
- •Этап 1. Достижение соглашения об определении проблемы
- •Этап 2. Выделение основных причин – проблем, стоящих за проблемой
- •Устранение корневых причин
- •Этап 3. Выявление заинтересованных лиц и пользователей
- •Этап 4. Определение границ системы-решения
- •Этап 5. Выявление ограничений, налагаемых на решение
- •МетодологияAris
- •Организационная модель
- •Диаграмма цепочки добавленного качества
- •МоделиeEpc
- •Стандарты idef0 - idef3
- •Методология описания бизнес процессовIdef3
- •Синтаксис и семантика моделей idef3 Модели idef3
- •Диаграммы
- •Единица работы. Действие
- •Соединения
- •Декомпозиция действий
- •Требования idef3 к описанию бизнес-процессов
- •Определение сценария, границ моделирования, точки зрения
- •Определение действий и объектов
- •Последовательность и параллельность
- •Методология функционального моделированияIdef0
- •Синтаксис и семантика моделейIdef0 Модели idef0
- •Действия
- •Границы и связи
- •Туннели
- •Построение моделей idef0
- •Диаграммы
- •Цикл "эксперт-аналитик"
- •Построение моделей
- •Точка зрения
- •Границы моделирования
- •Выбор наименования контекстного блока
- •Определение стрелок на контекстной диаграмме
- •Нумерация блоков и диаграмм
- •Связь между диаграммой и ее родительским функциональным блоком
- •Два подхода к началу моделирования ("в ширину" и "в глубину")
- •Анализ требований и их формализация
- •Методы определения требований
- •Интервьюирование
- •Этапы проведения интервью
- •Мозговой штурм и отбор идей
- •Генерация идей
- •Отбор идей
- •Совместная разработка приложений (jad –Jointapplication design)
- •Роли в сеансах jad
- •Недостатки метода jad
- •Раскадровка
- •Типы раскадровок
- •Обыгрывание ролей
- •Суть метода обыгрывания ролей
- •Сценарный просмотр
- •Crc-карточки (Class-Responsibility-Collaboration, класс-обязанность-взаимодействие)
- •Быстрое прототипирование
- •Формализация требований
- •Метод вариантов использования и его применение
- •Построение модели вариантов использования
- •Спецификация вариантов использования Определение потока событий
- •Альтернативный поток событий.
- •Выявление пред- и постусловий
- •Преимущества
- •Псевдокод
- •Конечные автоматы
- •Графические деревья решений
- •Диаграммы деятельности
- •Техническое задание (гост 34.602-89)
- •Общие сведения
- •Назначение и цели создания (развития) системы
- •Требования к численности и квалификации персонала на ас
- •Требования к защите информации от несанкционированного доступа
- •Дополнительные требования
- •Требования к функциям (задачам)
- •Требования к видам обеспечения
- •Требования к математическому обеспечению системы
- •Требования к информационному обеспечению
- •Требования к лингвистическому обеспечению
- •Требования к программному обеспечению
- •Требования к техническому обеспечению
- •Требования к метрологическому обеспечению
- •Требования к организационному обеспечению
- •Требования к методическому обеспечению сапр
- •Состав и содержание работ по созданию системы
- •Порядок контроля и приемки системы
- •Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- •Требования к документированию
- •Источники разработки
- •Архитектуры программных систем
- •Планирование архитектуры
- •Архитектурно-экономический цикл
- •Программный процесс и архитектурно-экономический цикл
- •Этапы разработки архитектуры
- •Создание экономической модели системы
- •Выявление требований
- •Создание или выбор архитектуры
- •Распространение сведений об архитектуре
- •Анализ или оценка архитектуры
- •Суть программной архитектуры
- •Архитектурные образцы, эталонные модели и эталонные варианты архитектуры
- •Архитектурные структуры и представления
- •Программные структуры
- •Компонент и соединитель
- •Распределение
- •Проектирование архитектуры
- •Атрибутный метод проектирования
- •Этапы add
- •Создание макета системы
- •Документирование программной архитектуры
- •Варианты применения архитектурной документации
- •Представления
- •Выбор значимых представлений
- •Документирование представления
- •Документирование поведения
- •Документирование интерфейсов
- •Шаблон для документирования интерфейсов
- •Методы анализа архитектуры
- •Метод анализа компромиссных архитектурных решений – комплексный подход к оценке архитектуры
- •Этапы атам
- •Метод анализа стоимости и эффективности — количественный подход к принятию архитектурно-проектных решений
- •Контекст принятия решений
- •Реализация свам
- •Технология mda.
- •Использование архитектуры, управляемой моделью
- •Концепция архитектуры, управляемой моделью
- •Модельные точки зрения и моделиMda
- •Язык объектных ограниченийOcl
- •Типы данных и операцииOcl
- •Инфиксная форма записи выраженийOcl
- •Последовательности доступа к объектам в языкеOcl
- •Операции над коллекциями
- •Стандартные операции
- •Операция select
- •Операция reject
- •Выделение элементов коллекции
- •Упорядочение набора
- •Логические итераторы
- •Операции для работы со строками
- •Работа с датами
- •Возможности технологииEco
- •Введение в технологию есо
- •Модель есо
- •Пространство имен есо
- •Разработка приложений на основеEco
- •Этапы создания приложения по технологииEco
- •Создание простого mda-приложения
- •Создание модели uml
- •Создание интерфейса
- •Связывание интерфейса с моделью
- •Создание логики на ocl
- •Документирование программных систем в соответствии с гост
- •Управление документированием программного обеспечения
- •Предисловие
- •Область применения
- •Роль руководителей
- •Функции программной документации
- •Информация для управления
- •Связь между задачами
- •Обеспечение качества
- •Определение стандартов и руководств по документированию
- •Выбор модели жизненного цикла программного обеспечения
- •Определение типов и содержания документов
- •Документация разработки
- •Документация продукции
- •Документация управления проектом
- •Определение качества документов
- •Определение форматов документов
- •Определение системы обозначения документов
- •Установление процедуры документирования
- •Распределение ресурсов для документирования
- •Персонал
- •Средства
- •Финансирование
- •Планирование документирования
- •Требования к содержанию документов на автоматизированные системы
- •Общие положения
- •Требования к содержанию документов по общесистемным решениям
- •Ведомость эскизного (технического) проекта
- •Пояснительные записки к эскизному, техническому проектам
- •Описание автоматизируемых функций
- •Описание постановки задачи (комплекса задач)
- •Локальная смета и локальный сметный расчет
- •Паспорт
- •Формуляр
- •Проектная оценка надежности системы
- •Общее описание системы
- •Программа и методика испытаний (компонентов, комплексов средств автоматизации, подсистем, систем)
- •Требования к содержанию документов с решениями по организационному обеспечению
- •Описание организационной структуры
- •Методика (технология) автоматизированного проектирования
- •Технологическая инструкция
- •Руководство пользователя
- •Описание технологического процесса обработки данных
- •Требования к содержанию документов с решениями по программному обеспечению
- •Описание программного обеспечения
- •Другие разделы
- •Принципы разработки руководства программиста
- •Общие положения
- •Содержание разделов
- •Разработка руководства пользователя
- •Общие замечания
- •Содержание разделов руководства
- •Общие сведения
- •Описание применения
- •Требования к процедурам функционирования системы
- •Заключение
- •Библиографический список
Заключение
В настоящее время программная инженерия – молодая и быстро развивающаяся область. Она ориентирована на решение сложных задач связанных с организацией, содержанием и управлением процессами разработки программных систем.
Программные системы – это уникальные продукты, не имеющие физической оболочки. Но создание таких систем является одной из самых сложных задач и требует большого интеллектуального потенциала. Для решения таких задач делались попытки заимствования опыта из других областей связанных с производством материальных ценностей и области управления проектами. В результате для процесса разработки создавались совершенно новые подходы и технологии.
Современное общество уже не мыслимо без информационных систем, которые пронизывают почти все области деятельности и постоянно развиваются и совершенствуются. Улучшение качества информационных систем неразрывно связано с процессом их производства. Каждый маленький элементик этого, теперь уже, огромного процесса играет очень большое значение.
В данном курсе сделана попытка охватить весь процесс производства с точки зрения содержательной части. Процессы управления и организации – предмет изучения другого курса, который может называться «Управление и организация процесса разработки программного обеспечения».
Библиографический список
Арчибальд Р. Управление высокотехнологичными программами и проектами / Рассел Д. Арчибальд; Пер. с. Англ. Мамонтова Е.В.; Под ред. Баженова А.Д., Арефьева А.О. – 3-е изд., перераб. И доп. – М.: ДМК Пресс; Компания АйТи, 2006. – 472 с.
Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е издание. – СПб.: Питер, 2006. – 575 с.
Бек К. Экстремальное программирование: разработка через тестирование. Библиотека программиста. – СПб.: Питер, 2003. – 224 с.
Бенькович Е.С., Колесов Ю.Б., Сениченков Ю.Б. Практическое моделирование динамических систем. – СПб.: БХВ-Петербург, 2002. – 464 с.
Благодатских, В.А. Стандартизация разработки программных средств: Учеб. пособие / В.А. Благодатских, В.А. Волнин, К.Ф. Поскакалов; Под ред. О.С. Разумова. – М.: Финансы и статистика, 2003. – 288 с.
Бобровский С.И. Технологии Delphi. Разработка приложений для бизнеса. Учебный курс. – СПб.: Питер, 2007. – 720 с.
Бобровский С.И. Технологии Пентагона на службе российских программистов. Программная инженерия. – СПб.: Питер, 2003. – 222 с.
Боггс Уэнди, Боггс Майкл. UML и Rational Rose. – М.: Издательство «Лори», 2001. – 580 с.
Брауде Э. Технология разработки программного обеспечения. – СПб.: Питер, 2004. – 655 с.
Брукс Ф. Мифический человеко-месяц или как создаются программные системы. – СПб.: Символ-Плюс, 2001. – 304 с.
Буч Г.. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. – М.: «Издательство Бином», 1999. – 560 с.
Вигерс Карл. Разработка требований к программному обеспечению. – М.: Издательско-торговый дом «Русская редакция», 2004. – 576 с.
Войнов И.В. Моделирование экономических систем и процессов. Опыт построения ARIS-моделей: Монография / И.В. Войнов, С.Г. Пудовкина, А.И. Телегин; Челябинск, Изд. ЮУрГУ, 2002. – 392с.
ГОСТ 19.001-77. Единая система программной документации. Общие положения
ГОСТ 19.502-78. Единая система программной документации. Общее описание. Требования к содержанию и оформлению
ГОСТ 19.504-79. Единая система программной документации. Руководство программиста. Требования к содержанию и оформлению
ГОСТ 34.602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы
ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств
ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации пользователя программного средства
ГОСТ Р ИСО/МЭК ТО 9294-93. Информационная технология. Руководство по управлению документированием программного обеспечения
ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств)
ГОСТ Р ИСО/МЭК ТО 16326-2002. Программная инженерия. Руководство по применению ГОСТ Р ИСО/МЭК 12207 при управлении проектом
ГОСТ Р ИСО/МЭК 12119-2000. Информационная технология. Пакеты программ. Требования к качеству и тестирование
ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению
ГОСТ Р ИСО/МЭК 8631-94. Информационная технология. Программные конструктивы и условные обозначения для их представления
Грибачев К.Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. – Спб.: Питер, 2004. – 348 с.
Иванова Г.С. Технология программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с.
Камаев В.А. Технологии программирования / В.А. Камаев, В.В. Костерин; Высш. Шк., М., 2005. – 359 с.
Константайн Л., Локвуд Л. Разработка программного обеспечения. – СПб.: Питер, 2004. – 592 с.
Кратчен Филипп. Введение в Rational Unified Process. 2-е изд. – М.: Издательство дом «Вильямс». 2002 – 240 с.
Кролл П. Rational Unified Process – это легко. Руководство по RUP для практиков / П. Кролл, Ф. Крачтен; КУДИЦ-ОБРАЗ, М., 2004. – 432с.
Ларман Крэг. Применение UML и шаблонов проектирования. 2-е издание. – М.: Издательский дом «Вильямс», 2002. – 624 с.
Леонников А.В. Самоучитель UML. – 2-е изд. – СПб: БХВ-Петербург, 2004. – 432 с.
Леффингуэлл Дин, Уидриг Дон. Принципы работы с требованиями к программному обеспечению. Унифицированный подход.: – Издательский дом «Вильямс», 2002. – 448 с.
Маклаков С.В. Создание информационных систем с AllFussionModelionSuite. – М.: ДИАЛОГ-МИФИ, 2003 – 432 с.
Орлов С.А. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд. СПб.: Питер, 2003. – 480 с.
Паулк Марк, Куртис Билл, Хриссис Мэри Бет, Вебер Чарльз В., Гарсия Сьюзен М., Буш Мерелин. Модель зрелости процессов разработки программного обеспечения. – М.: Богородский печатник, 2002. – 256 с.
Полис Г. Разработка программных проектов на основе Rational Unified Process (RUP) / Г. Полис, Л. Огастин, К. Лоу, Д. Мадхар; ООО «Бином-Пресс», М., 2005. – 256с.
Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник. – СПб.: Питер, 2002. – 656с.
Рамбо Дж., Блаха М. UML2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. – СПб.: Питер, 2007. – 544с.
Садердинов А.А., Трайнев В.А. Построение комплексных программно-технических проектов интегрированных систем организационного управления (обобщение теории и практики проектирования). – М.: Издательско-книготорговый центр «Маркетинг», 2001. –287 с.
Соммервилл Иан. Инженерия программного обеспечения, 6-е издание. – М.: Издательский дом «Вильямс», 2002. – 624с.
Сухомлин В.А. Введение в анализ информационных технологий. Учебник для вузов. – М.: Горячая линия-Телеком, 2003. – 427 с.
Федотова Д.Э., Семенов Ю.Д., Чижик К.Н. CASE-технологии: Практикум. – М.: Горячая линия-Телеком, 2003. – 160с.
Фаулер М. UML. Основы, 3-е издание. – Пер. с англ. – СПб: Символ-Плюс, 2004. – 192 с.
Чарнецки К. Пораждающее программирование: методы, инструменты, применение / К. Чарнецки, У. Айзенкер; Питер, СПб, 2005. – 731с.
Черемных С.В., Семенов И.О., Ручкин В.С. Моделирование и анализ систем. IDEF-технологии: практикум. – М.: Финансы и статистика, 2002. – 192 с.
Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002. – 496 с.