1. Модульность – разбиение большой системы на отдельные, поддающиеся обозрения и анализу части, упрощают разработку, но требует чёткой организации работ.
2. Наращиваемость и развитие определяется двумя обстоятельствами:
· сам пользователь нуждается в изменениях;
· никакое ПО не является статическим.
Надёжность предполагает, что ПО должно реагировать на требование пользователя предсказуемым образом. Время, необходимое для выполнения тех или иных операций не должно варьироваться существенно. Результат выполнения команд при соблюдении одних и тех же условий и на одних и тех же данных не должны различаться.
Удобства и экономичность предлагает наличие дружественного и интуитивно принятого интерфейса, необходимость учёта основных физиологических и психологических факторов деятельности человека при создании ПО.
Гибкость – возможность настройки ПО на решение различных классов однотипных задач и различные условия функционирования.
Эффективность – возможность посредством ПО своевременно и точно решать поставленные задачи при оптимальном использовании ресурсов вычислительной системы и труда пользователя. Наиболее употребительная количественная оценка эффективности – отношение производительности к стоимости.
Совместимость – возможность применения ПО, а также используемых им и формируемых данных в другой вычислительной среде. Совместимость достигается за счёт наличия стандартной системы команд и форматных данных и стандартизации процедур ввода вывода информации.
В основу разработки современного ПО положено три основных принципа:
1. Параметрическая универсальность
2. Функциональная избыточность
3. Функциональная избирательность.
Принцип параметрической универсальности заключается в ориентации ПО на различные аппаратные конфигурации машин. Даже программно совместимые ЭВМ имеют различный количественный и качественный состав периферийных устройств, различный объём оперативной и внешней памяти, а также других ресурсов. Эти различия учитываются при разработке программ с параметрами.
Функциональная избыточность подразумевает удовлетворение нескольких требований пользователя. Чтобы иметь возможность в рамках одного программного средства экономить либо время, либо память, создаются 2 или более программы, реализующие одну и ту же функцию, но экономящие определённые вычислительные ресурсы. Этот принцип нашёл широкое распространение при разработке определенных операционных систем.
Функциональная избирательность означает включение в состав ПО минимально необходимых возможностей. Функциональные дополнительные возможности, рассчитанные на различные сферы применения и конфигурацию машин, позволяются пользователю по его требованию. Такой подход определяется причинами:
Каждая дополнительная возможность увеличивает расход ресурсов системы и, прежде всего оперативной памяти
Аппаратный состав у пользователей не одинаков, поэтому часть возможностей практически не использовалось бы при решении задач.