
- •Методы достижения качества
- •Сертификация и аттестация
- •1. Компонентный состав:
- •2. Функциональная полнота:
- •3. Степень зависимости от субд:
- •4. Тип используемой модели:
- •Принципы разработки
- •2. Учет возможностей аппаратных и программных средств разработчика и пользователя.
- •Международный стандарт жизненного цикла
- •1. Процесс приобретения
- •2. Разработка системы и программного средства
- •3. Эксплуатация системы и программного средства
- •4. Сопровождение и развитие системы и программного средства
- •5. Управление проектом и обеспечение качества системы и программного средства
- •6. Интегральные процессы поддержки разработки программных средств
- •2. Эскизный проект
- •3. Технический проект
- •4. Рабочий проект
- •5. Внедрение
- •Каскадная модель
- •Каскадная модель с промежуточным контролем
- •Модель разработки программных средств на основе ранее созданных компонентов
- •Эволюционная модель
- •Модель пошаговой разработки программных средств
- •Спиральная модель
- •Методология быстрой разработки приложений (rad)
1. Качество программных средств. Определение и основные показатели качества. Методы достижения качества. Сертификация и аттестация.
Под качеством ПС понимается набор свойств ПС, обеспечивающий полное удовлетворение всех требований пользователя к ПС.
Показатель качества ПС – характеристика качества программного средства, обладающая количественным значением. Каждый показатель качества может использоваться, если определена его метрика, способы измерения и сопоставления с требующимся значением.
Существуют множество различных классификаций показателей качества, задаваемых различными стандартами. Для примера приведем следующую классификацию.
Функциональнаяпригодность– степень соответствия комплекса реализованных программ исходным требованиям контракта, технического задания (назначение, номенклатура, задач и функций) и спецификаций на программное средство и его компоненты. Путем верификации должно быть определено соответствие исходным требованиям всей совокупности компонентов комплекса программ, вплоть до модулей и текстов программ и описаний данных. В наибольшей степени функциональная пригодность проявляется в корректности и надежности ПС.
Основные показатели функциональной пригодности - функциональная корректность, корректность структуры программ, корректность обработки данных, корректность межмодульных связей и взаимодействия компонент (по управлению, по информации), детерминированная корректность, стохастическая корректность, корректность в реальном времени, мобильность (переносимость).
Надежность программ – это способность выполнять заданные функции в различных условиях. Основные показатели надежности: устойчивость (способность к безотказному функционированию после произошедших сбоев), восстанавливаемость (полнота восстановления функционирования программ после перезапуска-рестарта), коэффициент готовности (вероятность иметь восстанавливаемую систему в работоспособном состоянии в произвольный момент времени), защищенность ПС (полнота использования доступных методов и средств защиты ПС от потенциальных угроз).
Эффективность использования ресурсов состоит из след. показателей –временная экономичность (определяется длительностью выполнения заданных функций), время реакции (отклика ПС на запросы для полного решения основных функциональных задач),пропускная способность (отражает число сообщений или запросов на решение определенных задач),ресурсная экономия (отражает количество и степень занятости ресурсов),способность к взаимодействию (определение качества совместной работы компонентов программных средств и баз данных с другими прикладными системами).
Удобство использования ПС – группа показателей, отражающих понятность, обучаемость и простоту (комфортность) использования. Основные показатели - Понятность ПС (четкость, наглядность), обучаемость (длительность подготовки пользователя к полноценной эксплуатации ПС), комфортность эксплуатации ПС (отражает простоту и удобство его использования), сопровождаемость (оценивается полнотой и достоверностью документации о состояниях программного средства и его компонентов), мобильность (адаптируемость, простота установки, совместимость и замещаемость программ).
Методы достижения качества
По способам обеспечения заданного качества ПС методы и средства можно подразделить на следующие группы:
1) методы и средства создания ПС высокого, гарантированного качества;
2) методы и средства предотвращения ошибок проектирования за счет систем обеспечения качества, эффективных технологий и средств автоматизации всего ЖЦ комплексов программ и баз данных;
3) методы и средства обнаружения и устранения различных ошибок проектирования, разработки и сопровождения ПС путем верификации и систематического автоматизированного тестирования на всех этапах жизненного цикла ПС;
4) методы и средства удостоверения достигнутых значений качества
ПС в процессе их испытаний и сертификации и перед передачей в эксплуатацию;
5) методы и средства оперативного выявления последствий ошибок программ и данных и автоматизированного восстановления качества и нормального функционирования ПС.
Методы первой и второй групп базируются на применении современных CASE-средств.
Для достижения высокого качества используются два метода:
1) контроль качества и проведение испытания изделия на ряде промежуточных этапов его создания, что в значительной степени сокращает брак на завершающих стадиях испытаний и при передаче изделия в эксплуатацию;
2) испытания и отбраковка ПС на конечном этапе разработки.
Для управления качеством необходимо классифицировать критерии в зависимости от классов программ. Набор показателей качества ПС зависит от функционального назначения и свойств каждого ПС. В соответствии с особенностями. ПС выбирают номенклатуру и значения показателей качества, которые отражаются в техническом задании и в спецификации требований на конечный продукт. Каждый критерий может использоваться, если определена его метрика, указан способ ее измерения и сопоставления с требуемым значением. Основным методом измерения качества программ на любых этапах разработки является тестирование. Результаты тестирования и измерения показателей сравниваются с требованиями технического задания.
Для обеспечения гарантий высокого качества программ формируются план и основные положения методики обеспечения качества, поэтапных испытаний компонент и определения характеристик, допустимых для продолжения разработки на следующем этапе. По завершении каждого этапа испытаний возможен возврат на предшествующие этапы разработки и испытания, если их результаты оказываются неудовлетворительными. Промежуточные испытания проводятся с помощью соответствующих методов и средств тестирования программных модулей и комплексного тестирования функциональных групп программ и ПС в целом. В соответствии с методами и стандартами на каждом этапе проверок разработчики ПС и испытатели отчитываются перед заказчиком и руководителями проекта соответствующими документами, тестами и результатами проверок. По требованиям испытателей или представителей заказчика проверки могут дополняться и углубляться.
Сертификация и аттестация
Аттестация представляет собой специально организованный процесс испытаний программ с применением упорядоченной, стандартизированной совокупности тестов, охватывающих все необходимые функции и режимы применения ПС или его компонент. Специальный коллектив гарантирует полное выполнение предписанных функций и качество программ в пределах требований технической документации и стандартов. Аттестация используется, чтобы показать все ли ожидания разработчиков и заказчиков достигнуты. По результатам аттестации программам присваиваются различные уровни качества, в соответствии с которыми они допускаются к эксплуатации.
Процесс тестирования выполняется постепенно: автономное тестирование модулей; комплексное тестирование каждой подсистемы, всей системы и приемочные испытания системы на реальных данных.
Сертификация также испытание программ, но проводимым в более жестких условиях тестирования, особо выделенным (третейским) коллективом специалистов (специализированные центры сертификации), имеющим лицензию на официальный государственный или ведомственный контроль функций, средств и качества ПС и гарантирующим его соответствие стандартам и другим нормативным документам, а также безопасность его применения, по подтверждению соответствия ПС или услуг установленным требованиям.
Лицензия – это официальный документ, который разрешает осуществление определенного вида деятельности в течение установленного срока, в заданных условиях с целью защиты интересов государства и граждан от неумышленного или сознательного некачественного выполнения работ, соответствующих определенным видам деятельности в сфере информатики. Лицензирование ограничивает следующие виды деятельности: создание и применение информационных технологий; формирование информационных ресурсов на основе использования современных ИТ; оказание услуг по информационному обеспечению потребителей информационных ресурсов
Специалисты центра сертификации имеют право на расширение условий испытаний и создание различных критических и стрессовых ситуаций, при которых ПС должно обеспечивать достаточное качество и безопасность результатов решения предписанных задач. Если все испытания проходят успешно, то на соответствующую версию ПС оформляется специальный документ – сертификат соответствия (документ, выданный по правилам системы сертификации для подтверждения соответствия сертифицированной продукции установленным требованиям). Он официально подтверждает соответствие стандартам функций и характеристик, а также допустимость ПС для определенной области его применения. Он документально утверждает право на использование знаков соответствия требованиям сертификации, гарантирует безопасность применения ПС, а также юридически допускает его к эксплуатации и использованию.
Основные цели сертификации ПС:
защита пользователей от приобретения ПС, которые представляет опасность для жизни, здоровья, имущества, а также окружающей среды;
обеспечение разработчиков и пользователей ПС достоверной информацией о состоянии рынков средств ПС;
обеспечение информационного обмена между государственными системами информатизации и субъектов негосударственной принадлежности с субъектами государственной принадлежности;
содействие повышению научно-технического уровня и конкурентоспособности ПС
содействие созданию условий для вхождения РФ в мировое информационное пространство.
В нормативную базу сертификации средств и систем информатизации ИТ и услуг включаются нормативные документы на объекты сертификации (где устанавливаются характеристики объектов подтверждаемые при сертификации) на методы испытаний для оценки объектов сертификации, регламентирующие процедуры сертификации.
Работы по сертификации объединяются в технологический процесс, на каждом этапе которого регистрируются документы, отражающие состояние и качество результатов разработки. Без таких проверочных и испытательных операций не разрешается переходить на следующий этап разработки. В результате процессы аттестации и сертификации отличаются от обычных испытаний ПС более высоким уровнем формализации и документального оформления всех условий и результатов испытаний, проводимых специальным испытательным органом.
3. Надежность программ. Определение, показатели надежности, модели Миллса и простая интуитивная модель оценки числа возможных ошибок в программе.
Надежность программ – это способность выполнять заданные функции в различных условиях. Надежность является внутренним свойством систем, проявляющимся только во времени. Причиной нарушения работоспособности программ при безотказности аппаратуры всегда является наличие ошибок в программе и/или конфликт между реальными исходными данными, подлежащими обработке, и программой, осуществляющей эту обработку. Для оценки числа ошибок в программе сущеcтвуют различные модели. Приведем две модели оценки числа ошибок в программе (N), в которых вероятность обнаружения ошибок одинаковы и не зависит от времени и сложности причин, вызвавших ошибки. В модели Миллса вносятся S искусственных ошибок. Тогда, n/N=s/S (где n и s число реальных и искусственных найденных ошибок при тестировании соответственно) и N=n*S/s. В простой интуитивной модели программу тестируют две группы тестировщиков. Тогда n1/N=n2/N=n12/n1 (где, n1, n2, n12 – число всех ошибок обнаруженных первой и второй группами и обеими группами соответственно) и N=n1*n2/n12. Работоспособность ПС можно гарантировать при исходных данных, которые использовались при отладке и испытаниях. Реальные исходные данные могут иметь значения, отличающиеся от заданных техническим заданием и от использованных при тестировании. При таких исходных данных функционирование программ трудно предсказать заранее, и поэтому весьма вероятны различные аномалии, завершающиеся отказами.
Рассмотрим основные показатели надежности.
Устойчивость наиболее широко характеризует способность к безотказному функционированию после произошедших сбоев. Она зависит от уровня неустраненных ошибок и способности ПС реагировать на проявления ошибок так, чтобы это не отражалось на показателях надежности. Последнее определяется эффективностью контроля за доступом к данным, степенью обеспечения их секретности и сохранности, а также селекцией достоверных данных, поступающих из внешней среды (живучесть), и средствами обнаружения аномалий функционирования ПС.
Восстанавливаемость характеризуется полнотой восстановления функционирования программ после перезапуска-рестарта. Перезапуск должен обеспечивать возобновление нормального функционирования ПС, на что требуются ресурсы компьютера и время. Поэтому полнота и длительность восстановления функционирования после сбоев отражают качество ПС и возможность его использования по прямому назначению.
Коэффициент готовности – отражает вероятность иметь восстанавливаемую систему в работоспособном состоянии в произвольный момент времени. Значение коэффициента готовности соответствует времени полезной работы системы на достаточно большом интервале, содержащем как отказы, так и восстановления.
Защищенность ПС включает определение полноты использования доступных методов и средств защиты программного средства от потенциальных угроз и достигнутой при этом безопасности функционирования информационной системы (ISO 15408:1999-1-3)
4. Назначение и классификация CASE-средств. Назначение, термины и основные возможности CASE-средств BPWIN, ERWIN и Rational Rose.
CASE - средства – это специальные ПС, которые позволяют автоматизировать процессы проектирования, модификация и сопровождения на различных этапах ЖЦ ПС. Они могут автоматизировать следующие процессы:
- разработку графических моделей системы на этапах проектирования;- проектир. структуры ПС с использованием словарей данных; - генерирование пользовательских интерфейсов на основе графического описания интерфейса, создаваемого в диалоговом режиме; - отладка программ на основе информации, получаемой в ходе выполнения программы; - автоматическая трансляция программ, написанных на одних языках программирования, в программы, написанные на других языках;
- проектирование моделей данных и перенос их в базы данных с различными СУБД и наоборот.
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования ИС – от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл ПС.
Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил.
Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с целями и ограничениями.
В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-средств.
Обычно к CASE-средствам относят любое программное средство, автоматизирующее совокупность процессов жизненного цикла ПС и имеющее следующие основные особенности:
наличие мощных графических средств для описания и документирования ИС, обеспечивающих удобный интерфейс с разработчиком и развивающих его творческие возможности;
интеграция отдельных компонентов CASE-средств, обеспечивающая управляемость процессом разработки ИС;
использование специальным образом организованного хранилища проектных метаданных (репозитория).
Интегрированное CASE-средство (поддерживающих полный ЖЦ ПС) содержит следующие компоненты:
репозиторий. Является основой CASE-средства и обеспечивает хранение версий проекта, его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;
графические средства анализа и проектирования. Обеспечивают создание и редактирование иерархически связанных диаграмм (DFD, ERD и др.), образующих модели ИС;
средства разработки приложений, включая языки 4GL и генераторы кодов, конфигурационного управления, документирования, тестирования, управления проектом, реинжиниринга.
CASE-средства можно классифицировать по следующим признакам.