12.3. " .
302 ГЛАВА 8. СОСТОЯНИЕ И ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Возможна эксплуатация программ квалифицированными программистами или СIIeП8' ально обученными техническими работниками - о пер а тор ам и Э В м
Взаимодействие специалистов различного ВИДа, участвующих в разработке и ЭКСIL тации программ, показано на рис. 8.3. В ряде случаев один специалист совмеrэ?8! несколько 8ИДОВ деятельности. Администратор базы данных и системный программист г C щестВЛJIЮТ подготовку информационных и программно-технических УСЛОВИЙ для раЕ,.. программ. Пунктирные линии означают участие специалиста в качестве консультанта.
... 1 Постановка
задачи
J
.. .. .. .. .. .. .. .. .. .. .. .. .. ...4о _.
"1
,
ОПЕРАТОР ЭВМ
ПРИКЛАДНОЙ ПРОГРАММИСТ
Anroритмизация решения 38Дачи
......................
...........................
Проrpаммироаание
:.. ......
СИСТЕМНЫЙ ПРОГРАММИСТ
Создание операционной среды выпonнения nporpaМII
:... . .. ... " . .......
Соэдание инфор
мационной среды ...
выпonнения nporpaMU J
Рис. 8.3. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией проrpамм
ХАРАКТЕРИСТИКА ПРОГРAММIIОГО ПРОДУКТА
Все программы по характеру использования и категориям пользователей можно раздел на два класса (рис.8.4) - утилитарные программы и программные продукты (изделия).
у т и л и т а р н ы е про гр ам мы ("программы ДI1я себя") предназначены для уД08 летворения нужд их разработчиков. Чаще Всего утилитарные программы выполНJIЮТ PrUI сервиса в технологии обработки данных либо ЯВЛJIЮТСЯ программами решения функцио нальных задач, не предназначенных для широкого распространения.
Программные продукты (изделия) предназначены для удовлетворения 00
требностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения про граммных продуктов, которые появились с использованием глобальных или регионалl>'-:',;,r: телекоммуникаций:
Рис. 8.4. Классификация проrpамм по категориям пользователей
ПРОfPАММЫ
:?
11111111111111
.....
.
I Качество программы Каждая программа должна отвечать таким требованиям, как правильность, точность, совместимость, надежность, универсальность, защищенность, полезность, эффективность, проверяемость, адаптируемость, мобильность, дружественность.
Будем говорить, что программа является
правильной, если она функционирует в соответствии с техническим заданием. Подразумевается, что техническое задание составлено в четкой форме, позволяющей однозначно судить о том, действительно ли программа отвечает перечисленным в нем требованиям;
точной, если выдаваемые ею результаты имеют допустимые отклонения от аналогичных результатов, полученных с помощью идеальных математических зависимостей;
совместимой, если она работает должным образом не только автономно, но и в составе программной системы;
надежной, если она при всех условиях обеспечивает полную повторяемость результатов.
универсальной, если она правильно работает при любых допустимых вариантах исходных данных. В ходе разработки программ должны предусматриваться специальные средства защиты от ввода неправильных исходных данных;
защищенной, если она сохраняет работоспособность при возникновении сбоев. Это качество особенно важно для программ, предназначенных для решения задач в режиме реального времени. В подобных приложениях отказ оборудования может повлечь катастрофические последствия - например, аварию ракеты или ядерного реактора. Указанным свойством должны также обладать программы с большим временем выполнения, осуществляющие обработку постоянно хранимых файлов;
полезной, если задача, которую она решает, представляет практическую ценность;
эффективной, если объем требуемых для ее работы ресурсов не превышает допустимого предела;
проверяемой, если ее качества могут быть продемонстрированы на практике. Здесь подразумевается возможность проверки таких свойств программы, как правильность и универсальность. Можно применить формальные математические методы, позволяющие установить, действительно ли программа удовлетворяет техническим условиям и выдает достаточно точные результаты. Однако существуют и неформальные способы оценки качества программ такие, как прогоны с остановами в контрольных точках, обсуждения результатов с заинтересованными пользователями и др.;
адаптируемой, если она допускает быструю модификацию с целью приспособления к изменяющимся условиям функционирования;
мобильной, если она независима от аппаратуры, операционной системы, сетевого окружения, специфики предметной области;
дружественной, если она имеет удобный интерфейс для работы конечного пользователя, контекстно-зависимые подсказки, обучающую систему, подробную документацию и диагностику возникших ошибок.
|