65. Построение концептуальной модели предметной области
Концептуальные модели в соответствии с определением оперируют понятиями предметной области, атрибутами этих понятий и отношениями между ними. Понятию в предметной области разрабатываемого программного обеспечения могут соответствовать как материальные предметы, так и абстракции, которые применяют специалисты предметной области.
Основным понятиям в модели ставятся в соответствие классы. Класс при этом традиционно понимают как совокупность общих признаков заданной группы объектов предметной области. В соответствии с этим определением на диаграмме классов каждому классу соответствует группа объектов, общие признаки которых и фиксирует класс.
Рис. 13.6. Обозначение класса на концептуальной диаграмме классов: а – без уточнения характеристик; б – с уточнением атрибутов
В качестве атрибутов представляют некоторые, существенные с точки зрения решаемой задачи характеристики объектов, например идентифицирующие значения (имя, номер). Для конкретного объекта атрибут всегда имеет определенное значение. На диаграмме классов атрибуты обычно показывают в секции атрибутов.Под отношением классов понимают статическую, т. е. не зависящую от времени, связь между классами. Различают два основных вида отношений: ассоциация и обобщение.
Отношение ассоциации означает наличие связи между экземплярами классов или объектами.
Обобщением называют такое отношение между классами, при котором любой объект одного класса (подтипа) обязательно является также и объектом другого класса, называемого в данном контексте супертипом.
На практике определение основных понятий предметной области, которые должны представляться на контекстной диаграмме в виде классов, является не тривиальной задачей. Обычно используют следующий способ: формируют множество понятий-кандидатов из существительных, характеризующих предметную область в описании вариантов использования; исключают понятия, не существенные для данного варианта использования.
66. Диаграмма последовательностей системы. Системные события и операции
Диаграмма последовательностей системы — графическая модель, которая для определенного сценария варианта использования показывает генерируемые действующими лицами события и их порядок. При этом система рассматривается как единое целое. Для построения диаграммы последовательностей системы необходимо: представить систему как «черный ящик» и изобразить для нее линию жизни – вертикальную пунктирную линию, подходящую к блоку снизу; идентифицировать каждое действующее лицо и изобразить для него линию жизни (много действующих лиц бывает в вариантах совместного использования программного обеспечения); из описания варианта использования определить множество системных событий и их последовательность; изобразить системные события в виде линий со стрелкой на конце между линиями жизни действующих лиц и системы, а также указать имена событий и списки передаваемых значений.
67. Системные события и операции
События, которые генерируются для системы действующими лицами, называют системными. Системные события инициируют выполнение соответствующего множества операций, также называемых системными, называя по имени соответствующего сообщения. // Множество всех системных операций определяют, идентифицируя системные события всех вариантов использования. Обычно описание системной операции содержит: имя операции и ее параметры; описание обязанности; указание типа; названия вариантов использования, в которых она используется; примечания для разработчиков алгоритмов и т. д.; описание обработки возможных исключений; описание вывода неинтерфейсных сообщений; предположение о состоянии системы до выполнения операции (предусловие); описание изменения состояния системы после выполнения операции (постусловие).
68. Диаграммы деятельностей
В зависимости от степени детализации диаграммы деятельностей так же, как диаграммы классов, используют на разных этапах разработки. На этапе анализа требований и уточнения спецификаций диаграммы деятельностей позволяют конкретизировать основные функции разрабатываемого программного обеспечения.
Под деятельностью в данном случае понимают задачу (операцию), которую необходимо выполнить вручную или с помощью средств автоматизации. Каждому варианту использования соответствует своя последовательность задач. В теоретическом плане диаграммы деятельности являются обобщенным представлением алгоритма, реализующего анализируемый вариант использования. На диаграмме деятельность обозначается прямоугольником с закругленными углами (рис. 13.12, а).
Диаграммы деятельностей позволяют описывать альтернативные и параллельные процессы. Для обозначения альтернативных процессов используют ромб (рис. 13.12, б), условие указывают над ним слева или справа, а альтернативы «да», «нет» – рядом с соответствующими выходами. С помощью этого же блока можно построить циклический процесс. Множественность активации деятельности обозначают символом «*», помещенным рядом со стрелкой активации деятельности, и при необходимости уточняют надписью вида «для каждой строки».
Рис 13.12. Условные обозначения диаграммы деятельностей: а – деятельность; б – выбор; в – линейки синхронизации; г – начало, д – конец
Р ис. 13.13. Пример диаграммы деятельности с указанием параллельности процессов
- Сущность и актуальность дисциплины «Технологии программирования», основные понятия и определения дисциплины.
- Жизненный цикл программного средства.
- Модели жизненного цикла по.
- Модель с промежуточным контролем
- Спиральная модель
- Спиральная или итерационная схема разработки программного обеспечения
- Изменение жизненного цикла программного обеспечения при использовании case-технологий.
- Качество программного обеспечения.
- Модели качества по
- Метрики качества программного обеспечения.
- Измерение и оценка качества по, стандартный метод оценки значений показателей качества.
- Управление качеством пс.
- Требования стандарта к организации системы качества
- Диалоговые программы, типы диалога, формы диалога.
- Спецификация пс.
- Определение требований к программному средству.
- Спецификация качества программного средства.
- Функциональная спецификация программного средства.
- Методы контроля внешнего описания программного средства.
- Способы записи алгоритмов.
- Представление основных структур алгоритмов.
- Псевдокоды.
- Flow-формы.
- Диаграммы Насси-Шнейдермана.
- Классификация структур данных.
- Файловые структуры, физическая организация файлов.
- Логическая организация файлов.
- Документирование файлов.
- Модульные программы, модули и их свойства.
- Сцепление и связность модулей.
- Нисходящая и восходящая разработка программного обеспечения.
- Программирование «с защитой от ошибок».
- Основные подходы программирования, «стихийное» программирование.
- Основные подходы программирования, структурный подход к программированию.
- Основные подходы программирования, объектный подход к программированию.
- Основные подходы программирования, компонентный подход и case-технологии.
- 36. Процедурное (императивное) программирование
- 37.Функциональное программирование.
- 38. Декларативное программирование
- 39. Объектно-ориентированное программирование
- 40.Объектно-ориентированные языки программирования.
- 41. Спецификация программного обеспечения при структурном подходе.
- 42.Диаграммы переходов состояний.
- 43. Функциональные диаграммы
- 44. Диаграмма потоков данных
- 45. Моделирование управляющих процессов с помощью диаграмм потоков данных
- 46. Структуры данных и диаграммы отношений компонентов данных
- 47. Диаграммы Джексона.
- 48. Скобочные диаграммы Орра
- 49. Сетевая модель данных
- 50. Проектирование программного обеспечения при структурном подходе
- 54. Метод пошаговой детализации для проектирования структуры по
- 55. Структурные карты Констайна.
- 56. Проектирование структур данных
- 57. Представление данных в оперативной памят
- 60. Проектирование программного обеспечения, основанное на декомпозиции данных Методикой Варнье-Орра
- 61. Case-технологии, основанные на структурных методологиях анализа и проектирования
- 63. Определение «вариантов использования»
- 64. Диаграммы вариантов использования
- 65. Построение концептуальной модели предметной области
- 69. Проектирование программного обеспечения при объектном подходе
- 70. Разработка структуры программного обеспечения при объектном подходе
- Определение отношений между объектами.
- Диаграммы последовательностей этапа проектирования.
- Диаграммы кооперации.
- Уточнение отношений классов.
- Интерфейсы в uml.
- Проектирование классов.
- Проектирование методов класса.
- Компоновка программных компонентов.
- Проектирование размещения программных компонентов для распределенных программных систем.
- Методы доказательства правильности программ.
- Метод индуктивных утверждений Флойда.
- Метод Хора доказательства правильности программ.
- Виды контроля качества разрабатываемого программного обеспечения.
- Формирование тестовых наборов, основные подходы.
- Ручной контроль программного обеспечения, методы ручного контроля.
- I. Контроль обращений к данным
- 2. Контроль вычислений
- 3. Контроль передачи управления
- 4. Контроль межмодульных интерфейсов
- Структурное тестирование, критерии формирования тестовых наборов.
- Функциональное тестирование, методы формирования тестовых наборов.
- Тестирование модулей и комплексное тестирование.
- Оценочное тестирование.
- Отладка программного обеспечения.
- Классификация ошибок программного обеспечения.
- Методы отладки программного обеспечения.
- Методы и средства получения дополнительной информации об ошибках.
- Общая методика отладки программного обеспечения.
- Документирование и стандартизация.
- Виды программных документов.
- Основные правила оформления программной документации.
- Основные инженерные подходы к созданию программ.
- Классификация технологических подходов к созданию программ.
- Классификация технологических подходов к созданию программ, подходы со слабой формализацией.
- Классификация технологических подходов к созданию программ, строгие каскадные подходы.
- Классификация технологических подходов к созданию программ, строгие каркасные подходы.
- Классификация технологических подходов к созданию программ, генетические подходы.
- Классификация технологических подходов к созданию программ, подходы на основе формальных преобразований.
- Классификация технологических подходов к созданию программ, ранние подходы быстрой разработки.
- Классификация технологических подходов к созданию программ, адаптивные технологические подходы.
- Классификация технологических подходов к созданию программ, подходы исследовательского программирования.
- Особенности и компоненты case-средств.
- Объектно-ориентированные case-средства анализа и проектирования.
- Структурные case-средства анализа и проектирования.
- Case-средства компании ibm Rational Software, средство визуального моделирования Rational Rose.
- Системы автоматизированного проектирования и их место среди других автоматизированных систем.
- Структура сапр.
- Разновидности сапр.
- Понятие о cals-технологиях.