Стадии, проблемы и методология системного анализа
Сегодня для решения задач по изучению требований к разрабатываему ПО существует механизм системного анализа. О нем и поговорим.
Анализ требований разрабатываемой системы — важнейший этап среди всех этапов жизненного цикла. Он существенно влияет на все последующие этапы, в то же самое время являясь наименее понятным и изученным процессом. Прежде всего, на этом этапе надо понять, что планируется сделать, а потом задокументировать это, ведь если требования не будут зафиксированы и доступны участникам проекта, то, можно сказать, что требований как будто и не существует. Причем язык, на котором будут сформулированы требования, должен быть относительно прост и понятен заказчику.
Стадии системного анализа
Если вкратце, то системный анализ изучает структуру реальных объектов, а также предоставляет способы их формализованного описания. Причем общая теория систем, которая с единых позиций изучает разнообразные по характеру системы, является его частью.
Можно выделить 3 главные стадии системного анализа: — выделение составных частей проблемы, формализация этих частей; — обнаружение пути решения проблемы (возможно применение методов математики); — практическая реализация полученных результатов.
Порой системный анализ называют «методикой улучшающего вмешательства в проблемную ситуацию».
Проблемы и методология системного анализа
Действительно, нередко системный анализ становится самой трудной частью разработки ПО. Причем проблемы, с которыми приходится сталкиваться системному аналитику, связаны между собой. Это, кстати, и делает их трудноразрешимыми.
Суть проблем: — аналитику бывает непросто, а порой и невозможно получить исчерпывающую информацию, чтобы объективно оценить требования к системе с точки зрения заказчика; — в свою очередь, заказчик не имеет полной информации о проблемах обработки данных, поэтому он не способен объективно судить, что выполнимо, а что — нет; — системный аналитик сталкивается с избыточным объемом подробных сведений, связанных и с новой системой, и с соответствующей предметной областью; — спецификация системы по причине того же объема и изобилия технических терминов зачастую непонятна для заказчика; — если все-таки спецификация понятна для заказчика, она будет недостаточной для программистов и проектировщиков, которые создают саму систему.
Некоторые из вышеописанных проблем могут если не устранить, то облегчить известные аналитические методы. Центральное место здесь занимает методология структурного анализа.
Структурный анализ — это метод исследования системы, который: — начинается с общего обзора системы; — детализируется, приобретая иерархическую структуру с большим количеством уровней.
Что тут характерно: — разбиение на уровни абстракции, причем с поуровневым ограничением количества элементов (как правило, от 3 до 6-7); — ограниченный контекст, который включает в себя только существенные и важные на каждом уровне детали; — двойственность как данных, так и операций над данными; — применение строгих формальных правил записи; — последовательность приближения к конечному результату.
В следующий раз поговорим о принципах структурного анализа.
По материалам: https://helpiks.org/9-41863.html.