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

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

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

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

Добавлен: 04.12.2020

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

Скачиваний: 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.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.Требования к содержанию документов на автоматизированные системы

Требования к содержанию документов изложены в РД 50-34.698-90. Настоящие методические указания распространяются на автоматизированные системы (АС), используемые в различных сферах деятельности (управление, исследование, проектирование и т. п.), включая их сочетание, и устанавливают требования к содержанию документов, разрабатываемых при создании АС.

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

Требования к содержанию документов, разрабатываемых при создании АС, установлены настоящими указаниями, а также соответствующими государственными стандартами Единой системы программной документации (ЕСПД), Единой системы конструкторской документации (ЕСКД), Системы проектной документации для строительства (СПДС) и ГОСТ 34.602.

Виды и комплектность документов регламентированы ГОСТ 34.201.

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


Содержание каждого документа, разрабатываемого при проектировании АС согласно ГОСТ 34.201, определяет разработчик в зависимости от объекта проектирования (системы, подсистема и т.д.).

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

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

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

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

Ведомость содержит перечень всех документов, разработанных на соответствующих стадиях создания АС и применяемых из проектов других АС. Ведомость заполняют по разделам - частям проекта АС. Документ выполняется по ГОСТ 2.106. Наименования разделов и подразделов записывают в графах "Обозначение" и "Наименование" в виде заголовков и выделяют подчеркиванием.

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

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

1) общие положения;

2) описание процесса деятельности;

3) основные технические решения;

4) мероприятия по подготовке объекта автоматизации к вводу системы в действие.

В разделе "Общие положения" приводят:

1) наименование проектируемой АС и наименования документов, их номера и дату утверждения, на основании которых ведут проектирование АС;

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

3) цели, назначение и области использования АС;

4) подтверждение соответствия проектных решений действующим нормам и правилам техники безопасности, пожаро- и взрывобезопасности и т. п.;

5) сведения об использованных при проектировании нормативно-технических документах;

6) сведения о НИР, передовом опыте, изобретениях, использованных при разработке проекта;

7) очередность создания системы и объем каждой очереди.

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

В разделе "Основные технические решения" приводят:

1) решения по структуре системы, подсистем, средствам и способам связи для информационного обмена между компонентами системы, подсистем:

2) решения по взаимосвязям АС со смежными системами, обеспечению ее совместимости;

3) решения по режимам функционирования, диагностированию работы системы;

4) решения по численности, квалификации и функциям персонала АС, режимам его работы, порядку взаимодействия;

5) сведения об обеспечении заданных в техническом задании (ТЗ) потребительских характеристик системы (подсистем), определяющих ее качество;


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

7) решения по комплексу технических средств, его размещению на объекте;

8) решения по составу информации, объему, способам ее организации, видам машинных носителей, входным и выходным документам и сообщениям, последовательности обработки информации и другим компонентам;

9) решения по составу программных средств, языкам деятельности, алгоритмам процедур и операций и методам их реализации.

В разделе "Мероприятия по подготовке объекта автоматизации к вводу системы в действие" приводят:

1) мероприятия по приведению информации к виду, пригодному для обработки на ЭВМ;

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

3) мероприятия по созданию необходимых подразделений и рабочих мест;

4) мероприятия по изменению объекта автоматизации;

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

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

Документ "Схема функциональной структуры" содержит:

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

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

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

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

Документ "Описание автоматизируемых функций" содержит разделы:

1) исходные данные;

2) цели АС и автоматизированные функции;

3) характеристика функциональной структуры;

4) типовые решения (при наличии).

В разделе "Исходные данные" приводят:

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

2) особенности объекта управления, влияющие на проектные решения по автоматизированным функциям;

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

4) описание информационной модели объекта вместе с его системой управления.

В разделе "Цели АС и автоматизированные функции" приводят описание автоматизированных функций, направленных на достижение установленных целей.

Раздел "Характеристика функциональной структуры" содержит:

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

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

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


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

В разделе "Типовые решения" приводят перечень типовых решений с указанием функций, задач, комплексов задач, для выполнения которых они применены.

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

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

1) характеристики комплекса задач;

2) выходная информация;

3) входная информация.

В разделе "Характеристики комплекса задач" приводят:

1) назначение комплекса задач;

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

3) периодичность и продолжительность решения;

4) условия, при которых прекращается решение комплекса задач автоматизированным способом (при необходимости);

5) связи данного комплекса задач с другими комплексами (задачами) АС;

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

7) распределение действий между персоналом и техническими средствами при различных ситуациях решения комплекса задач.

Раздел "Выходная информация" содержит:

1) перечень и описание выходных сообщений;

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

В описании по каждому выходному сообщению следует указывать:

1) идентификатор;

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

3) периодичность выдачи;

4) сроки выдачи и допустимое время задержки решения;

5) получателей и назначение выходной информации.

В описании по каждой структурной единице информации следует указывать:

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

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

3) требования к точности и надежности вычисления (при необходимости).

Раздел "Входная информация" должен содержать:

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

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

В описании по каждой структурной единице информации входных сообщений следует указывать;

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

2) требуемую точность ее числового значения (при необходимости);

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

4) идентификатор источника информации.

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