Лекции по курсу «Метрология и качество программного обеспечения» Лекция 4. Внешнее описание ПС и примитивы качества © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Понятие внешнего описания ПС Определение и назначение внешнего описания Внешнее описание ПС – документ, достаточно точно определяющий задачи разработчиков ПС. Создаётся в рамках процесса формулирования требований к ПС. Внешнее описания играет роль точной постановки задачи, решение которой должно обеспечить разрабатываемое ПО. Оно содержит всю информацию, необходимую пользователю для применения ПО. Оно является исходным документом для написания программ, разработки документации и разработки большинства тестов. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Понятие внешнего описания ПС Три составляющих внешнего описания Определение требований – документ, формализующий функциональность ПС. Может создаваться как «с нуля», так и на основании системного анализа и прототипирования. Функциональная спецификация – формализованное описание поведения ПС с точки функций ПС. Спецификация качества – документ, формулирующий цели разработки ПС. Как правило, описывается неформально и является ориентиром при выборе альтернатив. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Понятие внешнего описания ПС Формула структуры внешнего описания Внешнее описание ПС = определение требований + + спецификация качества + + функциональная спецификация © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Определение требований к ПС Три способа разработки определения требований к ПС 1. Управляемая пользователем разработка 2. Контролируемая пользователем разработка 3. Независимая от пользователя разработка © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Определение требований к ПС Управляемая пользователем разработка В управляемой пользователем разработке определения требований к ПС определяются заказчиком. Это происходит в тех случаях, когда организация пользователей (заказчик) заключает договор на разработку требуемого ПО с коллективом разработчиков и требования к ПС являются частью этого договора. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Определение требований к ПС Контролируемая пользователем разработка В контролируемой пользователем разработке требования к ПС формулируются разработчиком при участии представителя пользователей. Роль пользователя в этом случае сводится к информированию разработчика о своих потребностях в ПС и контролю того, что разработчик правильно его понимает. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Определение требований к ПС Независимая от пользователя разработка В независимой от пользователя разработке требования к ПС определяются без какого-либо участия пользователя. Это происходит обычно тогда, когда разработчик решает создать ПС широкого применения в расчёте на то, что разработанное им ПС найдёт спрос на рынке. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Спецификация качества ПС Смысл разработки спецификации качества ПС Разработка спецификации качества ПС сводится к построению модели качества программного средства. В этой модели приводится перечень всех элементарных свойств, которые необходимо обеспечить в данном ПС, и соответствующих этим свойствам критериев качества ПС. Такие свойства называются примитивами качества. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Зависимость критериев качества от примитивов Критерий качества Примитивы Функциональность Завершённость Надёжность Завершённость, точность, автономность, устойчивость, защищенность. Лёгкость применения П-документированность, информативность, коммуникабельность, устойчивость, защищённость Эффективность Временная эффективность, эффективность по ресурсам, эффективность по устройствам © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Зависимость критериев качества от примитивов (продолжение) Критерий качества Примитивы Сопровождаемость (изучаемость) С-документированность, информативность, понятность, структурированность, удобочитаемость. Сопровождаемость (модифицируемость) Расширяемость, модифицируемость, структурированность, модульность. Мобильность Независимость от устройств, автономность, структурированность, мобильность © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС Завершённость (completeness) – свойство, характеризующее степень обладания ПС всеми необходимыми частями и чертами, требующимися для выполнения своих явных и неявных функций; Точность (accuracy) – мера, характеризующая приемлемость величины погрешности в выдаваемых программами ПС результатах с точки зрения предполагаемого их использования; Автономность (self-containedness ) – свойство, характеризующее способность ПС выполнять предписанные функции без помощи или поддержки других компонент ПО; © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Устойчивость (robustness) - свойство, характеризующее способность ПС продолжать корректное функционирование, несмотря на задание неправильных (ошибочных) входных данных; Защищённость (defensiveness) – свойство, характеризующее способность ПС противостоять преднамеренным или нечаянным деструктивным (разрушающим) действиям пользователя; П-документированность (user documentation) - свойство, характеризующее наличие, полноту, понятность, доступность и наглядность учебной, инструктивной и справочной документации, необходимой для применения ПС. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Информативность (accountability) - свойство, характеризующее наличие в составе ПС информации, необходимой и достаточной для понимания назначения ПС, а также текущего состояния программ в процессе их функционирования; Коммуникабельность (communicativeness ) – свойство, характеризующее степень, в которой ПС облегчает задание или описание входных данных и способность выдавать информацию в простой форме и с простым для понимания содержанием; Временная эффективность (time efficiency) - мера, характеризующая способность ПС выполнять возложенные в него функции в течение определённого отрезка времени. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Эффективность по ресурсам (resource efficiency) - мера, характеризующая способность ПС выполнять возложенные на него функции при определённых ограничениях на используемые ресурсы (например, память); Эффективность по устройствам (device efficiency) – мера, характеризующая экономичность использования устройств машины для решения поставленной задачи; С-документированность (self-documentation ) - свойство, характеризующее наличие документации, отражающей требования к ПС и результаты различных этапов разработки ПС. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Понятность (understandability) - свойство, характеризующее степень, в которой ПС позволяет изучающему его лицу понять его назначение, сделанные допущения и ограничения, входные данные и результаты работы программ, тексты программ и т.д. Структурированность (structuredness) – свойство, характеризующее программы ПС с точки зрения организации взаимосвязанных их частей в единое целое; Удобочитаемость (readability) - свойство, характеризующее лёгкость восприятия текстов программ (отступы, комментарии, фрагментация). © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Расширяемость (augmentability) - свойство, характеризующее способность ПС к использованию большего объёма памяти для хранения данных или расширению отдельных компонент; Модифицируемость (modifiability) – мера, характеризующая ПС с точки зрения простоты внесения необходимых изменений и доработок на всех этапах жизненного цикла ПС; Модульность (modularity) - свойство, характеризующее ПС с точки зрения организации его программ из таких дискретных компонент, что изменение одной из них оказывает минимальное воздействие на другие компоненты. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Критерии качества и примитивы Определения примитивов качества ПС (продолжение) Независимость от устройств (device independence) - свойство, характеризующее способность ПС работать на разнообразном аппаратном обеспечении (различных марках, типах, моделях компьютеров). © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Функциональная спецификация ПС Составные части функциональной спецификации 1. Описание внешней информационной среды, к которой должны применяться программы разрабатываемого ПС; 2. Определение функций ПС, определённых на множестве состояний этой информационной среды (внешних функций ПС); 3. Описание нежелательных (исключительных) ситуаций, которые могут возникнуть при выполнении программ, и реакций на эти ситуации, которые должны обеспечить соответствующие программы. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Методы контроля внешнего описания ПС Методы контроля ПС, выполняемые на этапе внешнего описания 1. Статический контроль (инспекция); 2. Смежный контроль; 3. Пользовательский контроль; 4. Ручная имитация. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Методы контроля внешнего описания ПС Методы контроля ПС, выполняемые на этапе внешнего описания (продолжение) Статический контроль предполагает внимательное прочтение текста внешнего описания с целью выявления ошибок и неточностей. Смежный контроль спецификации качества – проверка со стороны разработчика требований (проверка «сверху»). Смежный контроль функциональной спецификации – проверка разработчиками требований к ПС. Смежный контроль требований – их изучение и проверка разработчиками архитектуры и текстов программ, разработчиками пользовательской документации и тестерами (проверка «снизу»). © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС Методы контроля внешнего описания ПС Методы контроля ПС, выполняемые на этапе внешнего описания (продолжение) Пользовательский контроль выражает участие пользователя (заказчика) в принятии решений при разработке внешнего описания и его контроле. Ручная имитация – динамическая проверка функциональной спецификации ПС; выполняется специально назначенным разработчиком, играющим роль будущих программ ПС. © В.М. Гриняк, доц. каф. ИСКТ ВГУЭС