Способы применения uml при разработке по
Основу роли UML в разработке программного обеспечения составляют разнообразные способы использования языка, те различия, которые были перенесены из других языков графического моделирования. Эти отличия вызывают долгие и трудные дискуссии о том, как следует применять UML.
Чтобы разрешить эту сложную ситуацию, Стив Меллор (Steve Mellor) и Мартин Фаулер (Martin Fowler) независимо пришли к определению трех режимов использования UML разработчиками: режим эскиза, режим проектирования и режим языка программирования. Безусловно, самый главный из трех – это режим использования UML для эскизирования. В этом режиме разработчики используют UML для обмена информацией о различных аспектах системы. В режиме проектирования можно использовать эскизы при прямой и обратной разработке. При прямой разработке {forward-engineering) диаграммы рисуются до написания кода, а при обратной разработке (re verse-engineering) диаграммы строятся на основании исходного кода, чтобы лучше понять его.
Сущность эскизирования, или эскизного моделирования, в избирательности. В процессе прямой разработки вы делаете наброски отдельных элементов программы, которую собираетесь написать, и обычно обсуждаете их с некоторыми разработчиками из вашей команды. При этом с помощью эскизов вы хотите облегчить обмен идеями и вариантами того, что вы собираетесь делать. Вы обсуждаете не всю программу, над которой намереваетесь работать, а только самые важные ее моменты, которые вы хотите донести до коллег в первую очередь, или разделы проекта, которые вы хотите визуализировать до начала программирования. Такие совещания могут быть очень короткими: 10-минутное совещание по нескольким часам программирования или однодневное совещание, посвященное обсуждению двухнедельной итерации.
При обратной разработке вы используете эскизы, чтобы объяснить, как работает некоторая часть системы. Вы показываете не все классы, а только те, которые представляют интерес и которые стоит обсудить перед тем, как погрузиться в код. Поскольку эскизирование носит неформальный и динамичный характер и вам нужно делать это быстро и совместно, то наилучшим средством отображения является доска. Эскизы полезны также и в документации, при этом главную роль играет процесс передачи информации, а не полнота. Инструментами эскизного моделирования служат облегченные средства рисования, и часто разработчики не очень придерживаются всех строгих правил UML. Cила эскизов в избирательности передачи информации, а не в полноте описания.
Напротив, язык UML как средство проектирования нацелен на полноту. В процессе прямой разработки идея состоит в том, что проект разрабатывается дизайнером, чья работа заключается в построении детальной модели для программиста, который будет выполнять кодирование. Такая модель должна быть достаточно полной в части заложенных проектных решений, а программист должен иметь возможность следовать им прямо, и не особо задумываясь. Дизайнером модели может быть тот же самый программист, но, как правило, в качестве дизайнера выступает старший программист, который разрабатывает модели для команды программистов. Причина такого подхода лежит в аналогии с другими видами инженерной деятельности, когда профессиональные инженеры создают чертежи, которые затем передаются строительным компаниям.
Проектирование может быть использовано для всех деталей системы либо дизайнер может нарисовать модель какой-то конкретной части. Общий подход состоит в том, чтобы дизайнер разработал модели проектного уровня в виде интерфейсов подсистем, а затем дал возможность разработчикам поработать над реализацией подробностей.
При обратной разработке цель моделей состоит в представлении подробной информации о программе или в виде бумажных документов, или в виде, пригодном для интерактивного просмотра с помощью графического броузера. В такой модели можно показать все детали класса в графическом виде, который разработчикам проще понять.
При разработке моделей требуется более сложный инструментарий, чем при составлении эскизов, так как необходимо поддерживать детальность, соответствующую требованиям поставленной задачи. Специализированные CASE-средства (computer-aided software engineering - автоматизированная разработка программного обеспечения) попадают в эту категорию, хотя сам этот термин стал почти ругательным, и поставщики стараются его избегать. Инструменты прямой разработки поддерживают рисование диаграмм и копирование их в репозиторий с целью сохранения информации. Инструменты обратного проектирования читают исходный код, записывают его интерпретацию в репозиторий и генерируют диаграммы. Инструменты, позволяющие выполнять как прямую, так и обратную разработку, называются двухсторонними (round-trip).
Некоторые средства используют исходный код в качестве репозитория, а диаграммы используют его для графического представления. Такие инструменты более тесно связаны с программированием и часто встраиваются прямо в средства редактирования исходного кода.
Граница между моделями и эскизами довольно размыта, но различия заключаются в том, что эскизы сознательно выполняются неполными, подчеркивая важную информацию, в то время как модели нацелены на полноту, часто имея целью свести программирование к простым и до некоторой степени механическим действиям. То есть эскизы можно определить как пробные элементы, а модели - как окончательные.
Чем дольше вы работаете с UML, а программирование становится все более механическим, тем очевиднее становится необходимость перехода к автоматизированному созданию программ. Действительно многие CASE-средства так или иначе генерируют код, что позволяет автоматизировать построение значительной части системы. В конце концов, вы достигнете такой точки, когда сможете описать с помощью UML всю систему и перейдете в режим использования UML в качестве языка программирования. В такой среде разработчики рисуют диаграммы, которые компилируются прямо в исполняемый код, а UML становится исходным кодом. Очевидно, что такое применение UML требует особенно сложных инструментов. (Кроме того, нотации прямой и обратной разработки теряют всякий смысл, поскольку UML и исходный код становятся одним и тем же.)
Один из интересных вопросов, касающихся UML как языка программирования, - это вопрос о моделировании логики поведения. UML 2 предлагает три способа моделирования поведения: диаграммы взаимодействия, диаграммы состояний и диаграммы деятельности. Все они имеют своих сторонников в сфере программирования.
Другая точка зрения разработчиков на UML находится где-то между его применением для концептуального моделирования и его применением для моделирования программного обеспечения. Большинство разработчиков используют UML для моделирования программного обеспечения. С точки зрения программного обеспечения элементы UML практически непосредственно отображаются в элементы программной системы. Как мы увидим впоследствии, отображение отнюдь не означает следование инструкциям, но когда мы используем UML, мы говорим об элементах программного обеспечения.
С концептуальной точки зрения UML представляет описание концепций предметной области. Здесь мы не столько говорим об элементах программного обеспечения, сколько занимаемся созданием словаря для обсуждения конкретной предметной области.
Нет строгих правил выбора точки зрения. Поскольку проблему можно рассматривать под разными углами зрения, то и способов применения существует довольно много. Некоторые инструменты автоматически преобразуют исходный код в диаграммы, трактуя UML как альтернативный вид исходного кода. Это в большей степени программный ракурс. Если же диаграммы UML применяются для того, чтобы проверить и понять различные значения терминов “пул активов” (asset pool) с группой бухгалтеров, то следует принять точку зрения значительно более близкую к концептуальной.
Следствием различных способов применения UML является масса споров о том, что означают диаграммы UML и как они связаны с остальным миром. Особенно это влияет на отношение между UML и исходным кодом. Некоторые разработчики считают, что UML нужно применять для создания модели, не зависящей от языка программирования, который используется для реализации проекта. Другие убеждены в том, что модель, не зависимая от языка, — это оксюморон.
Другое различие во взглядах относится к вопросу о сущности UML. По-моему, большинство пользователей UML, особенно создателей эскизов, видят сущность UML в его диаграммах. Однако авторы UML считают диаграммы вторичным, а первичным признают метамодель UML. Диаграммы же – лишь представление метамодели. Такая точка зрения имеет смысл также для разработчиков, использующих UML в режиме проектирования и в режиме языка программирования.
Резюме: было выделено 3 режима использования UML.
1 — режим эскиза. Составляется эскиз либо будущего кода (по модели потом нужно будет написать код), либо уже существующего (чтобы лучше его понять). Цель — быстрый обмен информацией. Особенность — избирательность. Полнота не важна, важен сам процесс обмена.
2 — режим проектирования. Цель — полнота. Составляется детальная модель, которая потом будет реализована (причём программист не должен особо задумываться над реализацией, его работа сводится к простым механическим действиям). Можно моделировать полностью, можно часть.
3 — режим языка программирования. Графические диаграммы компилируются в код, UML становится исходным кодом.
Ответ прошлых лет (Ден)
Язык Unified Modelling Language (UML) можно считать результатом довольно длинной и еще не завершившейся эволюции методологий моделирования и дизайна.
Данная унификация преследовала три основные цели:
моделирование системы, начиная с концепции и заканчивая исполняемым модулем, с применением объектно-ориентированных методик;
разрешение проблем масштабирования в сложных системах;
создание языка моделирования, используемого и человеком, и компьютером.
Для чего применяется UML
UML - прежде всего язык, и, как всякое языковое средство, он предоставляет словарь и правила комбинирования слов в этом словаре. В данном случае словарь и правила фокусируются на концептуальном и физическом представлениях системы. Язык диктует, как создать и прочитать модель, однако не содержит никаких рекомендаций о том, какую модель системы необходимо создать, - это выходит за рамки UML и является прерогативой процесса разработки программного обеспечения.
UML - это язык визуализации. Написание моделей на UML преследует одну простую цель - облегчение процесса передачи информации о системе. За каждым символом UML стоит строго определенная семантика, что позволяет избегать ошибок интерпретации.
UML - это язык спецификаций и точных определений. В этом смысле моделирование на UML означает построение моделей, которые точны, недвусмысленны и полны.
UML - это язык документирования.
Диаграммы UML
Визуализация представления проектируемой системы с различных точек зрения в UML реализована посредством диаграмм - проекций системы. Диаграмма (Diagram) - это графическое представление множества элементов, которое изображается в виде связного графа с вершинами (сущностями) и ребрами (отношениями).
Ниже приведены определения диаграмм:
диаграмма классов (Class diagram) - структурная диаграмма, на которой показано множество классов, интерфейсов, коопераций и отношений между ними;
диаграмма объектов (Object diagram) - структурная диаграмма, на которой показано множество объектов и отношений между ними. Ее можно считать особым случаем диаграммы классов. Инструментам моделирования не нужно поддерживать отдельный формат для диаграмм объектов. На них изображены объекты, поэтому диаграмма классов, на которой нет классов, но есть принадлежащие им объекты, может считаться диаграммой объектов;
диаграмма прецедентов (Use case diagram) - диаграмма поведения, на которой показано множество прецедентов и актеров, а также отношений между ними;
диаграммы взаимодействий (Interaction diagram):
диаграмма последовательностей (Sequence diagram) - диаграмма поведения, на которой показано взаимодействие и подчеркнута временная последовательность событий;
диаграмма кооперации (Collaboration diagram) - диаграмма поведения, на которой показано взаимодействие и подчеркнута структурная организация объектов, посылающих и принимающих сообщения;
диаграмма состояний (Statechart diagram) - диаграмма поведения, на которой показан автомат и подчеркнуто поведение объектов с точки зрения порядка получения событий;
диаграмма активности (Activity diagram) - диаграмма поведения, на которой показан автомат и подчеркнуты переходы потока управления от одной деятельности к другой;
диаграмма компонентов (Component diagram) - диаграмма, на которой изображена организация некоторого множества компонентов и зависимости между ними, - относится к статистическому виду системы;
диаграмма топологии системы (Deployment diagram) - структурная диаграмма, на которой показаны узлы и отношения между ними.
Ответ прошлых лет (Мадина)
Вариант 1
- Архитектура crm-систем
- 2. Архитектура кис []
- 3. Архитектура кис []
- 4. Архитектура кис []
- Готовый ответ. (Гриша) scm ( система управления сетями поставок ) -
- Scm надо рассматривать вне erp, а как отдельную систему с ней взаимодействующую.
- Функции scm
- Архитектура scm
- 5. Архитектура кис []
- Информационная система как производственная система
- 6. Архитектура кис []
- Классификация по архитектуре
- Классификация по степени автоматизации
- Классификация по характеру обработки данных
- Классификация по сфере применения
- 7. Архитектура кис []
- 8. Архитектура кис []
- 1С:Зарплата и Управление Персоналом
- 9. Архитектура кис []
- 2. Программно-аппаратная платформа
- 3. Системы документооборота
- 4. Информационные системы
- 10. Архитектура кис []
- § Iso/iec 12207:1995 – стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного по. Стандарт не содержит описания фаз, стадий и этапов.
- Каскадная модель
- Итеративная
- 8.2.3. Типы резервного копирования
- 8.2.3.1. Полные копии
- 8.2.3.2. Добавочные копии
- 8.2.3.3. Разностные копии
- 8.2.5. Хранение резервных копий
- Модели разработки ис
- Методы проектирования снизу-вверх и сверху-вниз
- Подходы к проектированию ис
- 1. Структурный (функциональный) подход
- 2. Объектно-ориентированный подход
- Диаграммы потоков данных dfd (Data Flow Diagrams)
- 1 Область применения
- 2 Определения
- Методология функционального моделирования работ sadt
- Диаграммы потоков данных dfd (Data Flow Diagrams)
- Особенности методологии uml
- Основные виды диаграмм, классификации
- Другая классификация (более поздняя, более полная)
- Детальное описание диаграмм
- 6) Диаграмма кооперации
- Особенности применения
- Способы применения uml при разработке по
- Методология объектного проектирования на языке uml (uml-диаграммы)
- Модель rup. Основные диаграммы модели rup.
- 3. Архитектура Системных Паттернов
- 3.1.1 Репозиторий
- 3.1.2 Клиент/сервер
- 3.1.3 Обьектно - ориентированный, Модель предметной области (Domain Model), модуль таблицы (Data Mapper)
- 3.1.4 Многоуровневая система (Layers) или абстрактная машина
- 3.1.5 Потоки данных (конвейер или фильтр)
- 4.1 Структурные паттерны интеграции
- 4.1.1 Взаимодействие "точка - точка"
- 4.1.2 Взаимодействие "звезда" (интегрирующая среда)
- 4.1.3 Смешанный способ взаимодействия
- 4.2 Паттерны по методу интеграции
- 4.2.1 Интеграция систем по данным (data-centric).
- 4.2.2 Функционально-центрический (function-centric) подход.
- 4.2.3 Объектно-центрический (object-centric).
- 4.2.4 Интеграция на основе единой понятийной модели предметной области (concept-centric).
- 4.3 Паттерны интеграции по типу обмена данными
- 4.3.1 Файловый обмен
- 4.3.2 Общая база данных
- 4.3.3 Удаленный вызов процедур
- 4.3.4 Обмен сообщениями
- Образец (паттерн) проектирования.
- Модель sadt. Основные диаграммы модели sadt.
- Все указанные требования должны быть трассируемыми.
- Документация, создаваемая на различных этапах жизненного цикла
- 1.7. Тестирование, верификация и валидация - различия в понятиях
- 1) Требования документации охватывают весь жизненный цикл программного обеспечения.
- 2) Документирование должно быть управляемым.
- 5) Должны быть определены и использованы стандарты по документированию.
- 6) Должны быть определены средства поддержки.
- 1) Требования документации охватывают весь жизненный цикл программного обеспечения.
- 2) Документирование должно быть управляемым.
- 5) Должны быть определены и использованы стандарты по документированию.
- 6) Должны быть определены средства поддержки.
- 1. Информация для управления
- 2. Связь между задачами
- 3. Этапы разработки системы бюджетирования
- 4. Главные этапы бюджетирования: формирование финансовой структуры, создание структуры бюджетов
- 5. Типичные причины, ведущие к снижению эффективности бизнес-процесса бюджетирования
- Что такое затраты
- Непосредственная классификация затрат
- Описание видов затрат
- 1) Входящие и истекшие
- 2) Прямые и косвенные затраты.
- 3) Основные и накладные.
- 4) Производственные и внепроизводственные.
- 5) Одноэлементные и комплексные затраты.
- 6) Постоянные, переменные и полупеременные.
- 7) Затраты, принимаемые и не принимаемые в расчет при оценках.
- 8) Безвозвратные затраты.
- 9) Вмененные (воображаемые) затраты.
- 10) Приростные и предельные затраты.
- 11) Планируемые и непланируемые затраты.
- Ещё одна классификация затрат
- Ещё одна классификация затрат в уу
- 1) Процесс принятия управленческих решений
- 2) Процесс прогнозирования
- 3) Процесс планирования
- 4) Процесс нормирования
- 5) Процесс организации
- 6) Процесс учета
- 7) Процесс контроля
- 8) Процесс регулирования
- 9) Процесс стимулирования
- 10) Процесс анализа
- Классификация затрат в отечественном управленческом учете.
- 2. Определение затрат. Как классифицировать затраты
- Методы учета затрат и калькулирования
- 1.Понятие себестоимости и калькулирования себестоимости
- 2. Попроцессный и позаказный методы калькулирования себестоимости
- 3.Методы калькулирования по полноте затрат
- Метод полных затрат
- Директ-костинг
- Ещё один метод - abc-костинг (дифференцированный метод учета себестоимости)
- Методы калькулирования себестоимости продукции.
- 1. Нормативный метод калькулирования
- 2. Метод (способ) прямого счета
- 3. Параметрический метод
- 4. Коэффициентный метод
- 5. Комбинированный и позаказный методы
- 6. Попередельный метод калькулирования
- 7. Позаказный и попроцессное калькулирования
- 9. «Директ-костинг» (direct costing)
- Что такое управленческий учет (уу)
- Цель и задачи уу
- Другое описание задач уу
- 1. Учет ресурсов организации
- 2. Контроль и анализ финансово-хозяйственной деятельности
- 3. Планирование
- 4. Прогнозирование и оценки прогноза
- Ещё одно описание задач уу
- Объекты
- Задачи управленческого учета
- 1. Учет ресурсов организации
- 2. Контроль и анализ финансово-хозяйственной деятельности
- 3. Планирование
- 4. Прогнозирование и оценки прогноза
- 1. Система учета и управления затратами
- 2. Система показателей деятельности
- 3. Система долгосрочных и текущих бюджетов
- 4. Система управленческих отчетов
- 1. Идентификация, измерение и накопление данных
- 2. Анализ, подготовка и интерпретация информации
- 3. Разработка и технологическое внедрение информационной системы
- 4. Администрирование системы управленческого учета
- 8. Факторы, оказывающие влияние на организацию системы управленческого учета в организациях
- Определение
- Какие затраты включаются
- Как ведётся учёт затрат
- Где используется
- Ключевые понятия
- Сущность
- Пример:
- Достоинства метода
- Недостатки метода
- Система «директ-костинг» в современном управленческом учете.
- 9. «Директ-костинг» (direct costing)
- Сущность и методика нормативного метода учета затрат.
- 1. Нормативный метод калькулирования
- Определение
- Состав себестоимости
- Виды себестоимости
- Структура себестоимости
- Структура себестоимости по статьям калькуляции
- Структура себестоимости по элементам затрат
- Состав и структура себестоимости продукции
- Показатели себестоимости продукции
- Базовые показатели финансового менеджмента.
- I классификация
- II классификация
- Эффект финансового левереджа;
- Этапы оптимизации структуры капитала Анализ капитала
- Определяется
- Определяют систему коэффициентов
- Эффективность использования капитала
- Оценка факторов, определяющих структуру капитала
- (Применить) Методы оптимизации
- Глава 1. Условия осуществления безналичных расчетов
- Глава 2. Расчеты платежными поручениями
- Глава 3. Расчеты по аккредитивам
- Глава 4. Расчеты чеками
- Глава 5. Расчеты по инкассо
- Глава 6. Заключительные положения
- Учет дебиторской задолженности
- 1. Учет кредиторской задолженности
- 1.1. Учет расчетов займам
- 1.2. Учет расчетов с поставщиками и подрядчиками
- 1.3. Учет задолженности по налогам
- 1.4. Учет прочей кредиторской задолженности
- 2 Базовые денежные потоки экономической системы.
- Государственный кредит.
- Источники образования государственных доходов.
- 7. Коммерческий кредит (кк) и его особенности
- Обязательное и добровольное страхование и их взаимодействие.
- Коммерческий кредит и его особенности.
- 1 Понятие ликвидности активов и ее связь с доходностью.
- Финансовый рынок и его макроэкономическая задача.