WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:     | 1 | 2 || 4 |

«Д.Г. Штенников Разработка информационных систем в образовании Учебное пособие Санкт-Петербург 2012 1 Штенников Д.Г. Приемы работы с приложениями Picasa и Pixlr. Учебное пособие. – СПб: СПбГУ ИТМО, 2012. – 40 с. ...»

-- [ Страница 3 ] --

Аналогичным образом следует задать кратность конца ассоциации у класса операция обмена данными ИСО равную 1..n, для чего на вкладке Role A Detail и следует выбрать значение 1..n из вложенного списка Multiplicity.

Содержательно это будет означать, что каждый объект класса Контроллер ДО может быть связан с одним или несколькими объектами класса операции в системе ДО.

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

Добавление отношений агрегации и композиции на диаграмму классов и редактирование их свойств Добавить на диаграмму отношение агрегации между двумя классами можно следующими способами:

Щелкнуть на кнопке с изображением отношение агрегации на специальной панели инструментов и провести линию агрегации от одного класса к другому.

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

Во втором случае следует открыть окно спецификации свойств ассоциации Association Specification и на вкладке деталей соответствующего конца ассоциации выставить отметку в строке выбора Aggregate (Агрегация).

В качестве примера измените тип созданной ранее ассоциации и сделаем ее агрегацией. Содержательно это будет означать, что класс Контроллер ИСО будет включать в себя в качестве составной части класс операция обмена данными ИСО; при этом уничтожение любого объекта класса Контроллер ИСО не должно привести к уничтожению ассоциированных с ним объектов класса операция обмена данными ИСО. С этой целью на вкладке Role B Detail деталей конца ассоциации класса Контроллер ИСО следует выставить отметку в строке выбора Aggregate.

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

Для изображения отношения композиции можно также вначале изобразить обычную ассоциацию, после чего, открыв окно ее свойств на вкладке деталей соответствующего конца ассоциации, выставить отметку в строке выбора Aggregate (Агрегация) и в секции Containment (Локализация) выбрать опцию By Value (По значению). По умолчанию эта опция не специфицирована, т.е. выставлена отметка опции Unspecified.

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

Далее на диаграмме классов надо выделить первый элемент обобщения или потомок, от которого исходит стрелка, и нарисовать стрелку.

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

Измените имя отношения обобщения. Это можно выполнить с помощью окна спецификации свойств обобщения. Доступ к диалоговому окну спецификации свойств отношения обобщения Generalize Specification можно получить после выделения линии обобщения на диаграмме классов или в браузере проекта и двойного щелчка на ней лкм.

Для задания имени обобщения следует на единственной вкладке General (Общие) в поле ввода Name (Имя) ввести текст ее имени: Наследует и нажать кнопку Apply или OK.

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

1. Для класса IИнтерфейс ИСО добавить операцию: проверить идентификатор студенческого билета (идентификатор: Integer) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в качестве целочисленного аргумента задать номер студенческого билета.

2. Для класса IИнтерфейс ИСО добавить операцию: открыть счет студента (номер студенческого билета: Integer) с квантором видимости public. В качестве целочисленного аргумента этой операции следует задать идентификатор студенческого билета.

3. Для класса IИнтерфейс ИСО добавить операцию: проверить баланс студента (идентификатор: Integer, сумма оплаченных образовательных услуг: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать номер студенческого билета, а в качестве второго аргумента - введенная сумма оплаченных образовательных услуг с типом Currency (Денежный).

4. Для класса IИнтерфейс ИСО добавить операцию: уменьшить счет студента (номер студенческого билета: Integer, введенная сумма оплаты: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать номер студенческого билета, а в качестве второго аргумента - введенная сумма оплаченных образовательных услуг с типом Currency (Денежный).



5. Для класса Устройство чтения студенческого билета добавить операцию: прочитать номер студенческого билета() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный).

6. Для класса Устройство чтения студенческого билета добавить операцию: прочитать Пароль() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный).

7. Для класса Устройство чтения студенческого билета добавить операцию: вернуть кредитную билет() с квантором видимости public.

8. Для класса Устройство чтения студенческого билета добавить операцию: блокировать кредитную билет() с квантором видимости public.

9. Добавить класс с именем Экран ИСО, для которого выбрать стереотип boundary. Данный класс также находится на границе моделируемой системы, на что и указывает этот стереотип.

10.Для класса Экран ИСО добавить операцию: показать меню опций() с квантором видимости public.

11.Для класса Экран ИСО добавить операцию: показать меню снятия суммы() с квантором видимости public.

12.Добавить класс с именем Клавиатура ИСО, для которого выбрать стереотип boundary.

13.Для класса Клавиатура ИСО добавить операцию: ввести Пароль() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer.

14.Для класса Клавиатура ИСО добавить операцию: ввести тип транзакции() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический).

15.Для класса Клавиатура ИСО добавить операцию: ввести сумму снятия со счета студента() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Currency (Денежный).

16.Добавить класс с именем Принтер ИСО, для которого выбрать стереотип boundary.

17.Для класса Принтер ИСО добавить операцию: распечатать договор() с квантором видимости public.

18.Добавить направленную ассоциацию от класса Контроллер ИСО к классу Устройство чтения авторизации. В качестве кратности концов этой ассоциации установить значение 1.

19.Добавить направленную ассоциацию от класса Контроллер ИСО к классу Принтер ИСО. В качестве кратности концов этой ассоциации установить значение 1.

20.Добавить направленную ассоциацию от класса Контроллер ИСО к классу Клавиатура ИСО. В качестве кратности концов этой ассоциации установить значение 1.

21.Добавить направленную ассоциацию от класса Контроллер ИСО к классу Экран ИСО. В качестве кратности концов этой ассоциации установить значение 1.

22.Добавить направленную ассоциацию от класса Контроллер ИСО к классу IКонтроллер ИСО. В качестве кратности конца этой ассоциации для первого класса установить значение 0..n, а кратности конца ассоциации для второго класса установить значение 1. В качестве стереотипа данной ассоциации выбрать из вложенного списка значение. Применение данного стереотипа означает, что между этими классами должна существовать физическая взаимосвязь.

Разработка диаграммы кооперации и редактирование свойств ее элементов Особенности разработки диаграмм кооперации в среде IBM Rational Rose Диаграмма кооперации является разновидностью диаграммы взаимодействия, и в контексте языка UML описывает динамический аспект взаимодействия объектов при реализации отдельных вариантов использования. Активизировать рабочее окно диаграммы кооперации в программе IBM Rational Rose можно несколькими способами:

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

Выполнить операцию главного меню: Browse > Interaction Diagram (Браузер > Диаграмма взаимодействия) и выбрать для построения новую диаграмму кооперации.

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

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

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

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

По умолчанию каждый добавляемый объект считается анонимным.

При необходимости можно задать собственное имя объекта, для чего 2лкм на изображении объекта на диаграмме кооперации.

Для объекта выбранного класса можно задавать: собственное имя объекта, особенности его реализации и множественность экземпляров.

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

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

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

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

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

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

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

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

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

