Jump to content

Структурированный анализ

(Перенаправлено из Структурного анализа )
Пример подхода структурированного анализа. [1]

В обеспечения разработке программного структурный анализ (SA) и структурированное проектирование (SD) — это методы анализа бизнес- требований и разработки спецификаций для преобразования практик в компьютерные программы , конфигурации оборудования и соответствующие ручные процедуры.

Структурный анализ и методы проектирования являются фундаментальными инструментами системного анализа . Они возникли на основе классического системного анализа 1960-х и 1970-х годов. [2]

Задачи структурированного анализа

[ редактировать ]

Структурированный анализ стал популярен в 1980-х годах и используется до сих пор. [ нужна ссылка ] Структурный анализ состоит из интерпретации концепции системы (или ситуаций реального мира) в терминологии данных и управления, представленной диаграммами потоков данных . Поток данных и контроля от «пузыря» к хранилищу данных и «пузырю» может быть трудно отследить, а количество «пузырей» может увеличиться.

Один из подходов заключается в том, чтобы сначала определить события из внешнего мира, которые требуют реакции системы, а затем назначить этому событию пузырь. Пузыри, которые должны взаимодействовать, затем соединяются до тех пор, пока система не будет определена. Пузыри обычно группируются в пузырьки более высокого уровня, чтобы уменьшить сложность. Словари данных необходимы для описания потоков данных и команд, а спецификация процесса необходима для сбора информации о транзакциях/преобразованиях. [3]

SA и SD отображаются со структурными диаграммами , диаграммами потоков данных и диаграммами моделей данных , вариаций которых было множество, в том числе разработанных Томом ДеМарко , Кеном Орром , Ларри Константином , Воном Фриком , Эдом Юрдоном , Стивеном Уордом, Питером Ченом и другие.

Эти методы были объединены в различных опубликованных методологиях разработки систем , включая метод структурированного системного анализа и проектирования , прибыльную информацию за счет дизайна (PRIDE), структурный анализ и проектирование Nastec, SDM/70 и методологию разработки структурированных систем Spectrum.

Структурный анализ является частью серии структурированных методов, которые представляют собой набор методов анализа, проектирования и программирования, которые были разработаны в ответ на проблемы, с которыми столкнулся мир программного обеспечения с 1960-х по 1980-е годы. В этот период большая часть коммерческого программирования выполнялась на Cobol и Fortran , затем на C и BASIC . Руководств по «хорошим» методам проектирования и программирования было мало, а также не было стандартных методов документирования требований и проектов. Системы становились все больше и сложнее, а разрабатывать информационные системы становилось все труднее и труднее». [4]

В качестве способа управления большим и сложным программным обеспечением с конца 1960-х годов появились следующие структурированные методы: [4]

По словам Хэя (1999), « информационная инженерия была логическим продолжением структурированных методов, разработанных в 1970-х годах. Структурное программирование привело к структурированному проектированию, которое, в свою очередь, привело к структурированному системному анализу. Эти методы характеризовались использованием диаграмм : структурные диаграммы для структурированного проектирования и диаграммы потоков данных для структурированного анализа, которые помогают в общении между пользователями и разработчиками, а также повышают дисциплину аналитиков и дизайнеров. В 1980-х годах начали появляться инструменты, которые автоматизировали построение диаграмм. и отслеживал нарисованные объекты в словаре данных ». [10] По примеру автоматизированного проектирования и автоматизированного производства (CAD/CAM) использование этих инструментов было названо автоматизированной разработкой программного обеспечения (CASE).

Темы структурированного анализа

[ редактировать ]

Единый механизм абстракции

[ редактировать ]
Пример структурированного анализа. [11]

Структурный анализ обычно создает иерархию, используя единый механизм абстракции. Метод структурированного анализа может использовать IDEF (см. рисунок), основан на процессе и начинается с цели и точки зрения. Этот метод определяет общую функцию и итеративно делит функции на более мелкие функции, сохраняя входные и выходные данные, элементы управления и механизмы, необходимые для оптимизации процессов. Также известный как подход функциональной декомпозиции , он фокусируется на связности внутри функций и связи между функциями, что приводит к структурированным данным. [11]

Функциональная декомпозиция структурированного метода описывает процесс без описания поведения системы и диктует структуру системы в виде требуемых функций. Метод определяет входы и выходы, связанные с деятельностью. Одной из причин популярности структурированного анализа является его интуитивная способность передавать процессы и концепции высокого уровня как на уровне отдельной системы, так и на уровне предприятия. Пока неясно, как объекты могут поддерживать функции для коммерчески распространенной объектно-ориентированной разработки. В отличие от IDEF, UML управляется интерфейсом с помощью множества механизмов абстракции, полезных при описании сервис-ориентированных архитектур (SOA). [11]

