Книга: Программное обеспечение и его разработка
Фаза использования
Фаза использования
Хотя фаза использования следует в жизни программы после фазы разработки, именно она является, или по крайней мере должна являться, определяющей. Ее характеристики в большой степени определяют две другие фазы. Для начала перечислим некоторые из характеристик использования, которые могут уточнить стратегию разработки.
Периодичность использования. Я могу разработать программу, которая выполняется каждый день, или раз в неделю, или раз в месяц, или раз в год. Я также могу разработать программу, которая будет работать постоянно, все время. Я могу разработать программу, которая будет исполнена только один раз, а затем выброшена. Эффективность использования аппаратуры (например, памяти) крайне важна, если программа работает постоянно, и совершенно не имеет никакого значения для программы, запускаемой однократно или только один раз в год.
Количество пользователей. Я могу разработать программу, которая будет использоваться только моей фирмой и нигде больше. Я также могу разработать программу для использования на 500 предприятиях моей отрасли. Я могу разработать программу для тысячи различных небольших фирм, каждая из которых может, а возможно, и будет использовать ее немного по-своему. И снова особенности и характеристики, на которых я настаиваю в моей программе, сильно различаются при этих различных видах использования. Пять сотен разных пользователей влияют на программу совершенно иначе, чем 500 «одинаковых» пользователей (все пользователи из моего учреждения используют систему одинаково).
Тип использования. Существуют диалоговые и автономные системы использования вычислительных машин. Попробуем провести различия между «пользователем» и «заказчиком». Пользователь — это человек, который сидит у терминала и ведет диалог с вычислительной машиной. Пользователь управляет ею, он «приводит» ее в действие. Служащий трансагентства, занимающийся резервированием авиационных билетов, является пользователем. Заказчик же — это главный бухгалтер фирмы. Ему не нужно вести никакого диалога с вычислительной системой, когда она производит расчет зарплаты для сотрудников фирмы.
Если мы готовимся к диалоговому использованию системы, мы должны так писать программное обеспечение, чтобы пользователю было легко взаимодействовать с машиной. Это гораздо больше, чем просто справочная система; такая система должна быть настолько удобной для работы, чтобы человек, работающий с машиной, охотно ею пользовался и работал с полной отдачей сил. Программы должны быть написаны так, чтобы система подсказывала пользователю, что сделать, если полученные ею инструкции не очень ясны.
Последствия отказов при разных типах использования.
В некоторых системах многочасовой отказ вычислительной машины хотя и неприятен, но все же приемлем. В других же отказ вычислительной машины всего лишь на несколько минут чреват катастрофой. В последнем случае нам приходится ставить дополнительную аппаратуру. Но дополнительная аппаратура это еще полбеды. Нам приходится еще писать программы для сохранения критических данных и передачи их с одного процессора на другой. Часто это должно делаться не за минуты, а всего лишь за секунды. Это весьма сложное программное обеспечение. Программа, управляющая переключением светофоров в городе, не представляет собой ничего сложного; однако если эта программа должна всегда работать правильно, то сложность программного обеспечения возрастает по крайней мере втрое.
Диапазон сложного программного обеспечения простирается от научного центра (годовой) стоимостью 50 млн. долларов, обеспечивающий диалоговую работу 460 ученых, где 90 % всех программ выполняется один-единственный раз, до управляющей системы, в которой программное обеспечение работает по 365 дней в году, по 24 ч. в сутки, не имеет права на малейший отказ и изменяется крайне редко — один раз в год.
- Деление программного обеспечения на отдельные виды
- Таксономия программного обеспечения
- Жизненный цикл программы
- Патологические жизненные циклы программного обеспечения
- Неразрывная связь разработки и продолжающейся разработки
- Разработка программного обеспечения, продлевающая все фазы жизненного цикла
- Фаза использования
- Фаза разработки
- Фаза продолжающейся разработки
- Три типа программного обеспечения
- Прикладное программное обеспечение
- Системное программное обеспечение
- Инструментальное программное обеспечение
- Стоимость инструментального программного обеспечения
- Масштаб, сложность, ясность
- Масштаб
- Сложность
- Ясность
- Резюме
- Программное обеспечение проекта и программное обеспечение как продукция
- Продукция и проекты
- Доведение программы до товарного уровня
- Программная продукция и продукция, различающаяся по программному обеспечению
- Продукция с минимальным количеством программного обеспечения
- Использование таксономии — некоторые примеры
- Проект с товарными программами
- Стоимость программного обеспечения
- Словарь программного обеспечения
- Фаза продолжающейся разработки
- 10.5.2. Начальная фаза
- Фаза разработки
- Пример использования шаблона «Выводы – рекомендации»
- Наносится ли какой-нибудь вред USB-брелоку, когда его извлекают из разъема без использования функции безопасного отключе...
- 6.4. Использования Samba
- Листинг 5.1. (shm.c) Пример совместного использования памяти
- Пример использования фонового потока для выполнения отдельной задачи
- Преимущества использования триггеров
- Вводящие в заблуждение заявления и прочие стратегии использования посланий
- 16.3. Примеры использования termios
- Часть II Основы использования Ubuntu