Характеристика свойств синхронизации сообщений us (Синхронное) сообщения источник ожидает ответа от Procedure Asynchron ous (Асинхронное) не ожидая подтверждения от объектаприемника о получении этого Группа свойств Frequency (Частота) предназначена для указания периодического характера передачи сообщения. При изменении этого свойства графическое изображение стрелки соответствующего сообщения не изменяется. Свойство Aperiodic (Апериодическое) означает, что сообщение посылается клиентом нерегулярно. При этом сообщение может быть отправлено один или несколько раз через различные промежутки времени.

Это свойство задается для сообщения по умолчанию. Свойство Periodic (Периодическое) означает, что сообщение регулярно посылается клиентом через определенные промежутки времени.

Для данной модели ИСО можно оставить рассмотренные свойства сообщений без изменения, в том виде, в каком они определены по умолчанию программой IBM Rational Rose.

Дальнейшее построение диаграммы кооперации для модели ИСО Для завершения построения диаграммы кооперации рассматриваемого примера следует описанным выше способом добавить оставшиеся объекты, связи и сообщения. С этой целью следует выполнить следующие действия:

1. Добавить объекты классов с именами: Контроллер ИСО, операция обмена данными ИСО, Клавиатура ИСО, Экран ИСО, Принтер ИСО и IИнтерфейс ИСО.

2. Добавить связи, соединяющие объекты классов с именами: Контроллер ИСО с Устройством чтения студенческого билета, Контроллер ИСО с Транзакцией ИСО, Контроллер ИСО с Клавиатурой ИСО, Контроллер ИСО с Экраном ИСО, Контроллер ИСО с Принтером ИСО, Контроллер ИСО с и Контроллер ИСО с IИнтерфейсом ИСО.

3. Добавить сообщение: проверить идентификатор студенческого билета (Integer), направленное от объекта класса Контроллер ИСО к объекту класса IИнтерфейс ИСО.

4. Добавить сообщение: ввести Пароль(), направленное от объекта классаактера Студент ИСО к объекту класса Клавиатура ИСО.

5. Добавить сообщение: прочитать Пароль(), направленное от объекта класса Контроллер ИСО к объекту класса Устройство чтения студенческого билета.

6. Добавить сообщение: создать новую транзакцию(), направленное от объекта класса Контроллер ИСО к объекту класса операция обмена 7. Добавить сообщение: проверить правильность Пароля(), направленное от объекта класса Контроллер ИСО к объекту класса операция обмена 8. Добавить сообщение: показать меню опций(), направленное от объекта класса Контроллер ИСО к объекту класса Экран ИСО.

9. Добавить сообщение: ввести тип транзакции(), направленное от объекта класса-актера Студент ИСО к объекту класса Клавиатура ИСО.

10.Добавить сообщение: показать меню снятия суммы(), направленное от объекта класса Контроллер ИСО к объекту класса Экран ИСО.

11.Добавить сообщение: ввести сумму снятия со счета для оплаты образовательных услуг(), направленное от объекта класса-актера Студент ИСО к объекту класса Клавиатура ИСО.

12.Последовательно добавить 3 сообщения: открыть счет студента (Integer), проверить баланс студента (Integer, Currency) и уменьшить счет студента(Integer, Currency), направленные от объекта класса Контроллер ИСО к объекту класса IИнтерфейс ИСО.

13.Добавить сообщение: распечатать квитанцию для оплаты(), направленное от объекта класса Контроллер ИСО к объекту класса 14.Добавить сообщение: завершить транзакцию(), направленное от объекта класса Контроллер ИСО к объекту класса операция обмена При необходимости можно изменить порядок следования сообщений и их спецификацию, а также установить дополнительную синхронизацию сообщений и связать с сообщениями примечания.

5. КОНСТРУИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЕ

Разработка диаграммы последовательности и редактирование свойств ее элементов Особенности разработки диаграммы последовательности в среде IBM Rational Rose Диаграмма последовательности является другой формой визуализации взаимодействия в модели и, как и диаграмма кооперации, оперирует объектами и сообщениями. Особенность работы в среде IBM Rational Rose заключается в том, что этот вид канонической диаграммы может быть создан автоматически после построения диаграммы кооперации и нажатия клавиши F5. С помощью этой же клавиши осуществляется переключение между диаграммами последовательности и кооперации в модели.

В случае если необходимо создавать диаграмму с чистого листа, то тогда надо активизировать рабочее окно диаграммы последовательности можно несколькими способами:

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

Выполнить операцию главного меню: Browse > Interaction Diagram (Браузер > Диаграмма взаимодействия) и выбрать для построения новую диаграмму последовательности.

Выполнить операцию контекстного меню: New > Sequence Diagram (Новая > Диаграмма последовательности) для логического представления или представления вариантов использования в браузере проекта.

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

Назначение кнопок специальной панели инструментов диаграммы последовательности изображение Относительно изображения асинхронного сообщения в форме полустрелки следует заметить, что хотя в версии языка UML 1.5 этот элемент отсутствует, в среде IBM Rational Rose возможно изобразить этот тип сообщений в форме специального графического стереотипа.

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

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

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

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

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

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

Для рассматриваемой модели ИСО в качестве имени первого сообщения следует выбрать операцию прочитать номер студенческого билета(). После выбора операции для данного сообщения следует нажать кнопку Apply или OK.

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

последовательности может быть отключена. При необходимости показать номера сообщений следует выполнить операцию главного меню: Tools > Options (Инструменты > Параметры), открыть вкладку Diagram (Диаграмма) и выставить отметку выбора строки Sequence numbering (Нумерация сообщений на диаграмме последовательности) в группе свойств Display.

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

Дальнейшее построение диаграммы последовательности модели ИСО Для завершения построения диаграммы последовательности рассматриваемого примера следует описанным выше способом добавить оставшиеся объекты и сообщения. С этой целью следует выполнить следующие действия:

1. Добавить объекты классов с именами: Контроллер ИСО, операция обмена данными ИСО, Клавиатура ИСО, Экран ИСО, Принтер ИСО и IИнтерфейс ИСО.

2. Добавить сообщение: проверить идентификатор студенческого билета (Integer), направленное от объекта класса Контроллер ИСО к объекту класса IИнтерфейс ИСО.

3. Добавить сообщение: ввести Пароль(), направленное от объекта классаактера Студент ИСО к объекту класса Клавиатура ИСО.

4. Добавить сообщение: прочитать Пароль(), направленное от объекта класса Контроллер ИСО к объекту класса Устройство чтения студ.

5. Добавить сообщение: создать новую транзакцию(), направленное от объекта класса Контроллер ИСО к изображению объекта класса операция обмена данными ИСО. При этом изображение объекта класса операция обмена данными ИСО следует переместить вниз на уровень этого сообщения, что будет визуально означать создание данного объекта в более поздний момент времени, чем начало функционирования моделируемой программной системы.

