1.6. Понятие крупного проекта

Разработка ПО крупных систем, таких как САПР, АРМ, ИС и других, является сложной, трудоемкой и длительной работой, требующей высокой квалификации участвующих в ней специалистов. Для выполнения разработки ПО АС создаются специальные инженерные методы, известные в настоящее время под общим названием «программная инженерия» (Software Engineering — SE) /6/.

В основе SE положена фундаментальная идея: проектирование ПО является формальным процессом, который можно изучать и совершенствовать.

Обычно крупные системы типа САПР, АРМ, ИС и др. разрабатываются как некоторый проект, имеющий много общего в методике проектирования систем для различных предметных  областей. В системном плане проект может быть представлен «черным ящиком», входом которого являются ТЗ и условия финансирования, а итогом проектирования – достижение требуемого результата (рис. 1.5). Выполнение работ обеспечивается наличием необходимых ресурсов (материалов, оборудования, человеческих ресурсов) /5/.

Рис. 1.5. Представление проекта в виде «черного ящика»

Известно, что современные проекты характеризуются своими особенностями, к которым относятся:

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

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

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

- необходимость интеграции существующих и вновь разрабатываемых приложений;

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

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

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

-