Написал небольшую шпаргалочку по 16-й главе «Разработка объектно-ориентированного ПО»
учебника Лафоре. А то там всё изложено довольно хаотично. Кто не знает, UML - это unified modeling language (унифицированный язык моделирования).
Унифицированный процесс (unified process) разработки программы:
Начальная фаза (inception). Оценка осуществимости и целесообразности выполнения проекта. Принятие решения о разработке программы или отказе от разработки. Заключение договора.
Подготовка (elaboration):
1) Определение субъектов (actor);
2) Определение прецедентов (use case);
3) Построение диаграммы прецедентов (use case diagram) по правилам UML;
4) Создание текстовых описаний прецедентов. Если предедент включает несколько сценариев, то описывается каждый сценарий;
5) Построение диаграммы активности (activity diagram) по правилам UML для каждого прецедента, включая все его сценарии. (Диаграмма активности - это аналог блок-схемы (flowchart), только диаграмма активности имеет больше возможностей по сравнению с блок-схемой.).
Конструирование (construction):
6) Составление списка существительных из текстовых описаний прецедентов;
7) Очистка списка существительных с целью выделения существительных, подходящих на роль классов и полей классов;
8) Составление списка глаголов из текстовых описаний прецедентов;
9) Очистка списка глаголов с целью выделения обращений (message) к методам классов. Составление списка методов классов;
10) Построение диаграммы классов (class diagram) по правилам UML;
11) Построение диаграммы последовательности (sequence diagram) по правилам UML для каждого прецедента;
12) Написание кода:
12.1. Написание заголовочного файла (header file), включащего объявления классов, глобальных функций и глобальных переменных (этот файл будет являться интерфейсом библиотеки классов);
12.2. Написание исходного файла (source file), включающего тела методов классов и глобальных функций (этот файл будет являться реализацией библиотеки классов);
12.3. Написание исходного файла клиента описанной выше библиотеки классов. В этом файле располагаем функцию main и подключаем заголовочный файл библиотеки классов.
Передача (transition) заказчику. Включает тестирование и развертывание (deployment) программы на компьютерах пользователей.