Программное обеспечение и его разработка
Шрифт:
— богатый набор ее функций должен быть перед реализацией тщательно выверен и определен;
— соревнование за пользователей начнется для нее после введения в эксплуатацию; конкурентами будут другие сети.
Таблица 4.14. Примеры программ и их соответствие классификации
Ведомость | Расчеты орбит | Управление информационной системой | Система резервирования мест при авиаперевозках | Транслятор с Кобола | Программы сортировки и квадратного корня | Автоматизация конторского дела | Система ведения конторской документации | Телевизионный приемник | Система управления базой данных | Управление воздушным транспортом | |
---|---|---|---|---|---|---|---|---|---|---|---|
Время разработки | Н | Н | В | В | В | С | В | С | С | В | ОВ |
Время
| Н | Н | В | В | Н | Н | В | Н | Н | В | ОВ |
Время сопровождения | Н | Н | В | В | Н | Н | В | Н | Н | В | ОВ |
Прикладное | V | V | V | V | * | V | V | V | V | ||
Вспомогательное | V | ||||||||||
Системное | * | V | |||||||||
Масштаб | М | М | С | В | М | М | С | М | М | С | В |
Сложность | |||||||||||
Научная | Н | В | Н | Н | Н | С | Н | Н | Н | Н | Н |
Логическая | Н-С | С | В | ОВ | В | С | В | С | Н | В | В |
Обеспечение проекта | * | V | V | V | * | V | |||||
Программная продукция | V | * | V | V | V | ||||||
Продукция с аппаратно-интенсивным обеспечением | V | V | |||||||||
Продукция с программно-интенсивным обеспечением | V | V | V |
V — обычно присутствует, * — может быть несколько вариантов, Н — низкий, С — средний, В — высокий, ОВ — очень высокий.
Таким образом, для разработки такой сети по обслуживанию деловых операций необходимо разрабатывать как обеспечение для проектов, так и отдельные программы как продукцию.
В табл. 4.14 приведены примеры различных программ и их распределение по категориям в соответствии с таксономией. В дополнение к этому дается грубая оценка трудности работы с данной программой на каждом из трех этапов жизненного цикла программы.
В гл.2 мы уже отмечали, что стоимость больших программ может достигать 90 % общей стоимости проекта.
Существуют и такие применения программного обеспечения, в которых стоимость программ неизмеримо мала по сравнению со стоимостью аппаратуры. Разработчики таких программ могут совершенно не замечать кризиса программного обеспечения.
Если от нас требуют разработать основную программу, используемую
на одной и только одной вычислительной машине, например программу управления информационной системой для компании XYZ мы будем не вправе делить стоимость программы на число пользователей. К тому же число это равно 1, и вся стоимость накладывается на одного пользователя. Если же нам нужно вставить нашу программу в маленькую вычислительную машину внутри телевизора, мы разделим стоимость программ, написанных для этой машины, на общее число телевизоров, которые будут выпущены в эксплуатацию. Если разработка программ обошлась в 200 тыс. долларов, то после деления на 500 тысяч телевизоров получим удельную стоимость всего 40 центов. Все очень просто! О чем же волноваться? Пока программа правильна, никаких проблем и не существует. В табл. 4.15 представлено все многообразие «тиражей» различных вычислительных машин.При разработке системного и прикладного обеспечения в рамках некоторого проекта, скажем для управляющего центра общенациональной системы связи, стоимость этого обеспечения может легко достичь 30 или даже 60 млн. долларов в расчете на одну станцию связи. Стоимость же программ для одного микропроцессора, встроенного в телевизор, как мы уже подсчитали, может оказаться в диапазоне 40 центов на штуку.
Если мы говорим о программном обеспечении и не употребляем рядом с этим термином никаких добавочных определений, то должны четко понимать, что при этом мы все очень сильно упрощаем. Лишь самые общие замечания, сделанные по поводу аппаратно-интенсивных приложений программного обеспечения, можно отнести также и на счет программно-интенсивных приложений, и наоборот.
Программное обеспечение | Системное обеспечение |
Обеспечение как продукция | |
Обеспечение проектов | |
Инструментальное обеспечение | |
Тестирующее обеспечение | |
Большое обеспечение | |
Обеспечение для реального времени | |
Пакетное обеспечение | |
Прикладное обеспечение | |
Диалоговое обеспечение | |
и т. д. |
Мы не должны допускать предложений типа «70 % стоимости программного обеспечения приходится на этап продолжающейся разработки». Во многих случаях это правда; во многих — нет. Это слишком общее высказывание. Мы должны добиваться большей точности, использовать уточняющие определения. Люди, не являющиеся специалистами в области вычислительной техники, не только введены в заблуждение относительно вычислительных машин и их программного обеспечения, но также возмущены жаргоном и небрежностью, царящими в нашей отрасли [11] . Если профессионал не настаивает на точности высказываний, является ли он подлинным профессионалом?
11
Следует отметить, что еще с большим основанием это утверждение относится и к положению с соответствующей терминологией у нас. — Прим. ред.
Глава 5
Разработка программного обеспечения
Разделив все программное обеспечение на категории, изучим теперь подробнее процесс его разработки. Именно эта область доставляет в настоящее время наибольшие неприятности.
Свойства, присущие всем программам, дают нам возможность глубже проникнуть в более тонкие и более важные характеристики программ. Имеется по крайней мере 12 таких свойств или характеристик. Взгляните на табл. 5.1.
Таблица 5.1
Характеристики программ | Обычно носят название |
---|---|
1. Заставляет вычислительную машину выполнить задание | Функция |
2. Занимает память машины | Размер |
3. Тратит ресурсы ЦП | Эффективность |
4. Легкость использования | Практичность |
5. Легкость восстановления после сбоя | Устойчивость; восстанавливаемость |
6. Содержит ошибки | Правильность |
7. Требует времени для создания | График разработки |
8. Требует людей для создания | Людские ресурсы на разработку |
9. Требует специального инструментария для разработки | Материальные ресурсы на разработку |
10. Требует денег для создания | Стоимость |
11. Модифицируема | Архитектура, структура |
12. Существует по крайней мере в одной форме, а нужны две | Документация |