Файл: Иванова Г.С. Технология программирования.pdf

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

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

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

Добавлен: 20.11.2019

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

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

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

свою

очередь

будут

наследоваться

Алгоритмы

реализующие

конкретные

методы

Алгоритм

также

связан

с

Данными

и

Результатами

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Данные

и

Задания

должны

храниться

в

Базе

данных

что

показывают

ассоциациями

соответствующих

классов

Способ

задания

данных

для

понимания

основной

концепции

проектируемой

системы

пока

не

очень

существенен

Вид

задачи

в

нашем

случае

скорее

атрибут

класса

Задание

чем

самостоятельный

класс

так

как

в

реальном

мире

 - 

это

имя

которое

позволяет

уточнить

группу

возможных

алгоритмов

решения

а

также

структуры

исходных

данных

и

получаемых

результатов

Для

алгоритма

очень

существенной

характеристикой

является

его

точность

соответственно

добавим

атрибут

Точность

Другие

атрибуты

пока

не

проявились

6.4. 

Описание

поведения

Системные

события

и

операции

Концептуальная

модель

характеризует

статические

свойства

разрабатываемого

программного

обеспечения

Для

описания

особенностей

его

поведения

т

е

возможных

действий

системы


background image

целесообразно

использовать

диаграммы

последовательностей

системы

системные

события

системные

операции

диаграммы

деятельностей

а

при

необходимости

и

диаграммы

состояний

объектов

 (

см

. § 7.4). 

Диаграмма

последовательностей

системы

Системные

события

и

операции

.

Диаграмма

последовательностей

системы

 — 

графическая

модель

которая

для

определенного

сценария

варианта

использования

показывает

генерируемые

действующими

лицами

события

и

их

порядок

При

этом

система

рассматривается

как

единое

целое

Для

построения

диаграммы

последовательностей

системы

необходимо

представить

систему

как

 «

черный

ящик

» 

и

изобразить

для

нее

линию

жизни

 - 

вертикальную

пунктирную

линию

подходящую

к

блоку

снизу

идентифицировать

каждое

действующее

лицо

и

изобразить

для

него

линию

жизни

  (

много

действующих

лиц

бывает

в

вариантах

совместного

использования

программного

обеспечения

); 

из

описания

варианта

использования

определить

множество

системных

событий

и

их

последовательность

изобразить

системные

события

в

виде

линий

со

стрелкой

на

конце

между

линиями

жизни

действующих

лиц

и

системы

а

также

указать

имена

событий

и

списки

передаваемых

значений

В

отличие

от

внутренних

событий

события

которые

генерируются

для

системы

действующими

лицами

называют

системными

Системные

события

инициируют

выполнение

соответствующего

множества

операций

также

называемых

системными

Каждую

системную

операцию

называют

по

имени

соответствующего

сообщения

Множество

всех

системных

операций

определяют

идентифицируя

системные

события

всех

вариантов

использования

Для

наглядности

системные

операции

изображают

в

виде

операций

абстрактного

класса

  (

типа

) System. 

Если

необходимо

разделить

множество

операций

на

подмножества

инициируемые

разными

пользователями

то

используют

несколько

абстрактных

классов

: Systeml, System2 

и

т

д

Каждую

системную

операцию

необходимо

описать

Обычно

описание

системной

операции

содержит

имя

операции

и

ее

параметры

описание

обязанности

указание

типа

названия

вариантов

использования

в

которых

она

используется

примечания

для

разработчиков

алгоритмов

и

т

д

.; 

описание

обработки

возможных

исключений

описание

вывода

неинтерфейсных

сообщений

предположение

о

состоянии

системы

до

выполнения

операции

 (

предусловие

); 

описание

изменения

состояния

системы

после

выполнения

операции

(

постусловие

). 

Пример

 6.4.

Разработать

диаграмму

последовательностей

системы

для

варианта

использования

Выполнение

задания

решения

комбинаторно

-

оптимизационных

задач

Анализируем

описание

варианта

использования

и

определяем

что

действующее

лицо

должно

инициировать

девять

системных

событий

включая

загрузку

