Cтраница 2
Это большой проект, в рамках которого разрабатывается система баз данных нового поколения, расширяющая реляционный подход сложными объектами, типами Данных и правилами, называемыми индикаторами ( alerts) или триггерами. В данной главе рассмотрена система управления правилами. [16]
Брукс отмечает, что большие проекты, в которых задействованы сотни программистов, принципиально отличаются от небольших проектов и что результаты, достигнутые при работе над небольшим проектом, нельзя переносить на большой проект. В большом проекте огромное количество времени тратится на планирование того, как разделить работу на отдельные модули. При этом нужно детально расписать работу модулей и интерфейсы к ним, а также попытаться представить себе, как эти модули взаимодействуют, причем до того, как начнется само программирование. Затем модули по отдельности создаются и отлаживаются. Наконец, модули собираются вместе и вся система в целом тестируется. [17]
В большом проекте только определение целей, внешнее проектирование, разработка архитектуры системы и проектирование базы данных должны контролироваться такой формальной процедурой. [18]
Брукс отмечает, что большие проекты, в которых задействованы сотни программистов, принципиально отличаются от небольших проектов и что результаты, достигнутые при работе над небольшим проектом, нельзя переносить на большой проект. В большом проекте огромное количество времени тратится на планирование того, как разделить работу на отдельные модули. При этом нужно детально расписать работу модулей и интерфейсы к ним, а также попытаться представить себе, как эти модули взаимодействуют, причем до того, как начнется само программирование. Затем модули по отдельности создаются и отлаживаются. Наконец, модули собираются вместе и вся система в целом тестируется. [19]
При нисходящей разработке большая часть общих затрат времени уходит на планирование, а меньшая - на реализацию. Даже для большого проекта увеличение времени на планирование означает дополнительную затрату времени лишь несколькими людьми. Нисходящее планирование требует не менее двух человек: один несет ответственность за план целиком и еще один или несколько человек отвечают за выбор тестов и планирование тестирования. [20]
Например, в большом проекте на сбор всех данных, необходимых для тестирования, могут потребоваться недели. Этой работой занимаются обычно лишь несколько человек. Разумное распределение людских ресурсов таково: программировать головные модули одновременно с разработкой тестов, предполагая, что тесты будут готовы к первому запуску модуля. Хотя здесь мы отступаем от принципа сначала планирование, потом. [21]
Отчетность по фактическим затратам осуществляется тем не менее отдельно по каждому проекту, а финансовые отчеты используются для проверки пропорциональности коллективных затрат затратам человеческого труда или для выявления необходимости изменить алгоритм составления бюджета, с тем чтобы восстановить пропорциональность. В случае договорного проекта или очень большого проекта, имеющего коллективный бюджет, такие переменные, как затраты на вычислительное оборудование и командировки, распределяются и контролируются аналогично затратам человеческого труда. [22]
Хотя карточки CRC могут быть мощным средством в начале проектирования, их возможности ограничены. Первая проблема в том, что большой проект может состоять из большого числа классов. [23]
![]() |
Схема измерения зависимости U от / для резистора. [24] |
Каждая лабораторная работа рассчитана па одно вечернее занятие; в конце работы студент разбирает свою схему, освобождая монтажную плату для следующих. Пять лабораторных работ по микропроцессорам представляют собой отдельный большой проект, поэтому схемы не разбираются от занятия к занятию. В этих работах мы используем универсальный микропроцессор Z-80, что благодаря его статическим регистрам позволяет упростить движение по этапам. [25]
Большие текстовые проекты требуют особого внимания. Первым пунктом повестки дня при создании большого проекта должен быть выбор шаблона, на основе которого будет создаваться документ. Шаблон, как вы узнали в этой главе, содержит стили, которые определяют внешний вид документа. [26]
Чем значительнее проект, тем больше предъявляется требований к организационной структуре. Это происходит по следующей причине: руководители большого проекта имеют ограниченные возможности контроля за всем происходящим в рамках проекта, концентрируя свое внимание на важнейших направлениях. Чем дальше позиция или рабочее место удалены от руководителя проекта, тем меньше у него возможности непосредственно управлять деятельностью этого исполнителя. [27]
На практике, впрочем, компилятор компилирует исходную программу не прямо в коды, а в некоторую промежуточную форму, называемую объектным кодом, который хотя и близок к коду ЭВМ, но не совпадает с ним. Дело в том, что при изменениях в большом проекте, состоящем из десятков исполнителей и сотен отдельных программ, нет необходимости перекомпилировать весь проект - достаточно заново преобразовать одну измененную программу или исполнителя. Однако при компиляции отдельно взятой программы некоторые имена ( например, имена подпрограмм) нельзя заменить адресами - ведь неизвестно, в каких местах памяти ЭВМ будут лежать те или иные программы. Поэтому после компиляции в такой промежуточный объектный код необходим еще один этап - его называют сборкой или редактированием связей, во время которого из объектных кодов отдельных программ и исполнителей собирается вся программа в кодах целиком. [28]
Однако, несмотря на все это, существует по крайней мере 4 веские причины для изучения языка ассемблера. Во-первых, желательно уметь писать программы на языке ассемблера, поскольку успех или неудача большого проекта может зависеть от того, можно ли повысить производительность какой-то важной процедуры в 2 или 3 раза. [29]
Ос новная исследовательская работа выполняется группой из 30 специалистов, набранной из всех семи компаний-участниц. Работа в этом направлении начинается и в других странах Запада, но Япония, начав этот большой проект, оказалась на шаг впереди. [30]