Структурный анализ рассматривает систему с точки зрения данных, проходящих через нее. Функция системы описывается процессами, преобразующими потоки данных. Структурированный анализ использует преимущества сокрытия информации посредством последовательного анализа декомпозиции (или анализа сверху вниз). Это позволяет сосредоточить внимание на важных деталях и избежать путаницы из-за рассмотрения не относящихся к делу деталей. По мере увеличения уровня детализации объем информации уменьшается. Результатом структурированного анализа является набор связанных графических диаграмм, описаний процессов и определений данных. системы Они описывают преобразования, которые необходимо произвести, и данные, необходимые для удовлетворения функциональных требований . [12]

Подход структурированного анализа развивает взгляды как на объекты процессов, так и на объекты данных. [12]

Подход Марко [13] состоит из следующих объектов (см. рисунок): [12]

Таким образом, диаграммы потоков данных (DFD) представляют собой ориентированные графы. Дуги представляют данные , а узлы (круги или пузырьки) представляют процессы, преобразующие данные. Процесс можно дополнительно разложить на более подробный DFD, который показывает подпроцессы и потоки данных внутри него. Подпроцессы, в свою очередь, можно дополнительно разложить с помощью другого набора DFD до тех пор, пока их функции не станут легко понятны. Функциональные примитивы — это процессы, которые не требуют дальнейшей декомпозиции. Функциональные примитивы описываются спецификацией процесса (или мини-спецификацией). Спецификация процесса может состоять из псевдокода, блок-схем или структурированного английского языка. DFD моделируют структуру системы как сеть взаимосвязанных процессов, состоящих из функциональных примитивов. Словарь данных представляет собой набор записей (определений) потоков данных, элементов данных, файлов и баз данных. Записи словаря данных секционируются сверху вниз. На них можно ссылаться в других статьях словаря данных и в диаграммах потоков данных. [12]

Контекстная диаграмма

[ редактировать ]
Пример контекстной диаграммы системы. [14]

Контекстные диаграммы — это диаграммы, которые представляют действующих лиц вне системы, которые могут взаимодействовать с этой системой. [15] Эта диаграмма представляет собой представление системы самого высокого уровня , аналогичное блок-схеме , показывающее, возможно, программную систему в целом, а также ее входы и выходы от/к внешним факторам.

По словам Косьякова (2003), этот тип диаграммы обычно «изображает систему в центре, без деталей ее внутренней структуры, в окружении всех ее взаимодействующих систем, окружающей среды и деятельности. Цель контекстной диаграммы системы — сосредоточить внимание на внешние факторы и события, которые следует учитывать при разработке полного набора системных требований и ограничений». [15] Контекстные диаграммы системы связаны с диаграммой потока данных и показывают взаимодействие между системой и другими участниками, для которых система предназначена. Контекстные диаграммы системы могут быть полезны для понимания контекста, в котором система будет частью разработки программного обеспечения .

Словарь данных

[ редактировать ]
Диаграмма отношений сущностей , необходимая для проектирования таблиц, извлечений и метаданных базы данных. [16]

Словарь данных или словарь базы данных — это файл, который определяет базовую организацию базы данных . [16] Словарь базы данных содержит список всех файлов в базе данных, количество записей в каждом файле, а также имена и типы каждого поля данных. Большинство систем управления базами данных скрывают словарь данных от пользователей, чтобы предотвратить случайное уничтожение его содержимого. Словари данных не содержат никаких фактических данных из базы данных, а только бухгалтерскую информацию для управления ею. Однако без словаря данных система управления базами данных не может получить доступ к данным из базы данных. [16]

Пользователи баз данных и разработчики приложений могут извлечь выгоду из авторитетного документа словаря данных, в котором каталогизирована организация, содержимое и соглашения одной или нескольких баз данных. [17] Обычно это включает имена и описания различных таблиц и полей в каждой базе данных, а также дополнительные сведения, такие как тип и длина каждого элемента данных . Не существует универсального стандарта относительно уровня детализации такого документа, но это, прежде всего, дистилляция метаданных о структуре базы данных , а не сами данные. Документ словаря данных также может включать дополнительную информацию, описывающую, как кодируются элементы данных. Одним из преимуществ хорошо продуманной документации словаря данных является то, что она помогает обеспечить согласованность во всей сложной базе данных или в большой коллекции объединенных баз данных . [18]