6. Добавить сообщение: проверить правильность Пароля(), направленное от объекта класса Контроллер ИСО к объекту класса операция обмена 7. Добавить сообщение: показать меню опций(), направленное от объекта класса Контроллер ИСО к объекту класса Экран ИСО.

8. Добавить сообщение: ввести тип транзакции(), направленное от объекта класса-актера Студент ИСО к объекту класса Клавиатура ИСО.

9. Добавить сообщение: показать меню снятия суммы(), направленное от объекта класса Контроллер ИСО к объекту класса Экран ИСО.

10.Добавить сообщение: ввести сумму снятия со счета студента(), направленное от объекта класса-актера Студент ИСО к объекту класса Клавиатура ИСО.

11.Последовательно добавить 3 сообщения: открыть счет студента (Integer), проверить баланс студента (Integer, Currency) и уменьшить счет студента (Integer, Currency), направленные от объекта класса Контроллер ИСО к объекту класса IИнтерфейс ИСО.

12.Добавить сообщение: распечатать счет за оплату образовательных услуг(), направленное от объекта класса Контроллер ИСО к объекту класса Принтер ИСО.

13.Добавить сообщение: завершить транзакцию(), направленное от объекта класса Контроллер ИСО к объекту класса операция обмена 14.После добавления сообщения завершить транзакцию() поместить на линию жизни объекта класса операция обмена данными ИСО символ уничтожения этого объекта.

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

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

Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать представление и тип разрабатываемой диаграммы - новая диаграмма состояний.

Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: New > Statechart Diagram (Новая > Диаграмма состояний).

Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: New > Statechart Diagram (Новая > Диаграмма состояний).

Выполнить операцию главного меню: Browse > State Machine Diagram (Обзор > Диаграмма состояний), после чего следует выбрать представление и тип разрабатываемой диаграммы. Послпе чего в диалогововом окне нажать Ок. А в типе диаграмм выбрать Statechart.

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

Назначение кнопок специальной панели инструментов диаграммы состояний изображение При необходимости их можно добавить на специальную панель диаграммы состояний. Продолжая разработку проекта по моделированию системы управления ИСОом, можно приступить к разработке новой диаграммы состояний. С этой целью для диаграммы состояний модели ИСО задайте имя Диаграмма состояний ИСО, а в секцию ее документации введите текст «Диаграмма состояний описывает конечный автомат ИСО».

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

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

Для добавленного состояния можно открыть диалоговое окно его свойств двойным щелчком лкм на изображении этого элемента на диаграмме.

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

При необходимости в диалоговом окне спецификации свойств выбранного состояния можно задать вложенное историческое состояние. Для этого следует выставить отметку у свойства State/activity history (Историческое состояние/деятельность) и нажать кнопку Apply. В результате внутри исходного состояния появится вложенное историческое состояние.

Добавление вложенного исторического состояния и состояния глубокой истории для состояния Проверка пароля Чтобы обычное историческое состояние превратить в состояние глубокой истории, следует дополнительно выставить отметку у свойства Sub state/activity history (Историческое под-состояние/деятельность), которое становится доступным для редактирования после выбора первого свойства, и нажать кнопку Apply. В результате внутри исходного состояния появится вложенное состояние глубокой истории.

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

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

Дополнительно можно определить следующие свойства состояний:

задать текстовый стереотип состояния, определить внутренние действия на входе и выходе, а также внутреннюю деятельность. Эти свойства доступны для редактирования на вкладке General (Общие) и Actions (Действия). На вкладке Transitions (Переходы) можно определять и редактировать переходы, которые входят и выходят из рассматриваемого состояния.

Последняя вкладка Swimlanes (Дорожки) служит для спецификации дорожек, которые, в контексте языка UML, определяются для диаграммы деятельности.

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

После добавления перехода на диаграмму состояний можно открыть диалоговое окно его свойств и специфицировать дополнительные свойства, доступные на соответствующих вкладках. Следует обратить внимание на две первые строки вкладки Detail (Подробно), которые представляются наиболее важными из свойств перехода. Первое поле ввода Guard Condition служит для задания сторожевого условия, которое определяет правило срабатывания соответствующего перехода. Во втором поле ввода Action можно специфицировать действие, которое происходит при срабатывании перехода до того, как моделируемая система попадет в целевое состояние.

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

Дальнейшее построение диаграммы состояний модели ИСО Для завершения построения диаграммы состояний рассматриваемого примера следует описанным выше способом добавить оставшиеся состояния и переходы. С этой целью следует выполнить следующие действия:

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

2. Добавить переход: студенческий билет вставлена, направленный от состояния Ожидание студенческого билета к состоянию Ожидание ввода Пароля.

3. Добавить переход: Пароль введен, направленный от состояния Ожидание ввода Пароля к состоянию Проверка Пароля.

4. Добавить переход: отмена транзакции, направленный от состояния Ожидание ввода Пароля к состоянию Окончание работы.

5. Добавить переход со сторожевым условием: [Пароль верный], направленный от состояния Проверка Пароля к состоянию Ожидание выбора клиента.

6. Добавить переход со сторожевым условием: [Пароль неверный], направленный от состояния Проверка Пароля к состоянию Ожидание ввода Пароля.

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

Для продолжения построения диаграммы состояний следует выполнить следующие действия:

8. Добавить переход: выбор суммы оплаты со сторожевым условием:

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

9. Добавить переход: выбор справки, направленный от состояния Ожидание выбора студента к состоянию Обработка запроса на получение справки.

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

11.Добавить переход со сторожевым условием: [кредит не превышен], направленный от состояния Обработка запроса на снятие денег со счета студента к состоянию Выписка счета.

12.Добавить переход: сумма списана со сторожевым условием: [выбрана печать счета], направленный от состояния Списание денег со счета студента к состоянию Печать.

13.Добавить переход: справка сформирована, направленный от состояния Обработка запроса на получение справки к состоянию Печать.

14.Добавить переход: печать закончена, направленный от состояния Печать к состоянию Окончание работы.

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

16.Добавить переход: операция обмена данными завершена, направленный от состояния Завершение операции обмена данными к состоянию Окончание работы.

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

В разрабатываемой модели диаграмма состояний является единственной и описывает поведение системы управления ИСОом в целом.

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

Разработка диаграммы деятельности и редактирование свойств ее элементов Особенности разработки диаграммы деятельности в среде IBM Rational Rose Диаграмма деятельности в среде IBM Rational Rose, так же как и диаграмма состояний, может относиться к отдельному классу, операции класса, варианту использования, пакету или представлению. Для того чтобы построить диаграмму деятельности, ее вначале необходимо создать и активизировать.

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

Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности.

Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: New > Activity Diagram (Новая > Диаграмма деятельности).

Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: New > Activity Diagram (Новая > Диаграмма деятельности).

Выполнить операцию главного меню: Browse > State Machine Diagram (Обзор > Диаграмма состояний), после следует чего выбрать представление и тип разрабатываемой диаграммы - диаграмма деятельности.

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

