Разработка системного проекта

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

Фактически на этом этапе дается ответ на вопрос: "Что должна делать будущая система?". Именно здесь лежит ключ к успеху всего проекта автоматизации. В практике создания больших программных систем известно немало примеров неудачной реализации именно из-за неполноты и нечеткости определения системных требований.

На этом этапе определяются:

• архитектура системы, ее функции, внешние условия ее функционирования, распределение функций между аппаратной и программной частями;

• интерфейсы и распределение функций между человеком и системой;

• требования к программным и информационным компонентам системы, необходимые аппаратные ресурсы, требования к базе данных, физические характеристики компонент системы, их интерфейсы;

• состав людей и работ, имеющих отношение к системе;

• ограничения в процессе разработки (директивные сроки завершения отдельных этапов, имеющиеся ресурсы, организационные процедуры и мероприятия, обеспечивающие защиту информации).

В рамках системного проектирования должно быть осуществлено:

• определение состава, структуры и характеристик функциональных задач в рамках деятельности структурных подразделений;

• определение состава и структуры программных средств автоматизации технологии решения задач с учетом существующих средств в структурных подразделениях;

• определение структуры и характеристик информационного обеспечения технологии решения задач;

• разработка технических решений по построению информационного обеспечения (логических структур баз данных, структур классификаторов);

• разработка состава автоматизируемых процедур документооборота. Системный проект должен включать:

• полную функциональную модель требований к будущей системе;

• комментарии к функциональной модели (спецификации процессов нижнего уровня в текстовом виде);

• пакет отчетов и документов по функциональной модели, включающий характеристику объекта моделирования, перечень подсистем, требования к способам и средствам связи для информационного обмена между компонентами, требования к характеристикам взаимосвязей системы со смежными системами, требования к функциям системы;

• концептуальную модель интегрированной базы данных (пакет диаграмм);

• архитектуру системы с привязкой к концептуальной модели;

• предложения по оргштатной структуре для поддержки системы.

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

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

• описать, "увидеть" и скорректировать будущую систему до того, как она будет реализована физически;

• уменьшить затраты на разработку и внедрение системы;

• оценить разработку по времени и результатам;

• достичь взаимопонимания между всеми участниками работы (заказчиками, пользователями, разработчиками, программистами и т.д.);

• улучшить качество разрабатываемой системы, а именно: создать оптимальную

структуру интегрированной базы данных, выполнить функциональную

декомпозицию типовых модулей.

Системный проект полностью независим и отделяем от конкретных разработчиков, не требует сопровождения его создателями и может быть безболезненно передан другим лицам. Более того, если по каким-либо причинам предприятие не готово к реализации системы на основе проекта, он может быть положен "на полку" до тех пор, пока в нем не возникнет необходимость. Кроме того, его можно использовать для самостоятельной разработки или корректировки уже реализованных на его основе программных средств силами программистов отдела автоматизации предприятия.

Системное проектирование по сравнению с построением моделей деятельностей имеет важную особенность в технике структурирования модели. Особую роль здесь играют хранилища (накопители) данных: практически все процессы модели связываются не напрямую, а с использованием этих объектов (что реально соответствует чтению/записи информации из/в базу данных). При этом операции записи должны удовлетворять основному критерию проектирования: данные должны заносится в накопитель один раз в том месте, где они впервые появляются.

Основное правило введения накопителей данных заключается в следующем: если данные из некоторого накопителя используются по крайней мере двумя процессами, то этот накопитель должен присутствовать на содержащей эти процессы диаграмме. Поэтому на втором уровне модели (детализации контекстной диаграммы) должны быть введены базовые накопители, к которым осуществляют доступ основные подсистемы будущей системы. Базовым накопителям должны соответствовать основные подсхемы информационной модели. К выявлению базовых накопителей следует подходить чрезвычайно тщательно, поскольку именно с ними будут работать бизнес-процессы и бизнес-функции на всех без исключения уровнях детализации модели.

В качестве примера введения накопителей рассмотрим фрагмент модели требований к системе автоматизации упоминавшейся выше автобазы, входящей в состав горнообогатительного комбината и занимающейся перевозками породы. На рис. 2 приведена диаграмма потоков данных, детализирующая рассматриваемую систему на основные подсистемы:

1. Подсистема управления производством - включает в себя требования по автоматизации деятельности начальника автобазы, главного инженера, главного механика, главного энергетика, организации документооборота, деятельности центра управления производством - ЦУП (включая контроль неснижаемого запаса на оборотном складе, планирование ремонтов дизелей по периодам, планирование ремонтов и технического обслуживания (ТО) автосамосвалов по периодам, расчет резерва времени по шинам и фильтрам, расчет средней наработки и анализ отказов узлов автосамосвала и дизеля, формирование заказов на изготовление деталей, заявок на запчасти, наряд-заданий на ремонт и ТО) и технического отдела (включая учет транспортных средств, анализ надежности парка, узлов и агрегатов, анализ расхода запчастей и материалов, трудоемкости ТО и ремонтов, расчет коэффициента технической готовности, планирование, контроль и формирование отчетности).

2. Подсистема ремонта и технического обслуживания - включает в себя требования по автоматизации деятельности по диагностике (дефектоскопия, технический контроль состояния гидросистемы, силового агрегата и электрической части автосамосвала, химический анализ масел, топлива и охлаждающей жидкости), ремонту (уточнение наряд-задания, определение ремонтного участка, оформление заявки на запчасти, сдача деталей на оборотный склад, учет выполненного ремонта по каждому из ремонтных участков), техническому обслуживанию всех видов (ТО-250, ТО-500, ТО-1500), а также учет на оборотном складе.

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

4. Подсистема контроля безопасности - включает в себя требования по автоматизации учета мероприятий по контролю безопасности движения и учета дорожно-транспортных происшествий, контроля пожарной безопасности, контроля технической безопасности (включая безопасность работ на высоте и шиномонтажном участке).

5. Подсистема обеспечивающей деятельности - включает в себя требования к следующим подсистемам: материально-техническое снабжение, бухгалтерский учет, складской учет (запчастей, инструмента и расходных материалов), учет кадров и экономическое планирование (включая планирование труда и зарплаты и планово-экономическую деятельность).