Файл: Учебное пособие.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2020

Просмотров: 6447

Скачиваний: 15

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

1.Введение в технологии разработки программного обеспечения

1.1.Основные этапы развития технологии разработки

1.1.1.Первый этап – «стихийное» программирование.

1.1.2.Второй этап – структурный подход к программированию (60-70-е годы XX в)

1.1.3.Третий этап – объектный подход к программированию (с середины 80-х годов до нашего времени)

1.1.4.Четвертый этап – компонентный подход и CASE-технологии (с середины 90-х годов до нашего времени)

1.1.5.Пятый этап – разработка, ориентированная на архитектуру и CASE-технологии (с начала XXI в. до нашего времени)

1.2.Эволюция моделей жизненного цикла программного обеспечения

1.2.1.Каскадная модель

1.2.2.Спиральная модель

1.2.3.Макетирование

1.2.4.Быстрая разработка приложений

1.2.5.Компонентно-ориентированная модель

1.2.6.XP-процесс

1.3.Стандарты, регламентирующие процесс разработки программного обеспечения

1.3.1.ГОСТ Р ИСО 9000-2001. Системы менеджмента качества. Основные положения и словарь

1.3.1.1.Предисловие

1.3.1.2.Введение

1.3.1.3.Область применения

1.3.1.4.Основные положения систем менеджмента качества

1.3.2.ГОСТ Р ИСО/МЭК ТО 15504

1.3.2.1.Обзор

1.3.2.2.Область применения

1.3.2.3.Состав ИСО/МЭК ТО 15504

1.3.2.4.Связь с другими международными стандартами

1.3.3.ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств

1.3.3.1.Введение

1.3.3.2.Область применения

1.3.3.3.Прикладное применение настоящего стандарта

2.Анализ проблемы и постановка задачи

2.1.Введение в системный анализ

2.2.Системные ресурсы

2.3.Анализ проблемы и моделирование предметной области с использованием системного подхода

2.3.1.Основные положения

2.3.2.Этап 1. Достижение соглашения об определении проблемы

2.3.3.Этап 2. Выделение основных причин – проблем, стоящих за проблемой

2.3.3.1.Устранение корневых причин

2.3.4.Этап 3. Выявление заинтересованных лиц и пользователей

2.3.5.Этап 4. Определение границ системы-решения

2.3.6.Этап 5. Выявление ограничений, налагаемых на решение

2.4.Методология ARIS

2.4.1.Организационная модель

2.4.2.Диаграмма цепочки добавленного качества

2.4.3.Модели eEPC

2.5.Стандарты IDEF0 - IDEF3

2.5.1.Методология описания бизнес процессов IDEF3

2.5.1.1.Синтаксис и семантика моделей IDEF3

2.5.1.2.Требования IDEF3 к описанию бизнес-процессов

2.5.2.Методология функционального моделирования IDEF0

2.5.2.1.Синтаксис и семантика моделейIDEF0

2.5.2.2.Построение моделей IDEF0

3.Анализ требований и их формализация

3.1.Методы определения требований

3.1.1.Интервьюирование

3.1.1.1.Этапы проведения интервью

3.1.2.Мозговой штурм и отбор идей

3.1.2.1.Генерация идей

3.1.2.2.Отбор идей

3.1.3.Совместная разработка приложений (JAD – Joint application design)

3.1.3.1.Роли в сеансах JAD

3.1.3.2.Сеансы JAD

3.1.3.3.Результаты проведения сеанса JAD

3.1.3.4.Недостатки метода JAD

3.1.4.Раскадровка

3.1.4.1.Типы раскадровок

3.1.5.Обыгрывание ролей

3.1.5.1.Суть метода обыгрывания ролей

3.1.5.2.Сценарный просмотр

3.1.6.CRC-карточки (Class-Responsibility-Collaboration, класс-обязанность-взаимодействие)

3.1.7.Быстрое прототипирование

3.2.Формализация требований