. Назначение кнопок специальной панели инструментов диаграммы деятельности изображение Transition Self Horizontal Synchronization Vertical Synchronization Activity Для разрабатываемого проекта системы управления ИСО диаграмма деятельности описывает последовательность действий студента при использовании ИСО. Для удобства можно включить эту диаграмму в логическое представление, для чего необходимо в браузере проекта выделить логическое представление (Logical View) и выполнить операцию контекстного меню: NewActivity > Diagram (Новая > Диаграмма деятельности). Задайте имя Диаграмма деятельности 1, а в секцию ее документации введите текст «Диаграмма деятельности описывает последовательность действий студента при использовании ИСО».

Добавление деятельности на диаграмму деятельности и редактирование ее свойств Для добавления деятельности на диаграмму деятельности нужно нажать кнопку с изображением пиктограммы деятельности на специальной панели инструментов, щелкнуть лкм на свободном месте рабочего листа диаграммы. На диаграмме появится изображение деятельности с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию, которое разработчику следует изменить. Добавить деятельность на диаграмму можно также с помощью операции главного меню: Tools > Create > Activity или с помощью операции контекстного меню: New > Activity, предварительно выделив диаграмму деятельности в браузере проекта. Задайте имя Начать авторизацию.

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

При этом для деятельности становятся доступными для выбора два стереотипа: Business Activity (Бизнес-деятельность) и Business Transaction (Бизнес-транзакция), которые имеют собственное графическое изображение.

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

IBM Rational Rose позволяет определить свойства деятельности, доступные на вкладке Actions (Действия), но внутренние действия являются свойствами общего понятия состояния, а внутренняя деятельность служит именем собственно деятельности, помещаемой на диаграмму деятельности.

Поэтому для деятельности во избежание недоразумений лучше оставить эту вкладку пустой.

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

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

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

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

Дальнейшее построение диаграммы деятельности модели ИСО рассматриваемого примера следует описанным выше способом добавить оставшиеся деятельности и переходы. С этой целью следует выполнить следующие действия:

1. Добавить деятельности с именами: Ввести Пароль, Выбрать тип транзакции, Ввести сумму, Получить справку о состоянии счета, Списать средства со счета, Получить счет и финальное состояние.

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

3. Добавить переход, направленный от деятельности Ввести Пароль к символу решения.

4. Добавить переход со сторожевым условием: [Пароль верный], направленный от символа решения к деятельности Выбрать тип транзакции. Для задания сторожевого условия данного перехода следует ввести текст Пароль верный в поле ввода Guard Condition (Сторожевое условие) на вкладке Detail (Подробно) окна спецификации свойств данного перехода. При этом текст сторожевого условия следует вводить без скобок.

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

5. Добавить переход со сторожевым условием: [Пароль неверный], направленный от символа решения к символу соединения.

6. Добавить переход, направленный от деятельности Выбрать тип операции обмена данными к символу решения.

7. Добавить переход со сторожевым условием: [выбор снятия суммы], направленный от символа решения к деятельности Ввести сумму.

8. Добавить переход со сторожевым условием: [выбор получения справки], направленный от символа решения к деятельности Получить справку о состоянии счета.

9. Добавить переход, направленный от деятельности Ввести сумму к символу решения.

10.Добавить переход со сторожевым условием: [сумма не превышает кредит], направленный от символа решения к деятельности Списания денег со счета студента.

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

12.Добавить переход со сторожевым условием: [выбрана печать чека], направленный от символа решения к деятельности Получить счет.

13.Добавить переход со сторожевым условием: [печать чека не выбрана], направленный от символа решения к символу соединения.

14.Добавить переход, направленный от деятельности Получить счет к символу соединения.

15.Добавить переход, направленный от деятельности Получить справку о состоянии счета к символу соединения.

16.Добавить переход, направленный от символа соединения к деятельности Окончание работы.

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

Построенная таким образом диаграмма деятельности будет иметь следующий вид.

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

Разработка диаграммы деятельности для моделирования бизнеспроцессов Особенности проектов по моделированию бизнес-процессов в среде IBM Rational Rose IBM Rational Rose может быть также успешно использована для выполнения проектов по моделированию бизнес-процессов. С Erwin в плане анализа ей не сравниться, по этой причине рассматриваемые диаграммы используются в качестве вспомогательного инструмента. Наиболее подходящим типом диаграмм для визуального представления схем выполнения бизнес-процессов являются диаграммы деятельности, на которых дополнительно размещаются так называемые дорожки (Swimlane).

Назначение дорожек состоит в том, чтобы указать зоны ответственности за выполнения отдельных деятельностей в рамках моделируемого бизнеспроцесса. В качестве имен дорожек используются либо названия подразделений (департаментов) ОУ. Особенности данных проектов заключаются в том, необходимо построить модели бизнес-процессов некоторой существующей учебной организации. Чтобы акцентировать внимание на подобных проектах, их часто называют проектами типа «As is»

(«Как есть»). Соответственно проекты по разработке новых продуктов или моделей новых систем называют проектами типа «To be» («Как должно быть»).

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

Для вновь разрабатываемого проекта по моделированию бизнеспроцессов ОУ в среде IBM Rational Rose создайте новый проект с именем:

МодельБП. В качестве первой диаграммы проекта будет служить диаграмма деятельности, которая описывает отдельный бизнес-процесс в виде последовательности выполнения действий подразделениями ОУ при заключении договоров на на оказание образовательных услуг. Для удобства можно включить эту диаграмму в логическое представление, для чего необходимо в браузере проекта выделить логическое представление (Logical View) и выполнить операцию контекстного меню: New > Activity Diagram (Новая > Диаграмма деятельности).

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

Tools > Create > Swimlane или с помощью операции контекстного меню:

New > Swimlane. Для задания имени дорожки следует открыть диалоговое окно спецификации ее свойств и ввести ее имя в поле ввода Name.

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

После добавления дорожек на диаграмму состояний можно перейти к добавлению деятельностей и переходов. В качестве первой деятельности добавьте деятельность с именем Принять заказ по e-mail, которую разместите в первой дорожке. Этот факт будет означать, что деятельность Принять заказ по факсу выполняется в Отделе приема заявок или, т.е. сотрудники этого отдела несут ответственность за выполнение данной деятельности.

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

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

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

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

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

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

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

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

Поэтому разработка диаграмм этого типа занимает центральное место при выполнении проектов по реинжинирингу и оптимизации бизнес-процессов с использованием нотации UML.

Разработка диаграммы компонентов и редактирование свойств ее элементов Особенности разработки диаграммы компонентов в среде IBM Rational Rose Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе разработки ИСО и является необходимой для генерации программного кода. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).

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

Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.

Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная).

Через пункт меню Browse > Component Diagram (Браузер > Диаграмма компонентов).

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

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

Графическое изображение стереотипов компонентов и их характеристика по умолчанию стереотипа Program Specification e Body Specification Body Содержит описание переменных, Subprogram программных приложениях. При содержит определений классов Использование рассмотренных стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.

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

Добавить компонент на диаграмму можно также с помощью операции главного меню: Tools > Create > Component или с помощью операции контекстного меню: New > Component, предварительно выделив представление компонентов в браузере проекта.

