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

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

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

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

Добавлен: 04.12.2020

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

Скачиваний: 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.2.3.3.Технологическая инструкция

Документ "Технологическая инструкция" разрабатывают на операцию или комплекс операций технологического процесса обработки данных.

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

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

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

Документ содержит разделы:

1) введение;

2) назначение и условия применения;

3) подготовка к работе;

4) описание операций;

5) аварийные ситуации;

6) рекомендации по освоению.

В разделе "Введение" указывают:

1) область применения;

2) краткое описание возможностей;

3) уровень подготовки пользователя;

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

В разделе "Назначение и условия применения" указывают:

1) виды деятельности, функции, для автоматизации которых предназначено данное средство автоматизации;

2) условия, при соблюдении (выполнении, наступлении) которых обеспечивается применение средства автоматизации в соответствии с назначением (например, вид ЭВМ и конфигурация технических средств, операционная среда и общесистемные программные средства, входная информация, носители данных, база данных, требования к подготовке специалистов и т. п.).


В разделе "Подготовка к работе" указывают:

1) состав и содержание дистрибутивного носителя данных;

2) порядок загрузки данных и программ;

3) порядок проверки работоспособности.

В разделе "Описание операций" указывают:

1) описание всех выполняемых функций, задач, комплексов задач, процедур;

2) описание операций технологического процесса обработки данных, необходимых для выполнения функций, комплексов задач (задач), процедур.

Для каждой операции обработки данных указывают:

1) наименование;

2) условия, при соблюдении которых возможно выполнение операции;

3) подготовительные действия;

4) основные действия в требуемой последовательности;

5) заключительные действия;

6) ресурсы, расходуемые на операцию.

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

В разделе "Аварийные ситуации" указывают:

1) действия в случае несоблюдения условий выполнения технологического процесса, в том числе при длительных отказах технических средств;

2) действия по восстановлению программ и/или данных при отказе магнитных носителей или обнаружении ошибок в данных;

3) действия в случаях обнаружении несанкционированного вмешательства в данные;

4) действия в других аварийных ситуациях.

В разделе "Рекомендации по освоению" указывают рекомендации по освоению и эксплуатации, включая описание контрольного примера, правила его запуска и выполнения.

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

Документ содержит разделы:

1) технологический процесс сбора и обработки данных на периферийных устройствах при децентрализованной обработки данных;

2) технологический процесс обработки данных на вычислительном центре.

В разделе "Технологический процесс сбора и обработки данных на периферийных устройствах при децентрализованной обработки данных" указывают:

1) состав и последовательность выполнения технологических операций по сбору, регистрации, подготовке, контролю, передаче, обработке и отображению информации;

2) перечень документации, сопровождающей каждую операцию в данном технологическом процессе.

В разделе "Технологический процесс обработки данных на вычислительном центре" указывают:

1) состав и последовательность выполнения технологических операций по приему, контролю, обработке, хранению, выдаче данных и других операций, выполняемых на вычислительном центре;

2) перечень документации, сопровождающей данный технологический процесс.

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

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

Документ содержит вводную часть и разделы:

1) структура программного обеспечения;

2) функции частей программного обеспечения;

3) методы и средства разработки программного обеспечения;

4) операционная система;


5) средства, расширяющие возможности операционной системы.

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

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

В разделе "Функции частей программного обеспечения" приводят назначение и описание основных функций для каждой части программного обеспечения.

В разделе "Методы и средства разработки программного обеспечения" приводят перечень методов программирования и средств разработки программного обеспечения АС с указанием частей программного обеспечения, при разработке которых следует использовать соответствующие методы и средства.

В разделе "Операционная система" указывают

1) наименование, обозначение и краткую характеристику выбранной операционной системы и ее версии, в рамках которой будут выполнять разрабатываемые программы, с обоснованием выбора и указанием источников, где дано подробное описание выбранной версии;

2) наименование руководства, в соответствии с которым должна осуществляться генерация выбранного варианта операционной системы;

3) требования к варианту генерации выбранной версии операционной системы.

Раздел "Средства, расширяющие возможности операционной системы" содержит подразделы, в которых для каждого используемого средства, расширяющего возможности операционной системы, указывают:

1) наименование, обозначение и краткую характеристику средства с обоснованием необходимости его применения и указанием источника, где дано подробное описание выбранного средства;

2) наименование руководства, в соответствии с которым следует настраивать используемое средство на конкретное применение;

3) требования к настройке используемого средства.

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

Данный комплекс стандартов и руководящих документов предусматривает описание требований и к другим видам обеспечения:

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

  • Требования к содержанию документов с решениями по информационному обеспечению

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

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

Требования к содержанию руководства программиста изложены в ГОСТ 19.504-79. Настоящий стандарт устанавливает требования к содержанию и оформлению программного документа «Руководство программиста».

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

Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78. Составление информационной части (аннотации и содержания) является обязательным. Руководство программиста должно содержать следующие разделы:


  • назначение и условия применения программ;

  • характеристика программы;

  • обращение к программе;

  • входные и выходные данные;

  • сообщения.

В зависимости от особенностей документы допускается объединять отдельные разделы или вводить новые.

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

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

В разделе «Характеристика программы» должно быть приведено описание основных характеристик и особенностей программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т.п.).

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

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

В разделе «Сообщения» должны быть указаны тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действий, которые необходимо предпринять по этим сообщениям.

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

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

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

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

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

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


Целесообразно дать иллюстрации в виде экранов с описанием особенностей манипуляций на клавиатуре.

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

Руководство пользователя содержит следующие разделы:

  • общие сведения;

  • описание применения;

  • требования к процедурам.

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

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

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

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

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