Download - Средства разработки ПО
Средства разработки ПО
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
Построение диаграммывариантов использования: шаги
3-53. Выберите Actor на палитре, а затем
нажмите левой кнопкой мыши в области диаграммы для создания актера. Назовите актера Owner (владелец книги).
4. Выберите Use Case на палитре, а затем нажмите левой кнопкой мыши в области диаграммы для создания варианта использования. Назовите его Add an entry (добавление записи).
5. Аналогично второй вариант использования с названием Search for a phone number (поиск номера телефона).
37Нурмухаметов Н.А. 2012
Построение диаграммывариантов использования: шаги
6, 76. Выберите 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
Построение диаграммыклассов: шаги 1-3
1. В Model Explorer щелкните правой кнопкой мыши Phone Book UML Model и выберите Add Diagram > Class Diagram.
2. В качестве имени сгенерированной диаграммы введите Class Diagram вместо Diagram1.
3. Выберите Class в палитре, а затем нажмите кнопку мыши в области диаграммы для создания класса. Назовите его PhoneBookModel.
45Нурмухаметов Н.А. 2012
Построение диаграммыклассов: шаги 4-6
4. Щелкните правой кнопкой мыши на созданный класс PhoneBookModel и выберите Add UML > Operation для создания метода для данного класса. Назовите его SetState;
5. Аналогично создаются остальные классы и методы;
6. Ассоциации между классами создаются также как отношения между актером и вариантом использования в предыдущей диаграмме;
46Нурмухаметов Н.А. 2012
Построение диаграммыклассов: результат
47Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей: шаги 1, 21. Во вкладке 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 phoneBookController
PhoneBookController::userHasInput()
phoneBookController phoneBookModel PhoneBookModel::searchPhoneNumb
er()
phoneBookController phoneBookModel PhoneBookModel::setState()
phoneBookModel phoneBookView PhoneBookView::stateHasChanged()
phoneBookView phoneBookModel PhoneBookModel::getSearchResult()
phoneBookView phoneBookView PhoneBookView::changeView()
51Нурмухаметов Н.А. 2012
Построение диаграммы последовательностей:
результат
52Нурмухаметов Н.А. 2012
Публикация проекта
53Нурмухаметов Н.А. 2012
Прямое преобразованиеUML в Java
54Нурмухаметов Н.А. 2012
Другие примерысистем проектирования ПО
• Embarcadero ER/Studio;
55Нурмухаметов Н.А. 2012
Спасибо за внимание
56Нурмухаметов Н.А. 2012