В результате этих действий на диаграмме появится изображение компонента с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию, которое разработчику следует изменить. Продолжая разработку модели системы управления ИСО, постройте для нее диаграмму компонентов. С этой целью измените имя диаграммы, предложенное по умолчанию Main, на Диаграмма компонентов ИСО, а для первого добавленного компонента задайте имя MainISO.exe.

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

Редактирование этих свойств для произвольного компонента осуществляется с помощью диалогового окна спецификации свойств.

В частности, для компонента MainISO.exe можно выбрать стереотип из предлагаемого вложенного списка, поскольку применительно к разрабатываемой модели предполагается реализация этого компонента в форме исполнимого файла. При этом на вкладке Realizes (Реализует) содержатся все классы, включая и актеров, которые на данный момент присутствуют в модели. Классы будут показаны в этом окне только при выбранном свойстве Show all classes (Показать все классы).

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

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

Применительно к диаграмме компонентов модели ИСО рассмотренным способом следует добавить отношение зависимости от компонента с именем MainISO.exe к компоненту с именем MainDE. В дополнение к этому для наглядности можно указать в форме примечаний те классы модели, которые предполагается реализовать в данных компонентах.

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

Дальнейшее построение диаграммы компонентов модели ИСО рассматриваемого примера следует описанным выше способом добавить оставшиеся компоненты и зависимости. С этой целью следует выполнить следующие действия:

1. Добавить компонент с именем: Устройства ИСО, для которого задать стереотип Task Specification.

2. Добавить компоненты с именами: Устройство чтения студенческого билета, Клавиатура ИСО, Принтер ИСО, Экран ИСО, для которых задать стереотип Task Body.

3. Добавить зависимость от компонента с именем MainISO.exe к компоненту с именем Устройства ИСО.

4. Добавить зависимость от компонента с именем Устройство чтения студенческого билета к компоненту с именем Устройства ИСО.

5. Добавить зависимость от компонента с именем Клавиатура ИСО к компоненту с именем Устройства ИСО.

6. Добавить зависимость от компонента с именем Принтер ИСО к компоненту с именем Устройства ИСО.

7. Добавить зависимость от компонента с именем Экран ИСО к компоненту с именем Устройства ИСО.

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

Разработка диаграммы развертывания и редактирование свойств ее элементов Особенности разработки диаграммы развертывания в среде IBM Rational Rose Диаграмма развертывания является второй составной частью физического представления модели и разрабатывается, как правило, для территориально распределенных систем. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление развертывания (Deployment View), в котором уже содержится диаграмма развертывания с пустым содержанием и без собственного имени.

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

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

Дважды щелкнуть на пиктограмме представления развертывания (Deployment View) в браузере проекта.

Выполнить операцию главного меню: Browse > Deployment Diagram (Обзор > Диаграмма развертывания).

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

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

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

Tools > Create > Processor или с помощью операции контекстного меню:

New > Processor, предварительно выделив представление развертывания в браузере проекта. Аналогично добавить устройство на диаграмму можно также с помощью операции главного меню: Tools > Create > Device или с помощью операции контекстного меню: New > Device, предварительно выделив представление развертывания в браузере проекта. В результате этих действий на диаграмме развертывания появится изображение узла требуемого типа с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию, которое разработчику следует изменить. При этом следует иметь в виду, что в среде IBM Rational Rose под процессором понимается ресурсоемкий узел, а под устройством нересурсоемкий узел.

Продолжая разработку модели системы управления ИСО, постройте для нее диаграмму развертывания. С этой целью в качестве первого узла выберите тип процессор и задайте ему имя ИСО №1, для которого в форме примечания укажем помеченное значение: {адрес = пр. Кронверкский, д.49}.

Это значение служит для спецификации конкретного адреса одного из ИСО системы.

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

Спецификация этих свойств осуществляется с помощью диалогового окна спецификации свойств процессора.

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

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

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

Preemptive (С приоритетом) - определяет процедуру планирования, при которой процесс с большим приоритетом будет иметь преимущество при использовании ресурсов процессора по сравнению с менее приоритетными процессами.

preemptive (Без приоритета) - определяет процедуру планирования, при которой все приоритеты процессов игнорируются.

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

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

Executive (Исполнительный) - определяет процедуру планирования, для которой существует некоторый алгоритм, предназначенный для управления отдельными процессами.

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

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

Продолжая разработку диаграммы развертывания для модели ИСО, следует добавить второй узел типа устройство (Device) с именем Сеть, для которого задать стереотип. При этом для задания стереотипа следует ввести его текст без угловых кавычек в строку с именем Stereotype.

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

Добавление соединения и редактирование его свойств Для добавления соединения между двумя узлами нужно нажать кнопку с изображением соединения на специальной панели инструментов, и щелкнуть лкм на изображении одного из узлов на диаграмме и отпустить ее на изображении другого узла. Добавить соединения на диаграмму развертывания можно также с помощью операции главного меню: Tools > Create > Connection.

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

Применительно к диаграмме развертывания модели ИСО одним из рассмотренных способов следует добавить соединение для узлов с именами ИСО №1 и Сеть.

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

Дальнейшее построение диаграммы развертывания модели ИСО рассматриваемого примера следует описанным выше способом добавить оставшиеся узлы и соединения. С этой целью следует выполнить следующие действия:

1. Добавить процессор с именем: ИСО №2, для которого задать помеченное значение в форме примечания: {адрес = ул. Чайковского, д.12}, а на вкладке свойств Detail определить новый процесс и выбрать для него имя MainISO из вложенного списка.

2. Добавить процессор с именем: ИСО №3, для которого задать помеченное значение в форме примечания: {адрес = пер. Гривцова, л.9}, а на вкладке свойств Detail определить новый процесс и выбрать для него имя MainISO из вложенного списка.

3. Добавить процессор с именем: Сервер ИСО, для которого на вкладке свойств Detail определить новый процесс с именем MainDE.

4. Добавить соединение для узлов с именами ИСО №2 и Сеть.

5. Добавить соединение для узлов с именами ИСО №3 и Сеть.

6. Добавить соединение для узлов с именами Сервер ИСО и Сеть.

IBM Rational Rose не поддерживает возможности графического размещения внутри узлов развертываемых на них компонентов. Указать размещение компонентов модели в узлах диаграммы развертывания можно с помощью документации соответствующих узлов. После построения диаграммы развертывания разработка визуальной модели системы управления ИСО в нотации UML может считаться завершенной.

Дальнейшая работа с моделью зависит от целей выполнения проекта.

Если проект не предполагает программную реализацию, то можно ограничиться формированием проектной документации. С этой целью следует выполнить операцию главного меню: Report > SoDA Report_ (Отчет > Отчет с помощью SoDA), в результате чего будет открыто диалоговое окно свойств для выбора шаблонов генерации отчета. После выбора шаблонов будет автоматически сгенерирован отчет о разрабатываемой модели в формате MS Word с использованием специального средства IBM Rational SoDA, если оно доступно в системе после инсталляции IBM Rational Rose.