Диаграммы потоков данных

[ редактировать ]
Пример диаграммы потока данных. [19]

Диаграмма потока данных (DFD) — это графическое представление «потока» данных через информационную систему . системы Она отличается от блок-схемы , поскольку показывает поток данных через процессы, а не через компьютерное оборудование . Диаграммы потоков данных были изобретены Ларри Константином , разработчиком структурированного проектирования , на основе модели вычислений Мартина и Эстрина «график потока данных». [20]

Обычной практикой является сначала нарисовать контекстную диаграмму системы , которая показывает взаимодействие между системой и внешними объектами. DFD предназначен для того, чтобы показать, как система разделена на более мелкие части, и выделить поток данных между этими частями. Эта диаграмма потока данных на уровне контекста затем «расчленяется», чтобы показать более подробную информацию о моделируемой системе.

Диаграммы потоков данных (DFD) являются одной из трех основных точек зрения метода анализа и проектирования структурированных систем (SSADM). Спонсора проекта и конечных пользователей необходимо будет информировать и консультировать на всех этапах развития системы. С помощью диаграммы потока данных пользователи могут визуализировать, как система будет работать, какие задачи она будет выполнять и как она будет реализована. Диаграммы потоков данных старой системы можно составить и сравнить с диаграммами потоков данных новой системы, чтобы провести сравнения и реализовать более эффективную систему. Диаграммы потоков данных можно использовать, чтобы предоставить конечному пользователю физическое представление о том, как вводимые им данные в конечном итоге влияют на структуру всей системы от заказа до отправки и повторной обработки. То, как разрабатывается любая система, можно определить с помощью диаграммы потоков данных.

Структурная диаграмма

[ редактировать ]
Схема структуры системы конфигурации. [21]

Структурная диаграмма (SC) — это диаграмма, которая показывает разбивку системы конфигурации до самых нижних управляемых уровней. [21] Эта диаграмма используется в структурном программировании для организации модулей программы в древовидной структуре. Каждый модуль представлен полем, содержащим названия модулей. Древовидная структура визуализирует связи между модулями. [22]

Структурные диаграммы используются в структурном анализе для определения высокоуровневого дизайна или архитектуры компьютерной программы . Как инструмент проектирования они помогают программисту разделить и решить большую программную проблему, то есть рекурсивно разбить проблему на части, которые достаточно малы, чтобы их мог понять человеческий мозг. Этот процесс называется проектированием сверху вниз или функциональной декомпозицией . Программисты используют структурную схему для создания программы аналогично тому, как архитектор использует чертеж для строительства дома. На этапе проектирования диаграмма рисуется и используется как средство общения клиента и различных разработчиков программного обеспечения. Во время фактического построения программы (реализации) диаграмму постоянно называют генеральным планом. [23]

Структурированный дизайн

[ редактировать ]

Структурированное проектирование (SD) связано с разработкой модулей и синтезом этих модулей в так называемой «иерархии модулей». [24] Для разработки оптимальной структуры модуля и интерфейсов решающее значение имеют два принципа:

  • Сплоченность , которая «занимается группировкой функционально связанных процессов в определенный модуль». [12] и
  • Соединение относится к «потоку информации или параметров, передаваемых между модулями. Оптимальное соединение уменьшает интерфейсы модулей и, как следствие, сложность программного обеспечения». [12]

Структурированный дизайн был разработан Ларри Константином в конце 1960-х годов, затем доработан и опубликован совместно с его коллегами в 1970-х годах; [5] [6] см . в разделе «Ларри Константин: структурированный дизайн» подробности . Пейдж-Джонс (1980) предложил свой собственный подход, который состоит из трех основных целей:

  • структурные диаграммы
  • характеристики модуля
  • словарь данных.

Структурная диаграмма призвана показать «иерархию модулей или взаимосвязь последовательности вызовов модулей. Для каждого модуля, показанного на структурной диаграмме, существует спецификация модуля. Спецификации модуля могут состоять из псевдокода или языка разработки программ. Словарь данных подобен структурированному анализу. На этом этапе жизненного цикла разработки программного обеспечения , после выполнения анализа и проектирования, можно автоматически генерировать объявления типов данных». [25] и шаблоны процедур или подпрограмм. [12]

Проблемы с диаграммами потоков данных включали следующее: [3]

  1. Правильный выбор пузырьков
  2. Разделение пузырей осмысленным и взаимно согласованным образом,
  3. Размер документации, необходимый для понимания потоков данных,
  4. Диаграммы потоков данных по своей природе очень функциональны и поэтому подвержены частым изменениям.
  5. Хотя поток «данных» подчеркивается, моделирование «данных» — нет, поэтому мало понимания сути системы.
  6. Клиентам сложно понять, как концепция отображается в потоках данных и пузырьках.
  7. Дизайнеры должны перевести организацию DFD в реализуемый формат.

