
10.3. Организация и требования к специалистам при системном проектировании.
Развитие программной инженерии привело к появлению новых требований к специалистам по всем этапам жизненного цикла ПС и БД. Теперь недостаточно навыков процедурного программирования небольших компонент, а необходимы глубокие знания системотехники и технологии системного проектирования сложных комплексов программ в определенной области применения. Крупномасштабное проектирование ИС различных классов, разделение труда при разработке мобильных программ и данных, организация коллективов и экономика таких разработок стали важнейшей частью подготовки специалистов.
Для создания высококачественных комплексов программ прежде всего необходима организация и тесное взаимодействие представителей заказчика и разработчика на всем жизненном цикле проекта. Взгляды заказчика, в основном, отражаются в функциональных и потребительских характеристиках ПС и БД. Устремления разработчиков направлены на способы их реализации. Эти различия исходных точек зрения на проект приводят к тому, что многие неформализованные представления тех и других имеют зоны неопределенности и взаимного непонимания. Организация четкого взаимодействия и сокращение этих зон требует проведения определенных мероприятий взаимного повышения квалификации и обучения. Представители заказчика, участвующие в системном проектировании, Должны обучаться формализации автоматизируемых технологических процессов, для которых предназначены соответствующие ИС, и иметь представление о эффективных путях их реализации. С другой стороны, разработчики должны иметь в своем составе квалифицированных, проблемно - ориентированных системных архитекторов, способных переводить функциональные требования заказчика в конкретные технические требования к комплексу программ и его компонентам. Это позволит на ранних этапах исключать или сокращать дефекты, обусловленные различием видимостей целей и задач проектов.
Разделение труда специалистов в крупных проектных коллективах приводит разработчиков к необходимости их дифференциации по квалификации и областям деятельности. Выделяются разработчики программных компонент и высоко квалифицированные системотехники -интеграторы сложных проблемно - ориентированных ПС и БД. Эти две категории специалистов работают над проектом в значительной степени разными методами, на разных языках проектирования, используют различные средства автоматизации и имеют на выходе различные результаты. Вследствие этого необходим их профессиональный отбор, специфически ориентированные подготовка и методы обучения. Специалисты по системному проектированию сложных ИС и комплексированию компонент должны иметь, прежде всего, хорошую подготовку по системному анализу алгоритмов и пакетов прикладных программ, по методам оценки эффективности проектов, организации и планированию крупномасштабных разработок программ и баз данных. Им необходима высокая квалификация по архитектурному построению, комплексной отладке и испытаниям ПС и БД определенных классов и умение организовать коллектив для решения общей целевой задачи ИС.
Наиболее часто применяются две схемы организации коллектива специалистов для реализации проектов сложных ПС и БД :
формирование для каждого проекта жесткой организационной структуры коллектива с полным составом необходимых специалистов под единым, централизованном руководством;
выделение руководителя (главного конструктора) и небольшой группы интеграторов, по заданиям которых выполняются частные работы узкими специалистами, не входящими организационно в единый коллектив конкретного проекта.
Первая схема предпочтительна, когда фирма реализует небольшое число особенно крупных проектов - заказов и имеет возможность для каждого из них скомплектовать полноценную, организационно замкнутую, бригаду. Однако при этом возможны простои отдельных специалистов из-за ожидания заданий или результатов последовательных этапов проекта. Вторая схема для фирмы может иметь преимущества при большом числе относительно небольших проектов, близких по содержанию и функциональному назначению. В этом случае большинство специалистов одновременно участвуют в нескольких проектах по локальным заданиям интеграторов различных проектов и может использоваться более полно. Однако задачи интеграторов при этом усложняются и требуют более высокой квалификации.
Успех при проектировании сложных программных комплексов все больше зависит от слаженной работы и профессионализма коллектива специалистов на всех этапах и уровнях создания таких проектов. При системном проектировании необходима оценка требований к тематической и технологической квалификации возможного коллектива специалистов и его способности создать и реализовать разработанный системный проект.
Тематическую квалификацию специалистов в области проектирования ИС определенного функционального назначения приближенно можно характеризовать средней длительностью работы в данной проблемной области основной части коллектива, непосредственно участвующей в создании алгоритмов, программ и баз данных. Важнейшую роль при этом играет квалификация руководителей разработки и системных аналитиков и в меньшей степени непосредственных разработчиков программ и данных в конкретной прикладной области. Особенно важна не индивидуальная характеристика каждого специалиста, а прежде всего интегральный показатель бригады, реализующей некоторую, достаточно крупную функциональную задачу или весь проект. При низкой тематической квалификации допускаются наиболее грубые системные ошибки, требующие больших затрат при доработке программ или делающие проект практически не реализуемым.
Технологическая квалификация коллектива характеризуется опытом и длительностью работы с регламентированными технологиями, инструментальными комплексами автоматизации разработки и языками проектирования ПС и БД. Особое значение имеет коллективный опыт организации и выполнения сложных проектов на базе современных автоматизированных технологий и инструментальных средств. Опыт применения конкретного комплекса автоматизации и языков проектирования ПС и БД может являться существенным фактором при последующем выборе технологии для создания новых ИС.