Технологии программирования
Шрифт:
Четвертый, итоговый этап системного анализа (документирование требований к новой системе) должен обобщить имеющиеся аналитические материалы и создать документированное отображение функциональных требований к новой АС. Документ "Требования к системе", или "Функциональные требования", является основой дальнейшей работы специалистов информационного отдела для создания детального проекта новой системы, т. е. для создания спецификаций всех ее элементов, программ, инструкций.
Таким
Во многих аспектах системный анализ является наиболее трудной частью процесса создания системы. Проблемы, с которыми сталкивается системный аналитик, взаимосвязаны, что является одной из главных причин сложности их решения:
1) аналитику сложно получить исчерпывающую информацию для оценки требований к системе с точки зрения заказчика;
2) заказчик, в свою очередь, не имеет достаточной информации о проблеме обработки данных, чтобы судить, что является выполнимым, а что — нет;
3) аналитик сталкивается с чрезмерным количеством подробных сведений о предметной области и о новой системе;
4) спецификация системы из-за объема и технических терминов непонятна для заказчика;
5) в случае понятности спецификации для заказчика, она будет недостаточной для разработчиков, создающих систему.
Итак, на данном этапе эволюционного развития ситуация в области проектирования АС выглядит следующим образом:
• имеется субъект — потенциальный заказчик, испытывающий дискомфорт, для преодоления которого необходимо решить ряд проблем, и поэтому этот субъект является источником деятельности;
• имеется перечень потребностей, которые необходимо удовлетворить;
• известны прототипы программных средств с механизмами, которые в совокупности могли бы удовлетворить имеющиеся потребности, но эти механизмы не связаны в единое целое так, чтобы удовлетворить все имеющиеся потребности.
Теперь необходимо сформулировать цели и определить ограничения на реализацию программного продукта.
Формулировка целей — первый и важнейший этап процесса проектирования. Именно на этом этапе закладываются основы успеха в решении всей задачи. Ошибки в выборе и формулировке цели не могут быть скомпенсированы на последующих этапах. Причина проста — все, что проделывается на последующих этапах разработки, идет от поставленных целей. Следовательно, такие ошибки никакими методами на последующих этапах невозможно скомпенсировать.
Как правило, все ошибки начальных этапов, выявленные на последующих этапах, имеют следующие причины:
1) постановка недостижимой цели;
2) стремление разработчика и постановщика задачи упростить задачу;
3) неумение разработчика выделить из формулировки постановщика отдельно описание проблемы и постановку задачи;
4) не выявленные ограничения.
Ситуации,
Можно сформулировать последовательность рекомендаций (контрольных вопросов):
Рекомендация 1. Не доверяйте имеющимся формулировкам задачи; решение начинайте с нуля, с выделения субъекта, выявления причин его дискомфорта и потребностей. Дело в том, что зачастую формулировка, предлагаемая заказчиком, неудачна или вовсе неприемлема, так как описывает на самом деле неудовлетворенную потребность, выдавая ее за задачу.
Рекомендация 2. Уточните требования к конечному результату:
1) какие функции и с какими показателями качества должен выполнять функции объект?
2) какой эффект будет получен в случае успешного решения задачи?
3) каковы допустимые затраты, как они связаны с показателями качества?
Может оказаться, что затраты существенно превысят эффект, поэтому либо следует отказаться от решения, либо искать более приемлемое.
Рекомендация 3. Уточните условия, в которых предполагается реализация найденного решения:
1) тщательно исследуйте связанные с этим ограничения и убедитесь, что все они действительно имеют место;
2) выявите особенности реализации, в частности, допустимую степень сложности, предполагаемые масштабы применения.
Рекомендация 4. Изучите задачу, используя следующую информацию:
1) как решаются задачи, близкие к рассматриваемой?
2) как решаются задачи, обратные рассматриваемой? (Особое внимание следует обратить при этом на области применения, для которых подобные задачи наиболее актуальны.)
Рекомендация 5. Мысленно измените условия задачи и исследуйте ее решение в новых условиях: изменяйте от нуля до бесконечности сложность объекта, время процесса, затраты, условия среды.
Рекомендация 6. Тщательно отработайте формулировку задачи, желательно с использованием наиболее общих понятий и терминов.
Рекомендация 7. Сформулируйте идеальный конечный результат и в процессе решения стремитесь получить его.
Анализ требований сосредоточен на интерфейсе системы человек — программа — машина и информационных потоках между ними. Здесь решается, что делает человек, а что делает машина и как она это делает. В ходе анализа решается вопрос о целесообразности применения ЭВМ.