Средства разработки ПО IBM Software Architect
Содержание Что такое CASE-системы; Системы поддержки коллективной разработки ПО; Системы управления разработкой ПО; Системы проектирования ПО; 2 Нурмухаметов Н.А. 2012
Что такое CASE-системы
Описание CASE-систем CASE (Computer-Aided Software Engineering) Данные системы помогают: –повысить качество, реализуемого ПО; –снизить количество ошибок; –упростить обслуживание программных продуктов; 4 Нурмухаметов Н.А. 2012
Средства CASE-систем Применяются в… –анализе предметной области; предназначены для построения и анализа предметной области; –проектировании баз данных; –разработке приложений; –реинжиниринге; –планировании и управлении проектом; –тестировании; –документировании; 5 Нурмухаметов Н.А. 2012
Инструменты CASE-систем Используются для… –управления конфигурацией; –моделирования данных; –анализа и проектирования; –преобразования моделей; –редактирования программного кода; –рефакторинга кода; –генерации кода; –построения UML-диаграмм. 6 Нурмухаметов Н.А. 2012
Основные положения методологий CASE-систем 1.Построение логической (не физической) модели системы; 2.Методология предполагает построение системы сверху вниз; 3.Включение итерации для более качественной разработки; 7 Нурмухаметов Н.А. 2012
Классификация CASE-пакетов Классификация по способу использования в технологическом процессе Для анализа и проектирования; –Примеры: The Developer (Asyst Technologies), Design Generator (Computer Sciences). Для проектирования баз данных и файлов; –Примеры: Idef/Leverage (D.Appleton), Chen Toolkit (Chen & Associates). Для процесса реализации; –Примеры: Cobol 2/Workbench (Miero Focus), Decase (DEC). Для процесса внедрения; –Примеры: Multi/Cam (AGS Management Systems), Sylvia Foondey (Codmare). Для сопровождения и реинженерии; –Примеры: Adpac Case Tools (Adpac), Superstructure (Computer Data Systems). Для управления проектом; –Примеры: Projekt Workbench (Applied Business Technology). 8 Нурмухаметов Н.А. 2012
Классификация CASE-пакетов Классификация по уровню интегрированности выполняемых функций Вспомогательные программы (Tools); Пакеты разработки (Toolkit); Инструментальные средства (Workbench); 9 Нурмухаметов Н.А. 2012
Классификация CASE-пакетов Классификация по области действия в пределах жизненного цикла ПО Верхние (Upper) CASE; Средние (Middle) CASE; Нижние (Lower) CASE; 10 Нурмухаметов Н.А. 2012
Примеры CASE - систем Dia; ERwin; Rational Software; Umbrello; 11 Нурмухаметов Н.А. 2012
Системы поддержки коллективной разработки ПО На примере Microsoft Team Foundation Server
Мейер Дж.Д., Тейлор Дж. и др. Командная разработка с использованием Visual Studio Team Foundation Server Логический документооборот 13 Нурмухаметов Н.А. 2012
Мейер Дж.Д., Тейлор Дж. и др. Командная разработка с использованием Visual Studio Team Foundation Server Логическая организация работы в нескольких группах разработки 14 Нурмухаметов Н.А. 2012
Мейер Дж.Д., Тейлор Дж. и др. Командная разработка с использованием Visual Studio Team Foundation Server Физическая среда разработки и тестирования 15 Нурмухаметов Н.А. 2012
Другие примеры систем поддержки коллективной разработки ПО Araxis Merge; Atlassian Jira; Embarcadero ER/Studio; Fossil; Mercurial; Rational Team Concert; SourceGear Vault; Subversion; 16 Нурмухаметов Н.А. 2012
Системы управления разработкой ПО На примере Microsoft Team Foundation Server
Схема планирования проектов Концептуальное описание проекта; Формулирование сценариев; Формирование набора функциональных возможностей для реализации выбранных сценариев; Формирование набора рабочих элементов; Распределение задач по областям; Создание плана работ; 18 Нурмухаметов Н.А. 2012
Мейер Дж.Д., Тейлор Дж. и др. Командная разработка с использованием Visual Studio Team Foundation Server Сценарий работы над большим проектом 19 Нурмухаметов Н.А. 2012
Типичные проблемы управления проектами Работа с разрозненными источниками информации; Сложности со сбором показателей проекта; Сложности с выполнением требований; Управление процессами и изменения в них; Недостаток учитываемого обмена информацией и отслеживания задач; Контроль качества; 20 Нурмухаметов Н.А. 2012
Другие примеры систем управления разработкой ПО Atlassian Jira; Easy Projects.NET; Embarcadero ER/Studio; Microsoft Project; OpenProj; TrackStudio Enterprise; 21 Нурмухаметов Н.А. 2012
Системы проектирования ПО Пример использования IBM Software Architect
J.Martin. Presentation 4: IBM Rational Software Architect Example Задача Разработать приложение «Телефонная книга» 23Нурмухаметов Н.А. 2012
Последовательность работы 1.Создание UML проекта; 2.Построение диаграммы вариантов использования; 3.Построение диаграммы классов; 4.Построение диаграммы последовательностей; 5.Публикация проекта; 6.Прямое преобразование UML в Java; 24 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 1 В меню рабочей среды выбрать File > New > Project > Other. 25 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 1 26 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 2 Выберите UML Project и нажмите Next. 27 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 2 28 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 3 В поле название проекта введите MyPhoneBookUMLProject и нажмите Next. 29 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 3 30 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 4 В поле имя файла UML модели введите Phone Book UML Model, уберите флажок Create a default diagram in the new model и после этого нажмите Finish. 31 Нурмухаметов Н.А. 2012
Создание UML проекта: шаг 4 32 Нурмухаметов Н.А. 2012
Создание UML проекта: результат 33 Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования Актер: владелец телефонной книги Варианты использования: –Добавление записи. Ввод пары значений имя человека и номер телефона с помощью пользовательского интерфейса приложения. В хранилище не должно быть совпадающих пар. Система обрабатывает введенные данные и сохраняет их. –Поиск номера телефона. По средствам пользовательского интерфейса получить имя человека номер которого необходимо найти. Система находит номер телефона и возвращает его актеру. 34 Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования: шаг 1 Во вкладке Model Explorer щелкните правой кнопкой мыши на Phone Book UML Model и выберите в контекстном меню Add Diagram > Use Case Diagram. 35Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования: шаг 2 В поле названия диаграммы введите Use Case Diagram вместо Diagram1. Теперь Вы можете построить диаграмму прецедентов, добавляя различные элементы модели из палитры к диаграмме. 36Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования: шаги Выберите Actor на палитре, а затем нажмите левой кнопкой мыши в области диаграммы для создания актера. Назовите актера Owner (владелец книги). 4.Выберите Use Case на палитре, а затем нажмите левой кнопкой мыши в области диаграммы для создания варианта использования. Назовите его Add an entry (добавление записи). 5.Аналогично второй вариант использования с названием Search for a phone number (поиск номера телефона). 37 Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования: шаги 6, 7 6.Выберите Association на палитре. Проведите линию ассоциации от актера Owner к варианту использования Add an entry, чтобы создать отношение между двумя элементами модели. 7.Аналогично создайте линию ассоциации между Owner и случаем Search for a phone number. 38 Нурмухаметов Н.А. 2012
Построение диаграммы вариантов использования: результат 39 Нурмухаметов Н.А. 2012
Построение диаграммы классов Для реализации простого приложения будем использовать архитектурный паттерн Model-View-Controller (MVC). Три класса: –PhoneBookModel –PhoneBookView –PhoneBookController 40Нурмухаметов Н.А. 2012
Построение диаграммы классов. Класс: PhoneBookModel Для управления записями в телефонной книге и фиксации состояния приложения; Всякий раз, когда меняется состояние, он уведомляет PhoneBookView, которые затем обновляет отображение записей телефонной книги на окне приложения; 41 Нурмухаметов Н.А. 2012
Построение диаграммы классов. Класс: PhoneBookView Управление графическим интерфейсом пользователя; Когда получает какие-либо данные сообщает об этом PhoneBookController; 42 Нурмухаметов Н.А. 2012
Построение диаграммы классов. Класс: PhoneBookController Регулирует работу всего приложения; Изменение модели состояния приложения и обновление модели данных на основе введенных пользователем данных; 43 Нурмухаметов Н.А. 2012
Построение диаграммы классов. Методы классов PhoneBookModel: –addAnEntry; –searchPhoneNumber; –getSearchResult; –getState; PhoneBookView: –stateHasChanged; –changeViewgetUserInput; PhoneBookController: –userHasInput; –Start; 44 Нурмухаметов Н.А. 2012
Построение диаграммы классов: шаги В Model Explorer щелкните правой кнопкой мыши Phone Book UML Model и выберите Add Diagram > Class Diagram. 2.В качестве имени сгенерированной диаграммы введите Class Diagram вместо Diagram1. 3.Выберите Class в палитре, а затем нажмите кнопку мыши в области диаграммы для создания класса. Назовите его PhoneBookModel. 45 Нурмухаметов Н.А. 2012
Построение диаграммы классов: шаги Щелкните правой кнопкой мыши на созданный класс PhoneBookModel и выберите Add UML > Operation для создания метода для данного класса. Назовите его SetState; 5.Аналогично создаются остальные классы и методы; 6.Ассоциации между классами создаются также как отношения между актером и вариантом использования в предыдущей диаграмме; 46 Нурмухаметов Н.А. 2012
Построение диаграммы классов: результат 47 Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: шаги 1, 2 1.Во вкладке Model Explorer нажать правой кнопкой мыши на Phone Book UML Model и выбрать в контекстном меню Add Diagram > Sequence Diagram. 2.В поле названия диаграммы введите Sequence Diagram вместо Diagram1. 48 Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: шаг 3 49 Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: шаг 5 5.Выберите методPhoneBookView :: getUserInput () из выпадающего списка. 50Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: шаг 5 От когоК комуМетод phoneBookView phoneBookControl ler PhoneBookController::userHasInp ut() phoneBookControl ler phoneBookModel PhoneBookModel::searchPhoneNumb er() phoneBookControl ler phoneBookModel PhoneBookModel::setState() phoneBookModelphoneBookView PhoneBookView::stateHasChanged( ) phoneBookViewphoneBookModel PhoneBookModel::getSearchResult () phoneBookView PhoneBookView::changeView() 51 Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: результат 52 Нурмухаметов Н.А. 2012
Публикация проекта 53 Нурмухаметов Н.А. 2012
Прямое преобразование UML в Java 54 Нурмухаметов Н.А. 2012
Другие примеры систем проектирования ПО Embarcadero ER/Studio; 55 Нурмухаметов Н.А. 2012
Спасибо за внимание 56 Нурмухаметов Н.А. 2012