CASE-системы

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