русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

КРИТЕРИИ КАЧЕСТВА ПРОГРАММ (Основные эксплуатационные требования к программным продуктам)

Программистский фольклор

Какими качествами обладает хороший программист?

Хороший программист пишет хорошие программы, эффективные программы, хорошо оформленные программы.

Хороший программист умеет общаться с пользователями его программ.

Хороший программист умеет работать с другими людьми.

Хороший программист моется хотя бы раз в неделю.

Хороший программист приходит на работу вовремя.

Хороший программист никогда не приходит на работу не вовремя.

Хороший программист не доставляет хлопот.

Хороший программист умеет работать в напряженной обстановке.

Хороший программист любит классическую музыку.

Какими же качествами обладает хорошая программа?

Она работает.

Она работает согласно спецификации.

Она гибкая.

Она сделана в срок.

В ней нет ошибок.

Ошибки, которые неизбежны, быстро могут быть выявлены и локализованы.

Она хорошо оформлена.

Она решает задачи быстро.

Она имеет дружественный интерфейс.

Очень важное правило: "Программы пишутся для людей, а не для ЭВМ".

Математика делает то, что можно, так, как нужно, тогда как информатика делает то, что нужно, так, как можно.

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

Качество (quality) ПС - это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей.

Качество программного продукта характеризуется набором свойств, определяющих, насколько продукт "хорош" с точки зрения заинтересованных сторон, таких как:

-заказчик продукта;

-спонсор;

-конечный пользователь;

-разработчики и тестировщики продукта;

-инженеры поддержки;

-сотрудники отделов маркетинга, обучения и продаж.

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

Итак, будем считать программу качественной, если ее характеристики полностью или с незначительными отклонениями соответствуют требованиям, которые пользователи программы предъявляют к ней. Правда, такое определение заводит нас в ловушку: пытаясь определить одно понятие («качество»), мы воспользовались другим («требования»), которое тоже допускает вольные толкования.

Разработка программного обеспечения - это, прежде всего, нахождение способов получения качественного программного продукта.

Критерии качества программных средств устанавливаются государственными стандартами, в частности, ГОСТ 28195-89 и ГОСТ Р ИСО/МЭК 9126-93

Согласно этим стандартам качество программного обеспечения может быть оценено следующими характеристиками.

1. Функциональные возможности, пригодность и правильность ПО

Характеризуется :

а) полнотой реализации заданных функций ПС и достаточностью их описания в программной документации. Функциональность - это способность ПС выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор указанных функций определяется во внешнем описании ПС.

б) правильностью и соответствием результатов или эффектов.

Правильность - обеспечение правильности решения поставленной задачи в объеме, предусмотренном техническим заданием,т.е. иногда программа работает, но

1) решает несколько другую задачу;

2) решает только часть поставленной задачи;

3) работает не во всех случаях, предусмотренных техническим

заданием.

в) программной и аппаратной совместимостью т.е. способностью к взаимодействию с конкретными существующими программными системами и необходимой аппаратурой.

г) согласованностью, т.е. однозначным, непротиворечивым описанием и использованием объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы, в соответствии с принятыми стандартами, соглашениями, положениями или подобными рекомендациями.

д) полнотой проверенности возможных маршрутов выполнения программы в процессе тестирования. (пояснить)

е) защищенностью, т.е. способностью предотвращать несанкционировванный доступ (случайный или преднамеренный) к программам и к данным

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

2. Надежность.

Надежность (reliability) ПС – это его способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени, а также при возникновении непредвиденных ситуаций с достаточно большой вероятностью. При этом под отказом в ПС понимают проявление в нем ошибки

(график динамики частоты отказов L с течением времени T)

Источниками помех(ошибок) могут быть все участники вычислительного процесса: технические средства, программные средства и люди. Техничекие средства подвержены сбоям, например, из-за резких скачков напряжения питания. ПО может содержать ошибки. А люди могут ошибаться при ивводе исходных данных.

