- •Р.А. Файзрахманов, А.В. Архипов
- •ПРОЕКТИРОВАНИЕ АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ НА ОСНОВЕ ОБЪЕКТНО ОРИЕНТИРОВАННОГО ПОДХОДА
- •4.3. Подведение итогов
- •4.4. Контрольные вопросы
- •4.5. Контрольные задачи и упражнения
- •5. ДИАГРАММА КЛАССОВ
- •5.1. Теоретическая часть
- •5.2. Реализация в Rational Rose
- •5.5. Контрольные задачи и упражнения
- •6.1. Теоретическая часть
- •6.2. Реализация в Rational Rose
- •6.3. Подведение итогов
- •6.4. Контрольные вопросы
- •6.5. Контрольная задача
- •7. ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТЕЙ
- •7.1. Теоретическая часть
- •7.2. Реализация в Rational Rose
- •7.3. Подведение итогов
- •7.4. Контрольные вопросы
- •7.5. Контрольные задачи
- •8. ДИАГРАММА СОТРУДНИЧЕСТВА
- •8.1. Теоретическая часть
- •8.2. Реализация в Rational Rose
- •8.5. Контрольные задачи
- •9. ДИАГРАММА СОСТОЯНИЙ
- •9.1. Теоретическая часть
- •9.3. Подведение итогов
- •9.4. Контрольные вопросы
- •9.5. Контрольные задачи
- •10. ДИАГРАММА ДЕЯТЕЛЬНОСТЕЙ
- •10.1. Теоретическая часть
- •10.3. Подведение итогов
- •10.4. Контрольные вопросы
- •11. ДИАГРАММА КОМПОНЕНТОВ
- •11.1. Теоретическая часть
- •11.4. Контрольные вопросы
- •11.5. Контрольные задачи
- •12.3. Подведение итогов
- •12.4. Контрольные вопросы
- •12.5. Контрольная задача
- •13. ГЕНЕРАЦИЯ КОДА
- •13.1. Алгоритм получения исходного кода C++
- •13.2. Задания для самостоятельного выполнения
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ
- •ИСПОЛЬЗОВАНИЕ МОДУЛЯ «RATIONAL ROSE C++ ANALYZER» ДЛЯ ОБРАТНОГО ВОССТАНОВЛЕНИЯ МОДЕЛИ ПО ИСХОДНОМУ КОДУ
- •РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ UML
- •1. Разработка диаграммы прецедентов
- •2. Разработка диаграммы классов
- •3. Разработка диаграмм взаимодействия
- •4. Разработка диаграммы состояний
- •5. Разработка диаграммы деятельности
- •9. Разработка приложения
- •Контрольные вопросы
- •МОДЕЛЬ РАБОТЫ ПРЕДПРИЯТИЯ ОПТОВОЙ ТОРГОВЛИ. РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ
- •ОГЛАВЛЕНИЕ
- •1. Деятельность и структура предприятия
- •2.1. Реализация продукции со склада
- •2.2. Возврат товара клиентом
- •2.3. Закупка продукции
- •3.1. Общие требования и принципы построения системы
- •3.2. Обеспечение связи офис - склад
- •3.3. Требования к персоналу
- •4. Диаграмма прецедентов
- •4.1. Реализация продукции со склада
- •5. Диаграмма классов
- •5.2. Контрагенты предприятия оптовой торговли
- •5.3. Продукция предприятия оптовой торговли
- •5.4. Заказ продукции
- •5.5. Накладная на получение товара
- •6. Диаграмма взаимодействия
- •12. Разработка приложения
- •ПРОЕКТИРОВАНИЕ АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ НА ОСНОВЕ ОБЪЕКТНО ОРИЕНТИРОВАННОГО ПОДХОДА
Получившаяся диаграмма последовательностей представлена на рис. 7.3. Стоит отметить, что на данной диаграмме отсутствуют названия объектов. Это говорит о том, что мы не конкретизируем, какие именно экземпляры классов участвуют во взаимодействии, а это означает, что эта диаграмма справедливо описывает взаимодей ствия для любых экземпляров данных классов. Объекты, представ ленные на рис. 7.3, называют анонимными.
Рис. 7.3. Пример диаграммы последовательностей
7.2. Реализация в Rational Rose
Диаграммы последовательностей обычно ассоциируются с реали зациями прецедентов. Реализация прецедента (use case realization),
называемая также экземпляром прецедента, представляет собой один из возможных сценариев взаимодействия объектов.
Каждый прецедент - это «переплетение» сценариев - как основ ных, представляющих нормальное течение событий, так и вспомога тельных, определяющих логику функционирования системы в ситуа циях вида «что произойдет, если...». На ранних стадиях анализа
Создадим диаграмму последовательностей для реализации «Вы бор дисциплин преподавателем». Для этого над элементом, пред ставляющим реализацию «Выбор дисциплин преподавателем», вы зываем контекстное меню и выбираем пункт «New» > «Sequence Diagram». Назовем вновь созданную диаграмму «Внесение предло жения дисциплины». Двойным щелчком на элементе «Внесение предложения дисциплины» откроем рабочую область диаграммы последовательностей.
Диаграмма строится в соответствии со спецификацией прецеден та «Выбор дисциплин преподавателем», указанной в табл. 4.1.
Первым делом мы должны разместить на диаграмме все взаимо действующие объекты. Для этого можно воспользоваться пиктограм мой «Object» панели инструментов. При этом можно указать, к какому классу принадлежит конкретный объект: нужно лишь из окна браузера перетащить соответствующий класс на рабочую область диаграммы последовательностей и опустить его на изображение объекта.
Можно вообще не создавать объекты с помощью панели инстру ментов, а сразу перетащить все необходимые классы на рабочую об ласть диаграммы, при этом будут созданы анонимные объекты. Мы пойдем именно этим путем.
Последовательно переносим на рабочую область диаграммы классы, участвующие в сценарии «Внесение предложения дисципли ны», рассмотренном в разд. 5.2. Для акцентирования внимания на том, что актеры также могут присутствовать на диаграмме взаимо действия, поместим актера «Преподаватель» на диаграмму взаимо действия. Далее переносим классы «ChoosingDisciplineOption» (оп ция выбора дисциплины), «AddingOffer» (внесение предложения), «DisciplineOfferControl» (контроль предложения), «Discipline» (дис циплина) и «DisciplineOffer» (предложение дисциплины) (рис. 7.7).
Теперь необходимо показать, как объекты взаимодействуют друг с другом, посылая и принимая сообщения. Для создания сообщения используется пиктограмма «Object Message» панели инструментов. Инициатором взаимодействия в нашем случае является «Преподава тель», и первое его сообщение представляет собой выбор номера се местра. Создадим его. Для этого щелкаем на пиктограмму «Object Message», а затем на линию жизни объекта «Преподаватель» и, не отпуская кнопки мыши, проводим стрелку до линии жизни объекта «ChoosingDisciplineOption». Дважды щелкнув на линию сообщения, вызываем окно «Message Specification» и в поле «пате» заносим на звание сообщения - «chooseTerm» (выбрать семестр).