Если проект предполагает программную реализацию, то целесообразно воспользоваться возможностями генерации программного кода в среде IBM Rational Rose

6. КОМПЛЕКСИРОВАНИЕ ИСО

Особенности генерации программного кода в среде IBM Rational Rose Подготовка модели для генерации программного кода Одним из наиболее важных свойств программы IBM Rational Rose является возможность генерации программного кода на нескольких языках программирования, которая может быть использована разработчиком после построения модели. Для этой цели в среде IBM Rational Rose присутствует достаточно большой выбор языков программирования и схем баз данных.

Однако возможность генерации текста программы на том или ином языке программирования зависит от установленной версии IBM Rational Rose.

Общая последовательность действий, которые необходимо выполнить для генерации программного кода в среде IBM Rational Rose, состоит из следующих этапов:

1. Проверка модели на отсутствие ошибок.

2. Создание компонентов для реализации классов.

3. Отображение классов на компоненты.

4. Выбор языка программирования для генерации текста программного 5. Установка свойств генерации программного кода.

6. Выбор класса, компонента или пакета.

7. Генерация программного кода.

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

В среде IBM Rational Rose предусмотрено задание достаточно большого числа свойств, характеризующих как отдельные классы, так и проект в целом. Для определенности в качестве языка реализации проекта целесообразно выбрать язык программирования ANSI C++, который не требует инсталляции дополнительных программ и поставляется практически во всех конфигурациях IBM Rational Rose. Поскольку язык ANSI С++ не допускает использование символов кириллицы в качестве имен классов, атрибутов и операций, необходимо соответствующим образом модифицировать диаграмму классов.

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

Для проверки модели следует выполнить операцию главного меню:

Tools > Check Model (Инструменты > Проверить модель). Результаты проверки разработанной модели на наличие ошибок отображаются в окне журнала. Прежде чем приступить к генерации текста программного кода разработчику следует добиться устранения всех ошибок и предупреждений, о чем должно свидетельствовать чистое окно журнала.

В случае ошибок появится сообщение А в случае удачи:

Создание компонентов для реализации классов и отображение классов на компоненты IBM Rational Rose позволяет генерировать программный код на языке ANSI C++ для каждого класса модели без предварительного построения диаграммы компонентов, но имеет смысл воспользоваться разработанной ранее диаграммой компонентов.

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

Применительно к модели ИСО для компонента MainISO.exe выберите для генерации программного кода классы ISOTransaction и ISOController.

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

Выбор языка программирования и редактирование свойств генерации программного кода Для выбора языка ANSI C++ в качестве языка реализации модели следует выполнить операцию главного меню: Tools > Options (Инструменты > Параметры), в результате чего будет вызвано диалоговое окно настройки параметров модели. Далее на вкладке Notation (Нотация) в строке Default Language (Язык по умолчанию) из вложенного списка следует выбрать язык - ANSI C++.

Если по какой-то причине языка ANSI C++ не оказалось во вложенном списке, то следует убедиться в том, что этот язык программирования установлен в качестве расширения IBM Rational Rose. Для этого следует открыть окно установленных расширений, выполнив операцию главного меню: Add-Ins > Add-In Manager (Расширения > Менеджер расширений), и убедиться в том, что выставлена отметка в строке с именем языка ANSI C++.

Если ее нет, то ее следует добавить, после чего появится группа доступных операций ANSI C++ в главном меню Tools.

После выбора языка программирования по умолчанию следует изменить язык реализации каждого из компонентов модели. С этой целью следует изменить язык в строке Language (Язык) на вкладке General (Общие) окна спецификации свойств компонента, для чего из вложенного списка следует выбрать язык - ANSI C++.

После выбора языка программирования следует привести в соответствие типы атрибутов, типы аргументов и возвращаемых значений операций. С этой целью нужно просмотреть все классы диаграммы классов и изменить те типы данных, которые не являются синтаксически допустимыми в выбранном языке программирования. Применительно к языку ANSI C++ следует заменить тип Integer на int, Boolean на bool, Currency на float. В противном случае соответствующие исправления придется выполнять вручную после генерации программного кода.

Редактирование общих свойств генерации программного кода возможно в специальном диалоговом окне, которое может быть открыто в результате выполнения операции главного меню: Tools > ANSI C++ > Open ANSI C++ Specification (Инструменты > Язык ANSI C++ > Открыть спецификацию языка ANSI C++).

Дополнительные свойства генерации программного кода отдельного класса можно специфицировать в диалоговом окне, которое может быть открыто в результате выполнения операции контекстного меню: ANSI C++ > Class Customization (Язык ANSI C++ > Настройка свойств класса). При этом соответствующий класс должен быть выделен в браузере проекта.

При генерации программного кода на языке ANSI C++ для модели ИСО значения свойств, предлагаемых средой IBM Rational Rose по умолчанию, первоначально можно оставить без изменения.

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

Применительно к рассматриваемой модели системы управления ИСОом для генерации программного кода на языке ANSI C++ выберите компонент с именем MainISO.exe. Генерация программного кода в IBM Rational Rose возможна для отдельного класса или компонента. Для этого нужный элемент модели предварительно следует выделить в браузере проекта и выполнить операцию контекстного меню: ANSI C++ > Generate Code_ (Язык ANSI C++ > Генерировать код). В результате этого будет открыто диалоговое окно с предложением выбора классов для генерации программного кода на выбранном языке программирования. После выбора соответствующих классов и нажатия кнопки OK программа IBM Rational Rose выполняет генерацию кода.

Для просмотра и редактирования созданных файлов с текстом программного кода на языке ANSI C++ предназначен встроенный текстовый редактор, который можно открыть с помощью операции контекстного меню:

ANSI C++ > Browse Header_ (Язык ANSI C++ > Просмотреть заголовочный файл) или ANSI C++ > Browse Body_ (Язык ANSI C++ > Просмотреть файл реализации) для выбранного класса в браузере проекта.

После генерации программного кода для компонента MainISO.exe каждому классу, реализованному в данном компоненте, будет соответствовать несколько файлов с текстом кода на языке ANSI C++. Так, например, для класса ISOTransaction будет сгенерирован заголовочный файл с расширением «h» и файл реализации с расширением «cpp».

В заголовочном файле содержится объявление в соответствии с правилами синтаксиса языка ANSI C++ всех операций и атрибутов класса ATMTransaction. При этом информация о документировании операций и атрибутов помещается в комментарии перед соответствующими элементами программы.

В файле реализации содержится заготовка для реализации всех операций класса ISOTransaction в соответствии с правилами синтаксиса языка ANSI C++. При этом каждая из операций имеет пустое тело реализации, которое следует написать дополнительно, исходя из функциональных требований модели и синтаксиса языка программирования ANSI C++. Данную работу удобнее выполнять в выбранной интегрированной среде программирования, например, MS Visual C++ или Borland C++. При использовании интегрированной среды кроме компиляции, отладки и тестирования исходных модулей программы разработчик получает возможность дополнить приложение графическим интерфейсом, необходимым для взаимодействия с пользователем.

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

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

