ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.05.2024
Просмотров: 56
Скачиваний: 0
СОДЕРЖАНИЕ
Методы анализа & проектирования ПО
Область знаний "Проектирование ПО (Software Design)"
(Software Design Basic Concepts),
(Key Issue in Software Design),
(Software Structure and Architecture),
(Software Design Quality Analysis and Evaluation),
(Software Design Strategies and Methods).
Базовая концепция проектирования ПО
Ключевые вопросы проектирования ПО
К ключевым вопросам проектирования ПО относятся:
Анализ и оценка качества проектирования ПО
ADL (Architecture Description Language)
UML (Unified Modeling Language)
ERD (Entity-Relationship Diagrams)
IDL (Interface Description Language)
Диаграммы потоков данных (Data Flow)
Таблиц принятия решений (Decision Tables)
Например, для ситуации «неожиданно погас свет» таблица принятия решений может быть такой:
Деятельности (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) и др.