При проведении проектных работ первой операцией является функциональный анализ объекта проектирования для создания внутренней многоуровневой структуры объекта проектирования. Результаты этого этапа необходимы в первую очередь для объективного разбиения задачи проектирования на части и определения стратегии решения общей задачи.
Каждый элемент структуры объекта проектирования представляется в виде системной модели; его служебное назначение описывается как функция элемента многоуровневой системы. Затем проводится исследование объекта проектирования, т. с. выявляются и описываются внешние и внутренние связи его системной модели. При этом требуется проведение целого ряда научно-исследовательских работ, под которыми подразумевается не только анализ литературных источников, но и эксперименты на реальных образцах.
Анализ требований является первой фазой разработки АС, на которой требования заказчика уточняются, формализуются и документируются. В практике создания больших систем известно немало примеров неудачной реализации проекта именно из-за неполноты и нечеткости определения системных требований.
Список требований к АС должен включать:
· совокупность условий, при которых предполагается эксплуатировать будущую систему (аппаратные и программные ресурсы, предоставляемые системе; внешние условия ее функционирования; состав людей и работ, имеющих к ней отношение);
· описание выполняемых системой функций;
· ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).
Целью анализа является преобразование общих, неясных знаний о требованиях к будущей системе в точные (по возможности) определения. Результатом этапа должна являться модель требований к системе (по другому — системный проект), определяющая:
· архитектуру системы, ее функции, внешние условия, распределение функций между аппаратной и программной частями (ПЧ);
· интерфейсы и распределение функций между человеком и системой;
· требования к программным и информационным компонентам ПЧ, необходимые аппаратные ресурсы, требования к базе данных, физические характеристики компонент ПЧ, их интерфейсы.
Модель требований должна включать:
· полную функциональную модель требований к будущей системе с глубиной проработки до уровня каждой операции каждого должностного лица;
· спецификации операций нижнего уровня;
· пакет отчетов и документов по функциональной модели, включающий характеристику объекта моделирования, перечень подсистем, требования к способам и средствам связи для информационного обмена между компонентами, требования к характеристикам взаимосвязей системы со смежными системами, требования к функциям системы;
· концептуальную информационную модель требований;
· пакет отчетов и документов по информационной модели;
· архитектуру системы с привязкой к концептуальной информационной модели;
· предложения по оргштатной структуре для поддержки системы.
Таким образом, модель требований содержит функциональную, информационную и, возможно, событийную (в случае если целевая система является системой реального времени) модели, обеспечивающие ряд преимуществ по сравнению с традиционной моделью:
1. Для традиционной разработки характерно осуществление начальных этапов кустарными неформализованными способами. В результате заказчики и пользователи впервые могут увидеть систему после того, как она уже в большей степени реализована. Естественно, эта система будет отличаться от того, что они ожидали увидеть. Поэтому далее последует еще несколько итераций ее разработки или модификации, что требует дополнительных (и значительных) затрат денег и времени. Ключ к решению этой проблемы и дает модель требований, позволяющая:
· описать, «увидеть» и скорректировать будущую систему до того, как она будет реализована физически;
· уменьшить затраты на разработку и внедрение системы;
· оценить разработку по времени и результатам;
· достичь взаимопонимания между всеми участниками работы (заказчиками, пользователями, разработчиками, программистами и т. д.);
· улучшить качество разрабатываемой системы, а именно выполнить ее функциональную декомпозицию и спроектировать оптимальную структуру интегрированной базы данных
2. Модель требований полностью независима и отделяема от конкретных разработчиков, не требует сопровождения ее создателями и может быть безболезненно передана другим лицам. Более того, если по каким-либо причинам предприятие не готово к реализации системы на основе модели требований, она может быть положена «на полку» до тех пор, пока в ней не возникнет необходимость.
3. Модель требований может быть использована для самостоятельной разработки или корректировки уже реализованных на ее основе программных средств силами программистов отдела автоматизации предприятия.
4. Модель требований может использоваться для автоматизированного и быстрого обучения новых работников конкретному направлению деятельности предприятия, поскольку ее технология содержится в модели.
Этап анализа требований является важнейшим среди всех этапов ЖЦ. Он оказывает существенное влияние на все последующие этапы, являясь в то же время наименее изученным и понятным процессом. На этом этапе, во-первых, необходимо понять, что предполагается сделать, а во-вторых, задокументировать это, так как если требования не зафиксированы и не сделаны доступными для участников проекта, то они вроде бы и не существуют. При этом язык, на котором формулируются требования, должен быть достаточно прост и понятен заказчику.
С другой стороны, рассматриваемый этап ЖЦ является наиболее трудной частью разработки. Нижеследующие проблемы, с которыми сталкивается системный аналитик, взаимосвязаны (и это является одной из главных причин сложности их разрешения):
· аналитик не всегда располагает исчерпывающей информацией для оценки требований к системе с точки зрения заказчика;
· заказчик, в свою очередь, не имеет достаточной информации о проблеме обработки данных для того, чтобы судить, что выполнимо, а что нет;
· аналитик сталкивается с чрезмерным количеством подробных сведений, как о предметной области, так и о новой системе;
· традиционная (текстовая) спецификация системы из-за объема технических терминов часто непонятна заказчику;
· если такая спецификация понятна заказчику, она будет недостаточной для проектировщиков и программистов, создающих или адаптирующих систему.
Конечно, применение известных аналитических методов снимает отдельные проблемы анализа, однако приемлемое решение совокупности этих проблем может быть найдено только путем применения современных методик системной и программной инженерии, ключевое место среди которых занимают методологии структурного и объектно-ориентированного анализа.