3.2.1.Метод вариантов использования и его применение

3.2.1.1.Построение модели вариантов использования

3.2.1.2.Спецификация вариантов использования

3.2.1.3.Преимущества

3.2.2.Псевдокод

3.2.3.Конечные автоматы

3.2.4.Графические деревья решений

3.2.5.Диаграммы деятельности

3.3.Техническое задание (ГОСТ 34.602-89)

3.3.1. Общие сведения

3.3.2.Назначение и цели создания (развития) системы

3.3.2.1.Назначение системы

3.3.2.2.Цели создания системы

3.3.3.Характеристики объекта автоматизации

3.3.4.Требования к системе

3.3.4.1.Требования к системе в целом

3.3.4.2.Требования к функциям (задачам)

3.3.4.3.Требования к видам обеспечения

3.3.5.Состав и содержание работ по созданию системы

3.3.6.Порядок контроля и приемки системы

3.3.7.Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

3.3.8.Требования к документированию

3.3.9.Источники разработки

4.Архитектуры программных систем

4.1.Планирование архитектуры

4.1.1.Архитектурно-экономический цикл

4.1.2.Программный процесс и архитектурно-экономический цикл

4.1.2.1.Этапы разработки архитектуры

4.1.3.Суть программной архитектуры

4.1.3.1.Архитектурные образцы, эталонные модели и эталонные варианты архитектуры

4.1.3.2.Архитектурные структуры и представления

4.2.Проектирование архитектуры

4.2.1.Атрибутный метод проектирования

4.2.1.1.Этапы ADD

4.2.2.Создание макета системы

4.3.Документирование программной архитектуры

4.3.1.Варианты применения архитектурной документации

4.3.2.Представления

4.3.2.1.Выбор значимых представлений

4.3.3.Документирование представления

4.3.3.1.Документирование поведения

4.3.3.2.Документирование интерфейсов

4.4.Методы анализа архитектуры

4.4.1.Метод анализа компромиссных архитектурных решений – комплексный подход к оценке архитектуры

4.4.1.1.Этапы АТАМ

4.4.2.Метод анализа стоимости и эффективности — количественный подход к принятию архитектурно-проектных решений

4.4.2.1.Контекст принятия решений

4.4.2.2.Реализация СВАМ

5.Технология MDA.

5.1.Использование архитектуры, управляемой моделью

5.1.1.Концепция архитектуры, управляемой моделью

5.1.2.Модельные точки зрения и модели MDA

5.2.Язык объектных ограничений OCL

5.2.1.Типы данных и операции OCL

5.2.2.Инфиксная форма записи выражений OCL

5.2.3.Последовательности доступа к объектам в языке OCL

5.2.4.Операции над коллекциями

5.2.4.1.Стандартные операции

5.2.4.2.Операция select

5.2.4.3.Операция reject

5.2.4.4.Выделение элементов коллекции

5.2.4.5.Упорядочение набора

5.2.4.6.Логические итераторы

5.2.4.7.Операции для работы со строками

5.2.4.8.Работа с датами

5.3.Возможности технологии ECO

5.3.1.Введение в технологию ЕСО

5.3.2.Модель ЕСО

5.3.3.Пространство имен ЕСО

5.4.Разработка приложений на основе ECO

5.4.1.Этапы создания приложения по технологии ECO

5.4.2.Создание простого MDA-приложения

5.4.2.1.Создание модели UML

5.4.2.2.Создание интерфейса

5.4.2.3.Связывание интерфейса с моделью

5.4.2.4.Создание логики на OCL

6.Документирование программных систем в соответствии с ГОСТ

6.1.Управление документированием программного обеспечения

6.1.1.Предисловие

6.1.2.Область применения

6.1.3.Роль руководителей

6.1.4.Функции программной документации

6.1.4.1.Информация для управления

6.1.4.2.Связь между задачами

6.1.4.3.Обеспечение качества

6.1.4.4.Инструкции и справки

