UML (англ. UnifiedModelingLanguage — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это — открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML-моделей возможна генерация кода.
При разработке ПО (равно как и при реализации прочих проектов) требуется применение стандартов, позволяющих реализовать не просто один отдельно взятый проект, а создать конвейер по разработке.
Как правило, под подобными стандартами понимают технологии, принятые индустрией и рынком — промышленные стандарты. В качестве стандарта на инструментарий описания моделей при разработке ПО на текущий момент широко используется унифицированный язык моделирования UML (UnifiedModelingLanguage). Особо следует отметить два факта:
·UML не методология, а нотация описания моделей;
·UML является расширяемой концепцией описания моделей не только в области программирования, но и вобласти системного анализа, моделирования технических
и экономических систем, а также их динамики (стандарттдиалектSysML (SystemModelingLanguage)).
Фазы проектирования, конструирования и перехода — много итеративны. В соответствии с USDP выделяются следующие модели: использования, аналитическая, проектирования, развертывания, реализации и тестирования.
Опишем последовательность этапов разработки программного проекта.
1. Определение концепции системы (концептуализация системы). Определяется предметная область и предназначение для разрабатываемого приложения, формулируются предварительные требования.
2. Анализ предметной области. Детализированное рассмотрение требований производится путем построения модели (или системы моделей). Цель анализа — определение того, что должно быть сделано. Необходимо получить полное представление о задаче, прежде чем приступать к ее решению.
3. Проектирование системы. Формулируется и документируется архитектура системы, определяющая основы для последующего проектирования классов.
4. Проектирование классов. Модели реальной системы, полученные на этапе анализа, расширяются и корректируются таким образом, чтобы они могли быть реализованы компьютерной программой. Определяются алгоритмы для реализации отдельных операций и процессов.
5. Реализация. Проекты классов системы преобразуются в программный код и/или структуры баз данных.
6. Тестирование. Выполняется проверка на пригодность для практического использования и удовлетворения поставленных изначально требований.
7. Обучение персонала. Производится обучение персонала для работы с компонентами системы.
8. Развертывание. Компоненты системы устанавливаются на компьютерах пользователей.
9. Поддержка. Реализуется комплекс мероприятий по обеспечению стабильного функционирования ПО: поддержка пользователей, поиск вновь обнаруженных ошибок, реинжиниринг ПО и бизнес спроцессов.