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