Читаем Программное обеспечение и его разработка полностью

Жизнь программы делится на три фазы. Слишком часто разработчики программ фокусируют свое внимание только на фазе разработки, иногда еще и на фазе использования

и очень редко на фазе сопровождения или продолжающейся разработки к большему ущербу для последней. Кое-что можно и нужно делать во время разработки для облегчения других фаз. Большинство разработчиков этот аспект игнорируют. Во многих книгах, посвященных разработке и использованию программ, игнорируется тот факт, что эти три фазы существуют отдельно друг от друга, имеют различные цели и часто к тому же проводятся под разным руководством (см. рис. 1.1).

Разработка программного обеспечения состоит из шести фаз: определение требований, проектирование, написание команд, компоновка, тестирование и документирование. Простейшее в этом списке — написание команд.

Очень трудно проектировать оптимальное или хотя бы правильное взаимодействие большого числа программ. Для больших систем труднее всего сформулировать требования пользователей, а следовательно, и самих этих систем. И все же большинство учебных курсов и книг в основном делает упор именно на написание команд. Как мы увидим в дальнейшем, особое внимание надо уделять определению требований и проектированию.

Разработка программного обеспечения для больших систем часто зависит от аппаратуры. Большие системы обычно требуют, чтобы аппаратура в них использовалась оптимальным образом в целях экономии и увеличения производительности.

Рис 1.1 Три фазы жизненного цикла программы

Особенно важно правильно спланировать загрузку центрального процессора (ЦП) и определить все требования к памяти. Все это заставляет разработчиков при проектировании программ учитывать параметры и характеристики аппаратуры системы. В случае разработки маленьких программ дело обстоит совсем иначе.

Производительность системы — т. е. способность вычислительной машины выполнить задание за определенный промежуток времени — в большой степени зависит от используемой аппаратуры, ее мощности и состава. Если аппаратура плохо подходит для решения поставленной задачи, вся тяжесть достижения необходимых пределов производительности ложится на плечи разработчиков программного обеспечения, и в особенности на тех, кто занимается проектированием. Это основная причина того, что иногда разработчики больших систем или систем реального времени вынуждены отказываться от использования языков высокого уровня. Мы увидим еще несколько примеров того, как требование достижения высокой производительности усложняет разработку.

Любой процесс может быть описан несколькими различными «правильными» последовательностями команд. Сотня программистов смогла бы написать сто различных программ платежной ведомости, каждая из которых будет выполнять то, что от нее требуется. Небольшое количество среди них будет оптимальным. Важные характеристики каждой программы порой конфликтуют друг с другом, подобно тому как при конструировании самолетов размеры вступают в конфликт со скоростью. Прочитав гл.5, вы узнаете, что каждая программа имеет по крайней мере 12 характеристик и некоторые из них, находя воплощение в одной программе, могут вступать с другими в противоречие. Множественность возможных решений является серьезным препятствием для правильного управления процессом разработки программного обеспечения.

Абстрактный характер программного обеспечения.

Ни одним из пяти человеческих чувств нельзя ощутить большую программную систему. Она абстрактна. Можно увидеть и пощупать вычислительную машину стоимостью в 20 млн. долларов или мост, стоящий 100 млн. долларов. По мере увеличения числа команд в программе ее обозрение все более затрудняется.

Посмотреть на список из миллиона строк команд отнюдь не так же легко, как посмотреть на мост. Невозможно увидеть ни последовательность выполнения команд, ни структуру программы. Можно увидеть лишь толстую пачку бумаги, строки различных символов, но никак не программное обеспечение. Это свойство программного обеспечения делает управление его разработкой очень трудным.

Основным инструментом создания нового программного обеспечения является вычислительная машина и ее программное обеспечение. Разработчики программного обеспечения в своей работе используют ЭВМ и программное обеспечение как основной инструмент для формирования и создания новых программ. Программное обеспечение является при таком использовании «инструментом для изготовления инструментов».

Перейти на страницу:

Похожие книги

3ds Max 2008
3ds Max 2008

Одни уверены, что нет лучшего способа обучения 3ds Мах, чем прочитать хорошую книгу. Другие склоняются к тому, что эффективнее учиться у преподавателя, который показывает, что и как нужно делать. Данное издание объединяет оба подхода. Его цель – сделать освоение 3ds Мах 2008 максимально быстрым и результативным. Часто после изучения книги у читателя возникают вопросы, почему не получился тот или иной пример. Видеокурс – это гарантия, что такие вопросы не возникнут: ведь автор не только рассказывает, но и показывает, как нужно работать в 3ds Мах.В отличие от большинства интерактивных курсов, где работа в 3ds Мах иллюстрируется на кубиках-шариках, данный видеокурс полностью практический. Все приемы работы с инструментами 3ds Мах 2008 показаны на конкретных примерах, благодаря чему после просмотра курса читатель сможет самостоятельно выполнять даже сложные проекты.

Владимир Антонович Верстак , Владимир Верстак

Программирование, программы, базы данных / Программное обеспечение / Книги по IT