6.1.4.5.Сопровождение программного обеспечения

6.1.4.6.Исторические справки

6.1.5.Установление стратегии документирования

6.1.6.Определение стандартов и руководств по документированию

6.1.6.1.Выбор модели жизненного цикла программного обеспечения

6.1.6.2.Определение типов и содержания документов

6.1.6.3.Определение качества документов

6.1.6.4.Определение форматов документов

6.1.6.5.Определение системы обозначения документов

6.1.7.Установление процедуры документирования

6.1.8.Распределение ресурсов для документирования

6.1.8.1.Персонал

6.1.8.2.Средства

6.1.8.3.Финансирование

6.1.9.Планирование документирования

6.2.Требования к содержанию документов на автоматизированные системы

6.2.1.Общие положения

6.2.2.Требования к содержанию документов по общесистемным решениям

6.2.2.1.Ведомость эскизного (технического) проекта

6.2.2.2.Пояснительные записки к эскизному, техническому проектам

6.2.2.3.Схема функциональной структуры

6.2.2.4.Описание автоматизируемых функций

6.2.2.5.Описание постановки задачи (комплекса задач)

6.2.2.6.Локальная смета и локальный сметный расчет

6.2.2.7.Паспорт

6.2.2.8.Формуляр

6.2.2.9.Проектная оценка надежности системы

6.2.2.10.Общее описание системы

6.2.2.11.Программа и методика испытаний (компонентов, комплексов средств автоматизации, подсистем, систем)

6.2.3.Требования к содержанию документов с решениями по организационному обеспечению

6.2.3.1.Описание организационной структуры

6.2.3.2.Методика (технология) автоматизированного проектирования

6.2.3.3.Технологическая инструкция

6.2.3.4.Руководство пользователя

6.2.3.5.Описание технологического процесса обработки данных

6.2.4.Требования к содержанию документов с решениями по программному обеспечению

6.2.4.1.Описание программного обеспечения

6.2.5.Другие разделы

6.3.Принципы разработки руководства программиста

6.3.1.Общие положения

6.3.2.Содержание разделов

6.4.Разработка руководства пользователя

6.4.1.Общие замечания

6.4.2.Содержание разделов руководства

6.4.2.1.Общие сведения

6.4.2.2.Описание применения

6.4.2.3.Требования к процедурам функционирования системы

Заключение

Библиографический список

В отдельном подразделе руководства должны быть указаны возможные ошибки и процедуры их устранения. Целесообразно перечислить коды возможных ошибок, возникающих при работе программ и необходимые действия пользователя по восстановлению работоспособности программного изделия.

6.4.2.Содержание разделов руководства

Перечень разделов руководства пользователя может быть представлен следующим образом:

6.4.2.1.Общие сведения

Аннотация. Описывается прикладная область, для которой предназначено программное средство и указываются его основные функции.

Условия функционирования. Указывается, где предполагается устанавливать разработанное программное средство.

Используемые материалы. Перечисляются все необходимые документы, справочные материалы, документация по родственным разработкам.

6.4.2.2.Описание применения

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

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

Оборудование. Перечисляются технические средства, необходимые для нормального функционирования программного комплекса.

Структура программного комплекса. Приводится общая архитектура программного комплекса и отмечается функциональное назначение каждой программной компоненты в системе.

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

База данных. Приводится общая логическая структура базы данных, и описываются все файлы с указанием их назначения.

6.4.2.3.Требования к процедурам функционирования системы

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

Запуск системы. Дается пошаговое описание процедур в процессе инициализации процесса обработки данных в системе.

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


Форматы ввода. Должны быть представлены форматы всех входных форм и соответствующих экранов, которые используются для ввода данных. Достаточно подробно объясняется назначение каждого реквизита формы и принятые грамматические правила и ограничения при заполнении каждого конкретного реквизита.

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

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

Форматы вывода. Приводятся макеты всех выходных форм и экранов с объяснениями каждого раздела формы.

