Повышение качества и производительности программных средств
Программное обеспечение играет важную роль в формировании сообщества человек—КСС. Значительный рост применений микроЭВМ вызывает быстрое расширение сферы производства программных изделий и возрастание объемов людских ресурсов, а также приводит к интенсификации применения ЭВМ для обработки информации фактически в каждой отрасли промышленности.
Если технологии разработки и сопровождения программных изделий останутся на настоящем уровне в течение нескольких лет, то производство средств программного обеспечения окажется неспособным сохранить необходимые темпы роста. В этом плане ожидается, что «кризис программного обеспечения», который ощущался в некоторых областях в течение ряда лет, будет распространяться повсюду в промышленном секторе. Следовательно, жизненно необходимо освоить отвечающие современным требованиям практические эффективные технологии производства, сопровождения и контроля качества программного обеспечения.
Стандартизация производства средств программного обеспечения и распространение их в виде коммерческих модулей или пакетов должны улучшить их продуктивность и качество.
От 60 до 70% работ на протяжении жизненного цикла программного изделия связаны с его изменением и сопровождением. Проблемы сопровождения необходимо в будущем рассматривать более конструктивно, а повышение продуктивности и качества сопровождения программного обеспечения следует считать не менее важной задачей.
Производство программных изделий можно рассматривать как ручную работу. Программное обеспечение является продуктом «умственных усилий, реализуемых вручную». Это объясняет, почему процесс разработки каждого нового программного изделия несет на себе отпечаток «ручных усилий». Ручной труд является главной причиной появления в программном изделии ошибок. Кроме того, известно, что уровень продуктивности и качества программного обеспечения очень сильно зависит от отдельных разработчиков.
В связи с вышесказанным необходимо обучать специалистов по программному обеспечению использованию методологий эффективного проектирования, производства и тестирования наряду со стандартизацией операций, применением вспомогательных инструментальных средств разработки и сопровождения и модернизацией рабочих условий. С этой целью должны применяться достижения в области инженерной психологии.
Физические условия работы людей оказывают существенное влияние на средства программного обеспечения. Здесь важно осуществить всесторонние улучшения с целью создания некоторой комфортной среды, подходящей для решения задач разработки программного обеспечения. Это требует внимания к таким деталям, как размер и форма столов, площадь и конструкция рабочих помещений, местоположение файлов и терминалов, размеры и расположение залов для проведения совещаний, помещений для программистов и машинных залов.
При создании программного обеспечения наряду с индивидуальной деятельностью важную роль играет бригадная организация работы. Следовательно, в этой части важно изучать и оптимизировать процедуры формирования рабочих групп.
Новые идеи, необходимые разработчикам программного обеспечения
Фирма NEC проводит модернизацию своего производства программных изделий посредством введения большого числа терминалов на предприятиях, выпускающих программные средства, с целью усовершенствования методологии программирования и операций тестирования за счет использования интерактивных систем.
Фирма NEC обладает богатым опытом, знаниями и методологическими возможностями в области производства аппаратных средств, однако процессы создания программных средств всегда были менее явными и не достигли столь же существенного прогресса Хотя не все средства и методы управления производством аппаратуры применимы к производству программных изделий, необходимо выявлять и использовать те из них, которые могут быть применены. Здесь важен конструктивный подход. Новые идеи разработчиков программного обеспечения будут иметь большое значение для модернизации всей работы по разработке и сопровождению программных изделий, благодаря которой программные средства смогут стать промышленными изделиями.
Важность признания средств программного обеспечения как промышленных изделий коммерческого применения
Роль человека в сообществе человек — КСС будет становиться все более важной. Программные средства при этом имеют большое значение для правильной организации взаимодействия между людьми и ЭВМ. В действительности именно программное обеспечение создает благоприятные условия для быстрого распространения систем.
В этом плане следует принимать во внимание два аспекта создания программных средств. Один аспект — это рационализация производства программных изделий и выполнение измерений, необходимых для гарантии того, что имеется достаточна специалистов, способных квалифицированно разрабатывать программные средства как промышленные изделия. Второй аспект— экономический, он связан с затратами на создание программного обеспечения. Этот аспект важен для производителей ЭВМ, но в Японии даже пользователи демонстрируют надлежащее понимание экономических выгод применения программных средств. Таким образом, в этом отношении наблюдается явный прогресс.
Надлежащая экономическая оценка программного обеспечения не является задачей только производителей ЭВМ; она важна и для пользователей, особенно в связи с тенденцией возрастания численности персонала, занятого работой по созданию программного обеспечения.
В настоящее время в Японии в работах по созданию программного обеспечения участвуют около 400 000 человек. Предполагается, что через пять лет этой деятельностью будет занято свыше 1000000 человек. Большая часть людей будет работать в государственных учреждениях, общественных корпорациях, университетах, исследовательских институтах и в промышленности. Учет экономических выгод от использования программных средств должен привести к правильному пониманию истинной ценности этой работы.
Достижение высокой эффективности производства программных изделий можно уподобить восхождению на Фудзияму
Производство программного обеспечения можно сравнить (рис. 9.12) с восхождением на гору Фудзияма — потухший вулкан конусообразной формы. Как известно, альпинизм — это вид спорта, в котором приходится полагаться только на свои ноги. Не обязательно иметь сильные ноги альпиниста, чтобы достичь пятой станции на горе Фудзияма, которая находится на половине пути к вершине, так как склон здесь пологий и легко преодолим (он доступен даже автомашине). Настоящее восхождение начинается лишь с крутого склона у пятой станции, продолжающегося до самой вершины горы. На этом отрезке пути действительно приходится надеяться лишь на крепость ног, и восхождение дается с большим трудом.
Отношение объемов частей горы, находящихся выше и ниже пятой станции, составляет 1 : 10. Это применимо и к программному обеспечению. Программное обеспечение, уподобляемое ча-
Рис. 9.12. Процесс производства программного обеспечения в сравнении с восхождением на гору Фудзияма. |
Сти горы, лежащей ниже пятой станции, несравнимо больше по объему программного обеспечения, соответствующего части горы, находящейся выше пятой станции. Следовательно, обычные методы управления качеством и производством, применяемые до сих пор при разработке аппаратных средств, могут быть также применимы и в производстве программных изделий. Требуются, однако, большие усилия для рациональной организации производства программных средств в расчете не только на индивидуальные способности исполнителей. Стандартизация программного обеспечения должна сделать доступными для общего использования методы пакетирования программ и модульного конструирования. Системы автоматизированного проектирования и автоматизации производства будут использовать здесь всякий раз, когда это возможно, точно так же, как и в других отраслях промышленности.
При любых условиях программные средства должны стать полностью промышленными изделиями. Это поднимет моральное состояние разработчиков программного обеспечения. Как разработчики, так и пользователи программ должны признать экономическую ценность средств программного обеспечения и продолжать прикладывать усилия для снижения стоимости программного обеспечения.
Рис. 9 13. Будущее индустрии программного обеспечения. |