2. В появившемся контекстно-зависимом меню выберите команду New => Component (Создать => Компонент). В список браузера будет добавлен новый компонент.
3. Введите имя нового компонента — PayrollCalculator.
Последовательность указания стереотипа для компонента PayrollCalculator:
1. Щелкните правой кнопкой мыши по компоненту PayrollCalculator в браузере.
2. В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
3. В открывающемся списке Stereotype (Стереотип) выберите стереотип
ActiveX DLL.
4. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Этапы добавления компонента на главную диаграмму компонентов:
1. Дважды щелкните по диаграмме Main (Главная диаграмма) в разделе Component View (Представление компонентов), чтобы ее открыть.
2. В списке браузера выберите компонент PayrollCalculator и перетащите его с помощью мыши на главную диаграмму компонентов.
Для связывания классов с компонентом PayrollCalculator:
1. Дважды щелкните по компоненту PayrollCalculator в списке браузера или по диаграмме компонентов, чтобы открыть диалоговое окно настройки параметров компонента.
2. Выберите вкладку Realize (Реализация).
3. Выберите класс IPayroll, щелкнув по нему мышью.
4. Нажмите и удерживайте клавишу Shift.
5. Щелкните мышью по классу Payroll.
6. Щелкните мышью по классу Payclerk.
7. Щелкните правой кнопкой мыши по списку классов.
8. В появившемся контекстно-зависимом меню выберите команду Assign (Присвоить).
9. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Последовательность генерации кода па языке Visual Basic:
1. Выберите компонент PayrollCalculator на диаграмме компонентов, щелкнув по нему мышью.
2. Выберите команду меню Tools => Visual Basic => Update code (Сервис => Visual Basic => Обновить код) для запуска мастера Code Update Tool.
3. Щелкните по кнопке Finish (Готово) в окне мастера Code Update Tool.
4. На экране появится диалоговое окно сохранения модели. Введите PayrollCalculator в поле ввода Filename (Имя файла) и щелкните по кнопке Save (Сохранить).
5. Будет создан проект для Visual Basic с формой, названной по умолчанию Form1. Мастер Code Update Tool сообщит, что форма не входит в вашу модель, и запросит подтверждение на удаление ее из проекта. Установите флажок рядом с формой Form1 в диалоговом окне Synchronize (Синхронизация) и щелкните по кнопке ОК для продолжения генерации кода.
6. По завершении генерации кода появится диалоговое окно с итоговым отчетом. Щелкните по кнопке Close (Закрыть), чтобы закрыть окно мастера Code Update Tool.
Чтобы добавить код для метода класса Payclerk:
1. В программе Visual Basic перейдите к методу calcPay класса Payclerk.
2. Замените строку '## Your code goes here…' на CalcPay = rate * 40.
3. Перейдите к методу IPayroll_calcPay класса IPayroll.
4. Замените строку '## Your code goes here на IPayroll_calcPay = myClerk(l). calcPay(rate).
5. Выберите команду меню Project => PayrollCalculator Properties (Проект => Свойства PayrollCalculator).
6. В открывающемся списке Startup Object (Начальный объект) выберите (None).
7. Щелкните по кнопке ОК, чтобы закрыть окно настройки параметров проекта.
8. Выберите команду меню File => Make PayrollCalculator.dll (Файл => Собрать PayrollCalculator.dll).
9. Щелкните по кнопке ОК в диалоговом окне Make Project (Сборка проекта), чтобы сохранить созданную динамическую библиотеку.
10. Выберите команду меню File => Exit (Файл => Выход) для закрытия программы Visual Basic.
Повторное использование библиотеки ActiveXВ этом разделе полученная библиотека будет использоваться для другого приложения с учетом всех этапов анализа и проектирования, рекомендованных в книге. Задача состоит в следующем. Вам нужно создать приложение, которое будет выводить зарплату служащего. Пользователь приложения — управляющий. Вы должны работать с программной библиотекой, предоставленной отделом оплаты труда (то есть созданной ранее DLL). Начнем с новой пустой модели.
Последовательность создания диаграммы прецедентов:
1. Щелкните по значку «+» слева от названия раздела Use Case View (Представление прецедентов) в окне браузера.
2. Дважды щелкните по диаграмме Main (Главная диаграмма) в разделе Use Case View (Представление прецедентов), чтобы открыть ее.
3. Щелкните по кнопке Actor (Актер) на панели инструментов, а затем по диаграмме, чтобы поместить на нее актера.
4. Введите имя нового актера — Manager.
5. Щелкните правой кнопкой мыши по изображению актера на диаграмме.
6. В появившемся контекстно-зависимом меню выберите команду Options => Stereotype display => Icon (Параметры => Отображение стереотипа => Значок).
7. Щелкните по кнопке Use Case (Прецедент) на панели инструментов, а затем по диаграмме, чтобы поместить на нее прецедент.
8. Введите имя нового прецедента — Display Pay.
9. Щелкните по кнопке Unidirectional Association (Однонаправленная ассоциативная связь) на панели инструментов.
10. Щелкните по актеру Manager на диаграмме и проведите линию связи к прецеденту Display Pay.
Для создания диаграммы реализации прецедентов:
1. Щелкните правой кнопкой мыши по названию раздела Logical View (Логическое представление) в браузере.
2. В появившемся контекстно-зависимом меню выберите команду New => Use Case Diagram (Создать => Диаграмма прецедентов). В список браузера будет добавлена новая диаграмма.
3. Введите ее название — Realizations.
4. Дважды щелкните по диаграмме Realizations, чтобы открыть ее. Чтобы создать реализацию прецедента:
1. Щелкните по кнопке Use Case на панели инструментов, а затем по диаграмме, чтобы поместить на нее прецедент.
2. Дважды щелкните по прецеденту, чтобы открыть диалоговое окно настройки его параметров.
3. В поле ввода Name (Название) введите имя прецедента — Display Pay. Важно, чтобы вы указали название прецедента именно таким образом. В этом случае вы сообщите программе Rational Rose о необходимости использования другого пространства имен (namespace). Если ввести название прецедента непосредственно на диаграмме, программа сочтет, что это тот же прецедент Display Pay, что и в представлении прецедентов.
4. В открывающемся списке Stereotype (Стереотип) выберите стереотип use-case-realization (реализация прецедента).
5. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров.
6. На экране появится сообщение о том, что прецедент существует в нескольких пространствах имен. Это нормально. Щелкните по кнопке ОК, чтобы закрыть сообщение.
7. Щелкните правой кнопкой мыши по прецеденту.
8. В появившемся контекстно-зависимом меню выберите команду Stereotype display => Icon (Отображение стереотипа => Значок).
Этапы создания диаграммы последовательности действий:
1. Щелкните правой кнопкой мыши по реализации прецедента Display Pay в списке браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Sequence Diagram (Создать => Диаграмма последовательности действий).
3. Введите название новой диаграммы — Display Pay for an Employee.
4. Дважды щелкните по созданной диаграмме последовательности действий, чтобы открыть ее.
Для добавления объектов и сообщений на диаграмму последовательности действий:
1. В списке браузера выберите актера Manager и перетащите его с помощью мыши на диаграмму последовательности действий.
2. Щелкните по кнопке Object (Объект) на панели инструментов, а затем по диаграмме последовательности действий, чтобы поместить на нее объект.
3. Введите имя объекта — aPayForm.
4. Щелкните по кнопке Object Message (Сообщение) на панели инструментов.
5. Щелкните по пунктирной линии для актера и проведите линию сообщения к пунктирной линии для объекта a Pay Form.
6. Ведите название сообщения — display pay for joe.
7. Щелкните по кнопке Object на панели инструментов, а затем по диаграмме последовательности действий, чтобы поместить на нее объект.
8. Введите имя объекта — Joe.
9. Щелкните по кнопке Object Message на панели инструментов.
10. Щелкните по пунктирной линии для объекта aPayForm и проведите линию сообщения к пунктирной линии для объекта Joe.
11. Введите название сообщения — get pay rate.
12. Щелкните по кнопке Object на панели инструментов, а затем по диаграмме последовательности действий, чтобы поместить на нее объект.
13. Введите имя объекта — aPayClerk.
14. Щелкните по пунктирной линии для объекта aPayForm и проведите линию сообщения к пунктирной линии для объекта aPayClerk.