См. также

[ редактировать ]
  1. ^ Триша Гилберт (2006) Критерии оценки FCS для оценки технологий. Архивировано 18 сентября 2008 г. на Wayback Machine.
  2. ^ Эдвард Юрдон (1986). Управление структурированными методами: стратегии разработки программного обеспечения в 1990-е годы . Юрдон Пресс. стр.35.
  3. ^ Jump up to: а б ФАУ (2000). Руководство по безопасности системы ФАУ, Приложение D. 30 декабря 2000 г.
  4. ^ Jump up to: а б Дэйв Левитт (2000). «Введение в структурный анализ и проектирование». на факультете.inverhills.edu/dlevitt . Проверено 21 сентября 2008 г. Больше не в сети в 2017 г.
  5. ^ Jump up to: а б Стивенс, Майерс и Константин, 1974 .
  6. ^ Jump up to: а б Юрдон и Константин 1979 .
  7. ^ Макменамин, Стивен М.; Палмер, Джон Ф. (1984). Существенный системный анализ . Юрдон Пресс. ISBN  978-0-13-287905-7 .
  8. ^ Гавриэль Салвенди (2001). Справочник по промышленной инженерии: технологии и управление операциями. . стр.508.
  9. ^ Юрдон, Эдвард (1989). Современный структурный анализ . Прентис-Холл. ISBN  978-0-13-598632-5 .
  10. ^ Дэвид К. Хэй (1999) Достижение соответствия модным словечкам в объектной ориентации. Архивировано 20 октября 2008 г. в Wayback Machine Essential Strategies, Inc.
  11. ^ Jump up to: а б с Рабочая группа по архитектуре Министерства обороны США (2003 г.). DoDAF 1.5 Том 2 , 15 августа 2003 г.
  12. ^ Jump up to: а б с д и ж г Алан Хехт и Энди Симмонс (1986) Интеграция автоматизированного структурного анализа и проектирования со средами поддержки программирования Ada, НАСА, 1986.
  13. ^ Том ДеМарко (1978). Структурный анализ и спецификация системы . Юрдон Пресс, Нью-Йорк, 1978.
  14. ^ Управление проектом NDE . Архивировано 7 ноября 2008 г. на веб-сайте использования данных Wayback Machine (NPOESS). 2008.
  15. ^ Jump up to: а б Александр Косяков, Уильям Н. Свит (2003). Системная инженерия: принципы и практика с. 413.
  16. ^ Jump up to: а б с Глоссарий по интеграции данных. Архивировано 18 февраля 2012 г. в Wayback Machine , Министерство транспорта США, август 2001 г.
  17. ^ TechTarget, SearchSOA , Что такое словарь данных?
  18. ^ Краткое описание практики AHIMA, Рекомендации по разработке словаря данных , Журнал AHIMA 77, № 2 (февраль 2006 г.): 64A-D.
  19. ^ Джон Аззолини (2000). Введение в практику системной инженерии . Июль 2000 года.
  20. ^ В. Стивенс, Г. Майерс, Л. Константин, «Структурированный дизайн», IBM Systems Journal, 13 (2), 115–139, 1974.
  21. ^ Jump up to: а б «Управление конфигурацией» В: Ресурсы IRS. Часть 2. Информационные технологии Глава 27. Управление конфигурацией . По состоянию на 14 ноября 2008 г.
  22. ^ Джеймс Мартин , Карма Л. МакКлюр (1988). Структурированные методы: основа для дела . Прентис Холл. стр.56.
  23. ^ Дэвид Вольбер « Структурные диаграммы, заархивированные 19 февраля 2009 г. на Wayback Machine : Дополнительные примечания. Структурные диаграммы и реализация снизу вверх: версия Java.
  24. ^ Пейдж-Джонс 1980 .
  25. ^ Белкхуш, Б., и Дж. Э. Урбан. (1986). «Прямая реализация абстрактных типов данных из абстрактных спецификаций». В: IEEE Transactions on Software Engineering, стр. 549–661, май 1986 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8fbb4f3f6af5b5a7482d218f61cb5be1__1719773580
URL1:https://arc.ask3.ru/arc/aa/8f/e1/8fbb4f3f6af5b5a7482d218f61cb5be1.html
Заголовок, (Title) документа по адресу, URL1:
Structured analysis - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)