7. ТЕСТИРОВАНИЕ, ВЕРИФИКАЦИЯ И

ДОКУМЕНТИРОВАНИЯ ИСО

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

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

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

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

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

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

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

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

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

Системное тестирование Логическим завершением интеграционного тестирования является системное тестирование. На этом этапе все модули системы объединены и работают вместе. Системное тестирование предназначено не для выявления проблем отдельных модулей - все они должны были быть устранены ранее, а для выявления проблем системы в целом, проблем использования системы в реальном окружении. Системные тесты учитывают такие аспекты системы, как устойчивость в работе, производительность, соответствие системы ожиданиям пользователя и т.п. Для определения полноты системного тестирования также используются иные способы - оценивается полнота выполнения всех возможных сценариев работы (как штатных, так и нештатных), полнота различных методов взаимодействия системы с внешним миром и т.п.

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

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

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

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

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

1. Несоответствие поведения системы требованиям 2. Неадекватное поведение системы в ситуациях, не предусмотренных требованиями.

Отчеты об обоих типах проблем документируются и передаются разработчикам. При этом проблемы первого типа обычно вызывают изменение программного кода, гораздо реже - изменение требований.

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

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

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

Стеклянный (белый) ящик При тестировании системы как стеклянного ящика тестировщик имеет доступ не только к требованиям к системе, ее входам и выходам, но и к ее внутренней структуре - видит ее программный код.

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

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

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

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

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

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

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

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

После этого среда должна сравнить реальные выходные данные с ожидаемыми и на основании данного сравнения сделать вывод о соответствии поведения модуля заданному).

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

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

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

1. Вызов тестируемого модуля 2. 1 + передача в тестируемый модуль входных значений и прием результатов 3. 2 + вывод выходных значений 4. 3 + протоколирование процесса тестирования и ключевых точек программы Заглушки могут выполнять следующие функции:



Pages:     | 1 | 2 || 4 |


Похожие работы:

«Министерство образования Российской Федерации Ульяновский государственный технический университет К. К. Васильев ТЕОРИЯ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ (следящие системы) 2-е издание Рекомендовано Учебно-методическим объединением по образованию в области автоматики, электроники, микроэлектроники и радиотехники в качестве учебного пособия для студентов, обучающихся по направлению 5511 и специальностям 2008 и 2205 Ульяновск 2001 УДК 621.37/39 (075) ББК 32 я 7 В19 Рецензенты: ОКБ Ульяновского...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ УТВЕРЖДАЮ Заместитель Министра образования и науки Российской Федерации _ А.Г.Свинаренко 31 января 2005 Номер государственной регистрации 726 пед/бак (новый) ГОСУДАРСТВЕННЫЙ ОБРАЗОВАТЕЛЬНЫЙ СТАНДАРТ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ НАПРАВЛЕНИЕ ТЕХНОЛОГИЧЕСКОЕ ОБРАЗОВАНИЕ Степень (квалификация) — бакалавр ТЕХНОЛОГИЧЕСКОГО образования Вводится с момента утверждения взамен ранее утвержденного 27.03.2000 г. №294пед/бак Москва 2005 г. 1....»

«СМОЛЕНСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ ФАКУ ЛЬТЕТМЕЖДУНАРОДНОГО ТУРИЗМА И ИНОСТР АННЫХ ЯЗЫКОВ КАФЕДР А ТЕХНОЛОГИИ ПРОДУКТОВ ПИТАНИЯ ЖУРОВА ВИКТОРИЯ ГЕННАДЬЕВНА Учебно-методическое пособие по дисциплине: Неорганическая химия для студентов, обучающихся по специальности 260501 Технология продуктов общественного питания (заочная форма обучения) Смоленск – 2008 1. ТРЕБОВАНИЯ ГОСУДАРСТВЕННОГО ОБР АЗОВАТЕЛЬНОГОСТАНДАРТА ЕН.Ф.04.01 Неорганическая химия: 200 периодическая система и строение атомов...»

«Федеральное государственное образовательное учреждение Среднего профессионального образования Челябинский юридический техникум Вопросы к экзаменам и зачетам Задания для выполнения контрольных работ Вариант № 2 IV курс правового заочного отделения Специальность: 080106.51 Финансы (по отраслям) Челябинск, 2011 год МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНЫХ РАБОТ Контрольные работы студенты должны выполнять по учебному графику и представлять в техникум в указанные сроки. Выполнение...»

«А.Н. Мартынов, Е.С. Мельников, В.Ф. Ковязин, А.С. Аникин, В.Н. Минаев, Н.В. Беляева ОСНОВЫ ЛЕСНОГО ХОЗЯЙСТВА И ТАКСАЦИЯ ЛЕСА Учебное пособие Санкт-Петербург 2008 Министерство образования и науки Российской Федерации Федеральное агетство по образованию САНКТ-ПЕТЕРБУРГСКАЯ ГОСУДАРСТВЕННАЯ ЛЕСОТЕХНИЧЕСКАЯ АКАДЕМИЯ имени С.М. Кирова А.Н. Мартынов, доктор сельскохозяйственных наук, профессор, Е.С. Мельников, доктор сельскохозяйственных наук, профессор, В.Ф. Ковязин, кандидат сельскохозяйственных...»

«2 Экспертное заключение на учебники по литературе для общеобразовательной школы Р.Н.Бунеева, Е.В.Бунеевой Шаг за горизонт - 5 класс, Год после детства - 6 класс, Путь к станции Я - 7 класс, Дом без стен - 8 класс. Задачей данного заключения является выяснение возможности нанесения психологических травм учащимся в процессе обучения по вышеназванным учебникам. И в частности, вероятности формирования детских страхов и фобий при прохождении учебного материала и формирования мистического и...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАРКЕТИНГА И.О. СЕРДОБОЛЬСКАЯ ПРАКТИКУМ ПО КУРСУ МАРКЕТИНГ-МЕНЕДЖМЕНТ УСЛУГ Для магистрантов II курса направления Менеджмент программы Маркетинг 2 ИЗДАТЕЛЬСТВО САНКТ-ПЕТЕРБУРГСКОГО ГОСУДАРСТВЕННОГО ЭКОНОМИЧЕСКОГО УНИВЕРСИТЕТА ББК 65.290- С...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ _ В.С. Иванова СОЦИОЛОГИЯ УПРАВЛЕНИЯ Рекомендовано в качестве учебного пособия Редакционно-издательским советом Томского политехнического университета Издательство Томского политехнического университета 2012 УДК 316.354:351/.354(075.8) ББК С55.372я73 И20 Иванова В. С....»

«Annotation Данное учебное пособие освещает вопросы истории русского языка, его структуры, использования в общении; излагает теорию русского литературного языка в том состоянии, которое сложилось на современном этапе его развития. Курс Современный русский язык содержит разделы по лексике, фонетике, орфографии, морфеологии. Данное пособие предназначено для студентов неязыковых вузов. Л.Я. Лачимова, Т.И. Гусева, Е.В. Бегаева, А.А. Янсюкевич Введение 1. Предмет и задачи курса 2. Понятие...»