Характеризуется:

а) работоспособностью и стабильностью функционирования в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств

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

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

Таким образом, надежное ПС не исключает наличия в нем ошибок - важно лишь, чтобы эти ошибки при практическом применении этого ПС в заданных условиях проявлялись достаточно редко. Убедиться, что ПС обладает таким свойством можно при его испытании путем тестирования, а также при практическом применении. Таким образом, фактически мы можем разрабатывать лишь надежные, а не правильные ПС.

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

При оценке степени надежности ПС следует также учитывать последствия каждого отказа. Некоторые ошибки в ПС могут вызывать лишь некоторые неудобства при его применении, тогда как другие ошибки могут иметь катастрофические последствия, например, угрожать человеческой жизни. Поэтому для оценки надежности ПС иногда используют дополнительные показатели, учитывающие стоимость (вред) для пользователя каждого отказа.

3. Эффективность (компактность) т.е оптимальное использование ресурсов ЭВМ.

Характеризуется:

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

б) временной эффективностью, т.е. способностью программы выполнять заданные действия в интервалы времени, отвечающие заданным требованиям. Например, время ответа системы для систем, взаимодействующих с пользователем в интерактивном режиме, и систем реального времени.

в) ресурсоемкостью, т.е. минимально необходимыми вычислительными ресурсами (требуемая память ОЗУ и внешней памяти, время выполнения), числом обслуживающего персонала и число обслуживаемых внешних устройств).

4. Сопровождаемость - это характеристики ПС, позволяющие минимизировать усилия по внесению изменений для устранения в нем и в документации ошибок и по его модификации в соответствии с изменяющимися потребностями пользователей.

Характеризуется:

а) структурностью, т.е. организацией всех взаимосвязанных частей программы в единое целое с использованием стандартных логических структур "последовательность", "выбор", "повторение" и т.д.

б) простотой конструкции т.е. построением модульной структуры программы наиболее рациональным образом с точки зрения восприятия и понимания.

в) наглядностью т.е. наличием и представлением в наиболее легко воспринимаемом виде исходных модулей программы, полным их описанием в соответствующих программных документах, наличием комментариев.

г) повторяемостью - т.е. степенью использования типовых проектных решений или компонентов, входящих в программу.

Все это способствует быстрому освоению ПО профессиональными программистами.

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

Характеризуется:

а) удобством эксплуатации и обслуживания – степень соответствия процесса обработки данных и форм представления результатов характеру решаемых задач.

б) легкостью освоения т.е. представлением программных документов и программы в виде, способствующем пониманию логики функционирования в целом и ее частей.

в) доступностью эксплуатационных программных документов т.е. понятностью, наглядностью и полнотой описания взаимодействия пользователя с программой в эксплуатационных программных документах. (В «Абонент » это Помощь(Руководство пользователя), Руководство системного администратора).

6. Универсальность - характеризует адаптируемость программы к новым функциональным требованиям, возникающим из-за изменения области применения или других условий функционирования.

Характеризуется:

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

б) гибкостью (изменяемость) т.е. возможностью использования программы в различных областях применения.

в) модифицируемостью т.е. обеспечением простоты внесения необходимых изменений и доработок в программу в процессе эксплуатации.

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

Функциональность и надежность являются обязательными критериями качества ПС, причем обеспечение надежности проходит красной нитью по всем этапам и процессам разработки ПС. Остальные критерии используются в зависимости от потребностей пользователей в соответствии с требованиями к ПС.

От полноты удовлетворения всех этих требований зависит живучесть ПО, т.е. способность сохранять эффективность функционирования во времени при изменении условий эксплуатации и требований к ПО.

Сложность многих программных систем не позволяет сразу сформулировать четкие требования к ним. Обычно для перехода от идеи (замысла) создания некоторого программного обеспечения к четкой формулировке требований, которые могут быть занесены в техническое задание, необходимо выполнить предпроектные исследования в области разработки.

Просмотров: 2625


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.