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