Файл: Методы анализа & проектирования по.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.05.2024

Просмотров: 40

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Методы анализа & проектирования ПО

Область знаний "Проектирование ПО (Software Design)"

(Software Design Basic Concepts),

(Key Issue in Software Design),

(Software Structure and Architecture),

(Software Design Quality Analysis and Evaluation),

(Software Design Notations),

(Software Design Strategies and Methods).

Базовая концепция проектирования ПО

Это методология проектирования архитектуры с помощью разных методов (объектного, компонентного и др.), процессы ЖЦ (стандарт ISO/IEC 12207) и техники - декомпозиция, абстракция, инкапсуляция и др.

Ключевые вопросы проектирования ПО

К ключевым вопросам проектирования ПО относятся:

Структура и архитектура ПО

Анализ и оценка качества проектирования ПО

Мероприятия по анализу сформулированных в требованиях атрибутов качества, оценки различных аспектов ПО:

Нотации проектирования

Структурные нотации

ADL (Architecture Description Language)

UML (Unified Modeling Language)

Преимущества UML

ERD (Entity-Relationship Diagrams)

IDL (Interface Description Language)

Use Case Driven

SysML

Поведенческие нотации

Диаграммы потоков данных (Data Flow)

Таблиц принятия решений (Decision Tables)

Деятельности (Activity)

Кооперации (Colloboration)

Последовательности (Sequence)

Язык спецификаций

Стратегия и методы проектирования ПО

Благодарю за внимание!


Например, для ситуации «неожиданно погас свет» таблица принятия решений может быть такой:

Деятельности (Activity)


 UML-диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.

Кооперации (Colloboration)


Это статическая конструкция для моделирования набора сущностей, взаимодействующих друг с другом. Кооперация определяет набор взаимодействующих ролей, используемых вместе, чтобы показать некую функциональность. Кооперация часто реализует некоторый паттерн (шаблон проектирования).
Собственно, слово "кооперация" значит "совместная деятельность", "сотрудничество". Такие диаграммы показывают, как объекты работают вместе для достижения общей цели, акцентируясь на их ролях.
Следует отметить, что здесь имеет место некоторая терминологическая путаница. В оригинале такие диаграммы называются Collaboration DiagramСлово "collaboration", конечно же, синоним слова "cooperation", но в "русском" варианте звучит хуже. Поэтому в русскоязычных учебниках говорят "диаграмма кооперации", а не "коллаборации". Кроме этого, само это название немного устарело - в UML 2.x подобные диаграммы называются Communication Diagram. Впрочем, все три слова - "cooperation", "collaboration" и "communication" - являются синонимами, так что довольно часто используется "старое" название. Часто даже, говоря "диаграммы взаимодействия", подразумевают именно диаграммы кооперации.


Итак, мы уже говорили, что, подобно диаграммам последовательностей, диаграммы кооперации предназначены для описания динамических аспектов моделируемой системы. Обычно они применяются для того, чтобы:
    Показать набор взаимодействующих объектов в реальном окружении "с высоты птичьего полета";
    Распределить функциональность между классами, основываясь на результатах изучения динамических аспектов системы;
    Описать логику выполнения сложных операций, особенно в тех случаях, когда один объект взаимодействует еще с несколькими объектами;
    Изучить роли, выполняемые объектами внутри системы, а также отношения между объектами, в которые они вовлекаются, выполняя эти роли.


Последовательности (Sequence)


Диаграмма, на которой для некоторого набора объектов на единой временной оси показаны жизненный цикл (создание-деятельность-уничтожение) и взаимодействие (отправка запросов и получение ответов). Используется в языке UML.
Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники с названиями объектов), вертикальные «линии жизни», отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции (прямоугольники на пунктирной «линии жизни»), и стрелки, показывающие обмен сигналами или сообщениями между объектами.

Язык спецификаций


 Формальный язык, предназначенный для декларативного описания структуры, связей, свойств данных и способов их преобразований, (в отличие от активных языков) без явного упоминания порядка выполняемых действий и использования конкретных значений данных.
Z-нота́ция  — формальный язык спецификации, используемый для описания и моделирования программ и их формальной верификации, основана на стандартной математической нотации, используемой в аксиоматической теории множеств, лямбда-исчислении и логике предикатов первого порядка. Допустимые выражения в Z-нотации подобраны таким образом, чтобы избегать парадоксов аксиоматической теории множеств. Также Z-нотация содержит стандартизированный каталог часто используемых математических функций и предикатов.
RAISE - (Строгий подход к промышленной инженерии программного обеспечения) была разработана в рамках проекта Европейского ESPRIT II LACOS в 1990-е годы. Она состоит из набора инструментов, предназначенных для языка спецификаций (RSL) для разработки программного обеспечения.

Стратегия и методы проектирования ПО


К стратегиям относятся:
    Проектирование снизу-вверх, сверху-вниз,
    Абстрагирование,
    Использование паттернов и др.методы:
      Функционально-ориентированные,
      Структурные (которые базируются на структурном анализе),
      Структурных картах,
      Диаграммах потоков данных (Dataflow) и др.

Благодарю за внимание!