2.2. Внутренние факторы качества
Описанные выше внешние факторы качества программного обеспечения — это конечная цель, которой необходимо достичь, чтобы разработку и последующее внедрение можно было считать успешными. Это требования к конечному результату, описанные в техническом задании.
В длинном и сложном процессе получения программного обеспечения из технического задания есть одна проблема: никто точно не знает, как решить конкретную задачу, чтобы гарантировать успех.
Существуют различные технологии, позволяющие достичь цели, но универсальных нет. Кто-то из разработчиков придерживается одних технологий и отрицает другие, у кого-то более гибкий подход. Однако очень большое число разработчиков ПО во всем мире использует именно одни и те же идеи и концепции.
Итак, достичь хороших внешних показателей качества чрезвычайно трудно. При этом считается, что если поддерживать на высоком уровне внутренние показатели качества программного обеспечения, то это может облегчить исходную задачу, и разработчикам будет проще работать, т.е. легче стремиться к достижению внешнего качества системы.
Можно определить проектирование (или, как сейчас говорят, дизайн) как совокупность свойств системы, определяющих ее внутреннее качество. Внутреннее качество порождает внешнее.
Одним из наиболее очевидных носителей внутреннего качества программных систем является исходный код. Он самым непосредственным образом влияет на такие показатели внутреннего качества, как
- читаемость;
- легкость модификации;
- корректность.
Аккуратность при создании исходного кода защищает от многих проблем.
Очень многие разработчики [7] считают процесс моделирования предметной области – проектировании программного обеспечения, а написания исходного кода (т.е. реализации полученных моделей) (см. рис. 1) –конструированием ПО.
Разработанные в процессе проектирования модели программного обеспечения и реализующий их исходный код имеют много общего. По сути, это одно и то же, только написанное на различных языках и усложняющееся от этапа к этапу. Поэтому требования, предъявляемые к исходному коду и моделям программного обеспечения, одинаковы.
Избыточная сложность. Программное обеспечение — развивающаяся сложная система. Лучше всего ее сложность видна в исходном коде, состоящем из десятков файлов, в каждом из которых десятки и сотни тысяч строк.
С уверенностью можно утверждать, что функциональность определяет объем исходного кода. Чем больше функциональность, тем больший объем исходного кода будет иметь программное обеспечение. К сожалению, эта проблема на сегодняшний день не имеет решения. Поэтому стоит приложить усилия к тому, чтобы не усложнять код без необходимости.