Образцы выходных форм. Приводятся примеры результатов каждого типа с определением смысла и способа использования всех переменных.

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

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

Заключение

В настоящее время программная инженерия – молодая и быстро развивающаяся область. Она ориентирована на решение сложных задач связанных с организацией, содержанием и управлением процессами разработки программных систем.

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

Современное общество уже не мыслимо без информационных систем, которые пронизывают почти все области деятельности и постоянно развиваются и совершенствуются. Улучшение качества информационных систем неразрывно связано с процессом их производства. Каждый маленький элементик этого, теперь уже, огромного процесса играет очень большое значение.

В данном курсе сделана попытка охватить весь процесс производства с точки зрения содержательной части. Процессы управления и организации – предмет изучения другого курса, который может называться «Управление и организация процесса разработки программного обеспечения».


Библиографический список

  1. Арчибальд Р. Управление высокотехнологичными программами и проектами / Рассел Д. Арчибальд; Пер. с. Англ. Мамонтова Е.В.; Под ред. Баженова А.Д., Арефьева А.О. – 3-е изд., перераб. И доп. – М.: ДМК Пресс; Компания АйТи, 2006. – 472 с.

  2. Басс Л., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е издание. – СПб.: Питер, 2006. – 575 с.

  3. Бек К. Экстремальное программирование: разработка через тестирование. Библиотека программиста. – СПб.: Питер, 2003. – 224 с.

  4. Бенькович Е.С., Колесов Ю.Б., Сениченков Ю.Б. Практическое моделирование динамических систем. – СПб.: БХВ-Петербург, 2002. – 464 с.

  5. Благодатских, В.А. Стандартизация разработки программных средств: Учеб. пособие / В.А. Благодатских, В.А. Волнин, К.Ф. Поскакалов; Под ред. О.С. Разумова. – М.: Финансы и статистика, 2003. – 288 с.

  6. Бобровский С.И. Технологии Delphi. Разработка приложений для бизнеса. Учебный курс. – СПб.: Питер, 2007. – 720 с.

  7. Бобровский С.И. Технологии Пентагона на службе российских программистов. Программная инженерия. – СПб.: Питер, 2003. – 222 с.

  8. Боггс Уэнди, Боггс Майкл. UML и Rational Rose. – М.: Издательство «Лори», 2001. – 580 с.

  9. Брауде Э. Технология разработки программного обеспечения. – СПб.: Питер, 2004. – 655 с.

  10. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. – СПб.: Символ-Плюс, 2001. – 304 с.

  11. Буч Г.. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. – М.: «Издательство Бином», 1999. – 560 с.

  12. Вигерс Карл. Разработка требований к программному обеспечению. – М.: Издательско-торговый дом «Русская редакция», 2004. – 576 с.

  13. Войнов И.В. Моделирование экономических систем и процессов. Опыт построения ARIS-моделей: Монография / И.В. Войнов, С.Г. Пудовкина, А.И. Телегин; Челябинск, Изд. ЮУрГУ, 2002. – 392с.

  14. ГОСТ 19.001-77. Единая система программной документации. Общие положения

  15. ГОСТ 19.502-78. Единая система программной документации. Общее описание. Требования к содержанию и оформлению

  16. ГОСТ 19.504-79. Единая система программной документации. Руководство программиста. Требования к содержанию и оформлению

  17. ГОСТ 34.602-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы

  18. ГОСТ Р ИСО/МЭК 12207-99. Информационная технология. Процессы жизненного цикла программных средств

  19. ГОСТ Р ИСО/МЭК 15910-2002. Информационная технология. Процесс создания документации пользователя программного средства

  20. ГОСТ Р ИСО/МЭК ТО 9294-93. Информационная технология. Руководство по управлению документированием программного обеспечения

  21. ГОСТ Р ИСО/МЭК ТО 15271-2002. Информационная технология. Руководство по применению ГОСТ Р ИСО/МЭК 12207 (Процессы жизненного цикла программных средств)

  22. ГОСТ Р ИСО/МЭК ТО 16326-2002. Программная инженерия. Руководство по применению ГОСТ Р ИСО/МЭК 12207 при управлении проектом

  23. ГОСТ Р ИСО/МЭК 12119-2000. Информационная технология. Пакеты программ. Требования к качеству и тестирование

  24. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению

  25. ГОСТ Р ИСО/МЭК 8631-94. Информационная технология. Программные конструктивы и условные обозначения для их представления

  26. Грибачев К.Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. – Спб.: Питер, 2004. – 348 с.

  27. Иванова Г.С. Технология программирования: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с.

  28. Камаев В.А. Технологии программирования / В.А. Камаев, В.В. Костерин; Высш. Шк., М., 2005. – 359 с.

  29. Константайн Л., Локвуд Л. Разработка программного обеспечения. – СПб.: Питер, 2004. – 592 с.

  30. Кратчен Филипп. Введение в Rational Unified Process. 2-е изд. – М.: Издательство дом «Вильямс». 2002 – 240 с.

  31. Кролл П. Rational Unified Process – это легко. Руководство по RUP для практиков / П. Кролл, Ф. Крачтен; КУДИЦ-ОБРАЗ, М., 2004. – 432с.

  32. Ларман Крэг. Применение UML и шаблонов проектирования. 2-е издание. – М.: Издательский дом «Вильямс», 2002. – 624 с.

  33. Леонников А.В. Самоучитель UML. – 2-е изд. – СПб: БХВ-Петербург, 2004. – 432 с.

  34. Леффингуэлл Дин, Уидриг Дон. Принципы работы с требованиями к программному обеспечению. Унифицированный подход.: – Издательский дом «Вильямс», 2002. – 448 с.

  35. Маклаков С.В. Создание информационных систем с AllFussion Modelion Suite. – М.: ДИАЛОГ-МИФИ, 2003 – 432 с.

  36. Орлов С.А. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд. СПб.: Питер, 2003. – 480 с.

  37. Паулк Марк, Куртис Билл, Хриссис Мэри Бет, Вебер Чарльз В., Гарсия Сьюзен М., Буш Мерелин. Модель зрелости процессов разработки программного обеспечения. – М.: Богородский печатник, 2002. – 256 с.

  38. Полис Г. Разработка программных проектов на основе Rational Unified Process (RUP) / Г. Полис, Л. Огастин, К. Лоу, Д. Мадхар; ООО «Бином-Пресс», М., 2005. – 256с.

  39. Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник. – СПб.: Питер, 2002. – 656с.

  40. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. – СПб.: Питер, 2007. – 544с.

  41. Садердинов А.А., Трайнев В.А. Построение комплексных программно-технических проектов интегрированных систем организационного управления (обобщение теории и практики проектирования). – М.: Издательско-книготорговый центр «Маркетинг», 2001. –287 с.

  42. Соммервилл Иан. Инженерия программного обеспечения, 6-е издание. – М.: Издательский дом «Вильямс», 2002. – 624с.

  43. Сухомлин В.А. Введение в анализ информационных технологий. Учебник для вузов. – М.: Горячая линия-Телеком, 2003. – 427 с.

  44. Федотова Д.Э., Семенов Ю.Д., Чижик К.Н. CASE-технологии: Практикум. – М.: Горячая линия-Телеком, 2003. – 160с.

  45. Фаулер М. UML. Основы, 3-е издание. – Пер. с англ. – СПб: Символ-Плюс, 2004. – 192 с.

  46. Чарнецки К. Пораждающее программирование: методы, инструменты, применение / К. Чарнецки, У. Айзенкер; Питер, СПб, 2005. – 731с.

  47. Черемных С.В., Семенов И.О., Ручкин В.С. Моделирование и анализ систем. IDEF-технологии: практикум. – М.: Финансы и статистика, 2002. – 192 с.

  48. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002. – 496 с.




79