«Учебно-методическое обеспечение образовательной программы 2014-2015 учебный год Предмет класс Авторы, название Виды Кем Дополнительные пособия утверждена программы, где программ Базовый учебник для учащихся и педагогов опубликована Начальное общее образование Учебно-методический комплекс Школа России Авторы: Типовые МО РФ Горецкий В.Г., Кирюшкин В.А., Для учителя Русский 1 Канакина В.П., учебные Виноградская Л.А. и др. Азбука Горецкий В. Г., Белянкова Н. М. Обучение язык Горецкий В.Г. и др....»

«Министерство образования республики Беларусь Учреждение образования БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Кафедра радиоэлектронных средств Ж.С. Воробьева, Н.С. Образцов, Н.А. Смирнова ТЕХНИЧЕСКОЕ ЗАДАНИЕ И ОБЩИЕ ПОДХОДЫ К ЕГО ВЫПОЛНЕНИЮ Методическое пособие по курсу Конструирование РЭУ для студентов специальности Моделирование и компьютерное проектирование РЭС дневной формы обучения Минск 2002 УДК 621.396.6.002(075.8) ББК 32.844-02 я 73 В 75 Воробьева Ж.С. В 75...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ ТАВРИЧЕСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ имени В.И. ВЕРНАДСКОГО ФИЛОСОФСКИЙ ФАКУЛЬТЕТ Кафедра социологии и Кафедра культурологии социальной философии Кафедра политических наук и международных отношений МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ КУРСОВЫХ И КВАЛИФИКАЦИОННЫХ РАБОТ НАПРАВЛЕНИЙ И СПЕЦИАЛЬНОСТЕЙ ФИЛОСОФСКОГО ФАКУЛЬТЕТА СИМФЕРОПОЛЬ 2011 Рекомендовано к печати заседанием кафедры социологии и социальной философии протокол №5 от 28.12.10. Рекомендовано к...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Технологический институт Федерального государственного образовательного учреждения высшего профессионального образования Южный федеральный университет СОГЛАСОВАНО УТВЕРЖДАЮ Зав. кафедорой РТС Декан радиотехнического факультета _ В. Т. Лобач _ С. Г. Грищенко 200/ учеб.год _200/_ учеб.год УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС (УМК) учебной дисциплины ПРОЕКТИРОВАНИЕ УСТРОЙСТВ ОБРАБОТКИ СИГНАЛОВ Таганрог 2008 г. 1....»

«Министерство здравоохранения Российской Федерации Учебно-методическое объединение медицинских и фармацевтических вузов Московская медицинская академия им. И.М. Сеченова СОГЛАСОВАНО УТВЕРЖДАЮ Руководитель департамента Зам. председателя образовательных учебно-методического медицинских учреждений объединения медицинских и кадровой политики и фармацевтических вузов МЗ РФ И.Н. Денисов Н.Н. Володин 24 ноября 2000 г. 24 ноября 2000 г. Государственный стандарт послевузовской профессиональной подготовки...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Нижегородский государственный университет им. Н.И. Лобачевского А.В. Виноградова ИНСТИТУЦИОНАЛЬНАЯ ЭКОНОМИКА: ТЕОРИЯ И ПРАКТИКА Учебно-методическое пособие Рекомендовано методической комиссией финансового факультета для студентов ННГУ, обучающихся по направлению 080100 Экономика. Нижний Новгород 2012 УДК 330.1 ББК 65.02 В-49 В-49 Виноградова А.В. ИНСТИТУЦИОНАЛЬНАЯ ЭКОНОМИКА: ТЕОРИЯ И ПРАКТИКА. Учебно-методическое пособие. – Нижний Новгород:...»

«2 Содержание ВВЕДЕНИЕ. ОБЩАЯ ХАРАКТЕРИСТИКА БИРСКОГО ФИЛИАЛА ФГБОУ ВПО БАШКИРСКИЙ ГОСУНИВЕРСИТЕТ 1 1. СТРУКТУРА ПОДГОТОВКИ СПЕЦИАЛИСТОВ. 6 1.1.Общие сведения по УГС 050000 – Образование и педагогика в Бф БашГУ 6 1.2. Сведения по специальностям УГС 050000 – Образование и педагогика 8 2.ОРГАНИЗАЦИОННО-ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ОБРАЗОВАТЕЛЬНОЙ ДЕЯТЕЛЬНОСТИ 14 3.СОДЕРЖАНИЕ ПОДГОТОВКИ СПЕЦИАЛИСТОВ 17 3.1.Учебный план 3.2.Учебные программы дисциплин и практик, диагностические средства 3.3.Программы и...»

«Государственное бюджетное общеобразовательное учреждение средняя общеобразовательная школа № 270 Красносельского района Санкт-Петербурга РАССМОТРЕНО СОГЛАСОВАНО УТВЕРЖДАЮ на заседании МО учителей Заместитель директора по УР Директор ГБОУ СОШ № 270 Санкт-Петербурга _ Протокол № _ июня 2013г. Е.В. Журавлева от июня 2013г. _ 2013г. ПРИНЯТО Педагогическим советом ГБОУ СОШ № 270 Санкт-Петербурга Протокол № от августа 2013 г. РАБОЧАЯ ПРОГРАММА по музыке класс учитель учебный год 2013-...»

«Томский государственный архитектурно-строительный университет Карауш С. А., Хуторной А.Н. Теплогенерирующие установки систем теплоснабжения Учебное пособие для студентов вузов, обучающихся по направлению Строительство Томск, 2003 Карауш, Сергей Андреевич Теплогенерирующие установки систем теплоснабжения: Учебное пособие для студентов вузов, обучающихся по направлению Строительство/ А.Н. Хуторной. - Томск: Томский государственный архитектурно-строительный университет, 2003.- 161 с. : ил. ISBN...»

«Федеральная таможенная служба Государственное образовательное учреждение высшего профессионального образования Российская таможенная академия Владивостокский филиал Н.Н. Просянников Управление в таможенных органах Учебное пособие Рекомендовано Дальневосточным региональным учебно-методическим центром (ДВ РУМЦ) в качестве учебного пособия для студентов специальности 080502.65 экономика и управление на предприятии (таможня) Владивосток 2008 УДК 005.932 ББК 65.290 П82 Рецензенты: В.Н. Дьяконов,...»

«Министерство образования Республики Беларусь Учреждение образования Белорусский государственный университет информатики и радиоэлектроники Кафедра производственной и экологической безопасности ОХРАНА ТРУДА И ЭКОЛОГИЧЕСКАЯ БЕЗОПАСНОСТЬ Методическое пособие к выполнению раздела Охрана труда и экологическая безопасность в дипломных проектах (работах) для студентов всех специальностей и форм обучения БГУИР Под общей редакцией Т.Ф. Михнюка Минск 2004 УДК 658.382.3 + 577 (075.8) ББК 65.247 + 20.1 я...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.