Основные требования пользователей к качеству программного изделия
Тема 2
Оценка качества автоматизированных информационных систем
Свойства качественной АИС
Любая автоматизированная информационная система (АИС) реализует некоторую информационную технологию и строится в виде программно-технического изделия. Информационные технологии на сегодняшний день – это наиболее бурно развивающееся направление человеческой деятельности, что приводит к достаточно быстрому моральному старению АИС и требует их своевременной модернизации или замены. Поэтому, любому специалисту или руководителю в процессе своей деятельности неоднократно приходится заниматься вопросом замены АИС как основного инструмента своей работы. Решение этого вопроса сводится либо к выбору одного из нескольких программных изделий, имеющихся на рынке, либо к выбору одного из нескольких разработчиков, способных создать по заказу требуемую АИС с учетом имеющихся у заказчика ресурсов (времени и средств). Чтобы осуществить такой выбор, специалист любой сферы деятельности должен иметь представление о современных методах и критериях оценки качества программных изделий.
Наиболее распространенным заблуждением является предположение о том, что главным критерием оценки качества программных изделий является отсутствие в нем ошибок. Существует множество других критериев, позволяющих оценить те или иные стороны качества компьютерных программ. Так, например, программа, требующая неоднократного ввода одних и тех же данных, ниже по качеству по сравнению с программой, где пользователь должен ввести данные только один раз. Повторный ввод не только требует выполнения дополнительной работы и отнимает время, но и приводит к ошибкам. В то же время в бортовых автоматизированных системах управления полетом самолета командир воздушного судна и второй пилот вводят данные дважды, независимо друг от друга. Здесь повторный ввод выполняет функцию контроля правильности ввода данных и предусмотрен технологией работы с системой именно для повышения ее качества.
В зависимости от вида и назначения автоматизированных информационных систем к качеству их программного обеспечения могут предъявляться различные требования. В самом общем случае качественная АИС должна обладать такими свойствами:
1. Она должна быть кому-нибудь полезной по составу решаемых задач, то есть по своей функциональности.
2. Давать при использовании какой-то экономический или социальный эффект.
3. Быть доступной к пониманию, простой в освоении, использовании, обслуживании и обновлении.
4. Быть пригодной к полностью автономному использованию, т.е. к использованию без участия разработчика.
5. Быть безопасной и обеспечивать правильное функционирование технологических систем и оборудования.
Качество программного изделия оценивается в следующих случаях:
1) разработчиком в процессе создания новой или модернизации существующей АИС;
2) независимыми экспертами при сертификации (лицензировании) АИС;
3) покупателем при приобретении новой АИС;
4) заказчиком в процессе оформления заказа на разработку новой или модернизацию существующей АИС, а затем при приемке ее в эксплуатацию.
При этом на этапах приобретения или заказа новой разработки, а так же при вводе программного изделия в эксплуатацию на первый план выходит субъективный фактор удовлетворения имеющихся и предполагаемых потребностей заказчика. Так очень качественно реализованное, безошибочно и эффективно работающее, успешно прошедшее сертификацию программное изделие может оказаться просто не нужным заказчику, так как оно предназначено для решения других задач.
Таким образом, качество программного изделия характеризуется наличием некоторой совокупности свойств, обеспечивающих его пригодность к удовлетворению определенных потребностей в соответствии с назначением.
Дополнительными косвенными показателями качества АИС, позволяющими заказчику принимать более осознанное решение о ее приобретении, можно также считать:
а) оценку технологической зрелости предприятия-разработчика как его способности создавать качественные программные изделия в принципе;
б) оценку способности предприятия-разработчика осуществлять гарантийное обслуживание своих изделий;
в) оценку предприятия-разработчика с точки зрения стабильности и перспектив его дальнейшего существования, так как приобретаемая вами АИС должна не только функционировать в течение достаточно длительного периода времени, но и время от времени обновляться и проходить модернизацию.
В создании качественных программных изделий заинтересованы следующие категории лиц: заказчики (администрация,пользователи,эксплуатанты), разработчики и инвесторы. Каждая из указанных категорий преследует свои цели, но в некоторой степени их интересы совпадают.
Основные требования пользователей к качеству программного изделия
Пользователь – это лицо, непосредственно взаимодействующее с программным изделием для выполнения необходимых ему функций (задач). Собственно говоря, программное изделие предназначено для повышения производительности работы пользователя, совершенствования его информационного обеспечения, улучшения условий и удобства работы, поддержки принятия решений или удовлетворения других его потребностей.
Пользователи хотят, чтобы они могли легко и быстро выполнять свои функции. Поэтому с точки зрения пользователя основные свойства качества программных изделий могут быть сгруппированы в две группы, определяющие их практичность и работоспособность.
При оценке практичности программного изделия в основном учитывают следующие требования:
1) программа должна выполнять необходимые пользователю функции, т.е. обладать определенной функциональностью (функциональной полнотой);
2) программа должна быть удобной, т.е. иметь интуитивно понятный и удобный интерфейс;
3) программа должна обладать достаточной производительностью.
Рис. 2.1. Требования заказчика к качеству АИС
Функциональность – определяется полнотой выполняемых программным изделием функций с точки зрения потребностей конкретных пользователей предприятия-заказчика. Функциональность – это группа свойств, обеспечивающая способность программного изделия выполнять требуемые функции при определенных условиях. Достаточная функциональность является решающим фактором удовлетворения потребностей пользователей. В то же время избыточная функциональность усложняет интерфейс взаимодействия пользователя с системой и приводит к снижению производительности его труда.
Удобность использования оценивается количеством усилий, прилагаемых пользователем для выполнения своих функций. Если для выполнения каких-либо важных функций требуется слишком много действий, щелчков мышью или нажатия клавиш, производительность труда пользователей снижается и им перестает нравиться данное программное изделие.
Удобность (легкость) использования включает а) понятность интерфейса, б) легкость обучения, в) соответствие общепризнанным стандартам.
Производительность (эффективность) оценивается тем, насколько быстро программа откликается на команду пользователя. В зависимости от назначения системы требования к производительности могут существенно отличаться.
Даже если программное изделие способствует выполнению поставленных задач и имеет интуитивно понятный интерфейс, пользователь может отказаться от его использования, если производительность системы не отвечает его потребностям. Ничто не раздражает пользователей и их руководителей сильнее, чем программы, не обеспечивающие необходимой производительности труда. Плохое программное обеспечение снижает эффективность работы, а в некоторых случаях вообще ставит под угрозу всю деятельность организации. Так, если текстовому редактору требуется полсекунды на вывод каждого символа на экран, использовать такой редактор невозможно.
Иногда производительность программы характеризуется временем, требующимся на выполнение больших фоновых задач, таких, например, как печать страницы. Если для того, чтобы распечатать страницу текста, системе требуется целый час, то ее нельзя назвать полезной. Другой пример: если банковская бухгалтерская система подтверждает проведение операции более 30 секунд, это снижает продуктивность работы банковских служащих и чрезвычайно раздражает клиентов.
Работоспособность АИС объединяет в себе свойства надежности, отказоустойчивости и доступности.
Надежность определяется отсутствием ошибок в программах, устойчивостью программ к ошибкам пользователя, ошибкам в данных, сбоям аппаратуры, а также восстанавливаемостью после сбоев. Качественное программное изделие должно соответствующим образом откликаться на ошибочные входные воздействия, а не выходить из строя, зависать или портить данные. Часто надежность программы является важным фактором безопасности системы. Например, надежность программных средств, которые используются в критических объектах управления (самолетах, космических кораблях, ядерных реакторах и т.д.) является важным фактором функциональной безопасности соответствующих систем. Основными количественными показателями надежности программного изделия являются вероятность безотказной работы, вероятность отказа, плотность вероятности отказа, интенсивность отказов (функция риска).
Отказоустойчивость – способность программного изделия сохранять работоспособность при выполнении функций, не предусмотренных в проекте. Эта характеристика является разновидностью функциональности. Всегда найдутся пользователи, которые будут использовать продукт нестандартным образом, хотя и для разумных задач. Хорошие разработчики стараются предвидеть такие ситуации, разрабатывая средства, позволяющие выполнять нестандартные задачи. Например, пользователь при выполнении своих функций никогда не запускает на выполнение одновременно несколько копий какой-то программы. Однако устойчивая разработка должна, на всякий случай, предусмотреть такую возможность. Искусство разработчика заключается в поиске компромиссного решения между стоимостью разработки и ее устойчивостью.
Доступность системы определяется через процент времени, в течение которого система фактически работает и доступна пользователям. При этом учитывается время, необходимое для технического обслуживания; среднее время на работки до ремонта; время, требующееся на восстановление системы после отказа; режим работы предприятия или подразделения и др. Так, например, автоматизированная система управления воздушным движением должна быть доступной постоянно, т.е. 24 часа в сутки. В то же время система управления кадрами предприятия может быть доступной в течение рабочего дня с 800 до 1700.