задания

из

базы

которая

логически

следует

из

операции

сохранения

Покажем

эти

события

на

диаграмме

последовательностей

 (

рис

6.10). 

В

скобках

укажем

параметры

которые

должны

формировать

эти

события

Следовательно

система

должна

обеспечивать

выполнение

соответствующих

операций

Полученное

множество

операций

приписывается

классу

 System (

рис

. 6.11). 

 
 


background image

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Далее

каждую

операцию

необходимо

описать

Для

примера

опишем

операцию

Инициировать

решение

 (): 


background image

Раздел

Описание

Имя

Обязанности

Тип

Ссылки

Примечания

Исключения

 
 
 
 

Вывод

Предусловия

Постусловие

Инициировать

решение

 () 

Выполнить

задание

и

вывести

результаты

пользователю

Системная

Вариант

использования

Выполнить

задание

Предусмотреть

возможность

прерывания

процесса

решения

пользователем

1.

Если

в

задании

указаны

не

все

исходные

данные

то

вывести

сообщение

об

ошибке

2.

Если

при

указанных

исходных

данных

решение

задачи

указанным

методом

невозможно

то

вывести

сообщение

об

ошибке

 

 

Предполагает

  

наличие

всех

исходных

данных

задания

Получен

результат

 
 

Диаграммы

деятельностей

.

В

зависимости

от

степени

детализации

диаграммы

деятельностей

так

же

как

диаграммы

классов

используют

на

разных

этапах

разработки

На

этапе

анализа

требований

и

уточнения

спецификаций

диаграммы

деятельностей

позволяют

конкретизировать

основные

функции

разрабатываемого

программного

обеспечения

Под

деятельностью

в

данном

случае

понимают

задачу

  (

операцию

), 

которую

необходимо

выполнить

вручную

или

с

помощью

средств

автоматизации

Каждому

варианту

использования

соответствует

своя

последовательность

задач

В

теоретическом

плане

диаграммы

деятельности

являются

обобщенным

представлением

алгоритма

реализующего

анализируемый

вариант

использования

На

диаграмме

деятельность

обозначается

прямоугольником

с

закругленными

углами

 (

рис

. 6.12, 

а

). 

Диаграммы

деятельностей

позволяют

описывать

альтернативные

и

параллельные

процессы

Для

обозначения

альтернативных

процессов

используют

ромб

  (

рис

. 6.12, 

б

), 

условие

указывают

над

ним

слева

или

справа

а

альтернативы

 «

да

», «

нет

» - 

рядом

с

соответствующими

выходами

С

помощью

этого

же

блока

можно

построить

циклический

процесс

Множественность

активации

деятельности

обозначают

символом

 «*», 

помещенным

рядом

со

стрелкой

активации

деятельности

и

при

необходимости

уточняют

надписью

вида

 «

для

каждой

строки

». 

Для

обозначения

параллельных

процессов

используют

линейки

синхронизации

  (

рис

. 6.12, 

в

), 

причем

условие

синхронизации

можно

уточнить

указав

его

на

диаграмме

.  

 
 
 
 
 
 
 
 
 


background image

На

рис

. 6.13 

показано

что

 «

Деятельность

 1» 

и

 «

Деятельность

 2» 

могут

выполняться

параллельно

На

этапе

определения

спецификаций

имеет

смысл

уточнять

только

варианты

использования

краткое

описание

которых

недостаточно

для

понимания

сущности

решаемых

проблем

Диаграммы

деятельностей

таким

образом

можно

использовать

вместо

описания

вариантов

использования

или

как

дополнение

к

ним

 
 
 
 
 
 
 
 
 
 

Пример

 6.5.

Построить

диаграмму

деятельностей

уточняющую

вариант

использования

Выполнение

задания

системы

решения

комбинаторно

-

оптимизационных

задач

Учитывая

описание

предметной

области

в

виде

контекстной

диаграммы

классов

анализируем

описание

варианта

использования

Разбиваем

процесс

на

отдельные

операции

Полученные

операции

показываем

на

диаграмме

деятельностей

 (

рис

. 6.14).