Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2





НазваниеПрограмма по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2
страница5/11
Дата публикации10.04.2014
Размер1.39 Mb.
ТипУчебное пособие
100-bal.ru > Информатика > Учебное пособие
1   2   3   4   5   6   7   8   9   10   11

надежность - уровень завершенности (отсутствие ошибок), ус­
тойчивость к ошибкам и перезапускаемость;





  1. применимость - понятность, и простота изучения и использования;

  2. эффективность - ресурсная и временная экономичность;

  3. удобство сопровождения - удобство для анализа, изменяемость,
    стабильность и тестируемость;


6) переносимость - адаптируемость, структурированность, заме-
щаемость и удобство внедрения.


Функциональная пригодность - это набор атрибутов, определяющий назначение, наменклатуру, основные необходимые и достаточные функции прикладной программы, установленные в техническом задании. В процессе проектирования программы атрибуты функциональной пригодности кон­кретизируются в спецификации на компоненты. Эти атрибуты можно чис­ленно представить точностью вычислений, относительным числом по­этапно изменяемых функций, коэффициентом изменения спецификаций требований разработчиками и заказчиками и т.д.

4.3.1.1 Функциональная пригодность

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

37

4.3.1.2 Корректность

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

38

Корректность межмодульных интерфейсов определяется двумя ви­дами связей между модулями: по управлению и по информации. Связи по управлению составляют вызовы программных модулей и возвраты в вы­зывавшие модули. Некорректности взаимодействия модулей по информа­ции очень разнообразны, трудно контролируемые и носят стохастический характер. Ряд искажений переменных при взаимодействии модулей не вызывает ситуаций отказа и отражается только в искажении результи­рующих данных на выходе модуля. Многообразие и сложность информа­ционных связей в больших прикладных программных системах значи­тельно затрудняют формализацию достигнутой корректности программ. Критерии становятся стохастическими и качество программы оценивается интегрально по результатам общего функционирования.

4.3.1.3 Надежность

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

Основным принципом классификации сбоев и отказов в программах при отсутствии их физического разрушения является разделение по вре­менному показателю длительности восстановления после любого искаже­ния программ, данных или вычислительного процесса, регистрируемого как нарушение работоспособности. При длительности восстановления, мень­шей заданного порога, аномалии при функционировании программ следует относить к сбоям, а при восстановлении превышающем по длительности пороговое значение, происходящее искажение соответствует отказу. Классификация программных сбоев и отказов по длительности восстанов­ления приводит к необходимости анализа динамических характеристик абонентов, являющихся потребителями данных, обработанных исследуе­мой прикладной программой, а также временных характеристик функцио­нирования программ. Временная зона перерыва нормальной выдачи ин­формации и потери работоспособности, которую следует рассматривать как зону сбоя, тем шире, чем более инерционный объект находится под воз-Действием сообщений, подготовленных данной прикладной программой.

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

39

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

4.3.1.4 Уровень защищенности

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

4.3.1.5 Удобство использования

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

К этим критериям примыкают критерии простоты изучения, которые
могут включать длительность подготовки пользователя к полноценной
эксплуатации прикладной программы. Это время зависит от возможности
предварительного обучения и совершенствования в процессе эксплуатации,
от возможностей оперативной помощи и подсказки (Help) при использо- j
вании программы, а также от доступности и удобства использования ру- j
ководств и инструкций по эксплуатации. ;

40 ;

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

4.3.1.6 Эффективность использования ресурсов

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

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

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

41

4.3.1.7 Переносимость

Сейчас важным показателем стала переносимость или мобильность программ в иную операционную среду или в иную аппаратную платформу. Это свойство может оцениваться объемом необходимых доработок про­граммы, которые следует выполнить для обеспечения полноценного функционирования программы после переноса. Мобильность может оце­ниваться, на уровне исходных текстов программ или на уровне объектного кода. При анализе и оценке переносимости программ и данных в первую очередь необходимо учитывать:

  1. степень подобия архитектуры и соотношения основных парамет­
    ров аппаратных платформ, между которыми предполагается пе­
    ренос;

  2. степень подобия и унификации интерфейсов операционных
    платформ с приложениями, между которыми предполагается пе­
    ренос прикладных программ и данных;

  3. наличие или отсутствие при разработке исходных программ и баз
    данных ориентации на будущий перенос;

  4. объем и комплексированность приложений с операционной и
    внешней средой при предполагаемом их совместном переносе.

4.3.2 Отечественный стандарт ГОСТ 28195-89

Близким к описанному стандарту по идеологии, структуре и содер­жанию является стандарт «ГОСТ 28195-89. Оценка качества программных средств. Общие положения». На верхнем, первом уровне выделено шесть показателей факторов качества:

  1. надежность;

  2. корректность;

  3. удобство применения;

  4. эффективность;

  5. универсальность;

  6. удобство сопровождения.

Эти факторы детализируются в совокупности 19 критериями качества на втором уровне.

Дальнейшая детализация показателей качества представлена метри­ками и оценочными элементами, которых насчитывается около 240. Каж­дый из них рекомендуется экспертно оценивать в пределах от 0 до 1.

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

42

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

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

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

5.1 Общие положения

UML (Universal Modeling Language - универсальный язык модели­рования), способный решить любые задачи, связанные с любым проекти­рованием и моделированием: от общей (абстрактной) модели процессов предприятия до конкретной (физической) модели класса в создаваемом программном обеспечении.

Инструментальная среда для построения моделей на этом языке, разработанная фирмой Rational Software, называется Rational Rose. Работа в Rational Rose заключается в проектировании определенного вида диаграмм, задающих элементы, их свойства, отношения и взаимодействие друг с другом.

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

Результатом моделирования является файл с моделью. Проектиров­щик передает модель следующему звену сотрудников - кодировщикам. Они дополняют полученную логическую модель системы моделями конкретных классов на языке программирования.

Богатый набор средств Rational Rose предоставляет разработчикам следующие возможности:

  1. Автоматический переход от проекта системы к тексту программы
    на языке программирования. Нарисованную модель можно пре­
    образовать в текст на конкретном языке программирования. Под­
    держиваются языки: C++, Ada, Java, Visual Basic, XML, Oracle.
    Также для Rational Rose сторонними компаниями разрабатыва­
    ются специальные мосты к не входящим в стандартную поставку
    языкам, например, к Delphi.

  2. Возможность обратного проектирования - реинжениринга, когда
    на основе уже готовой информационной системы (например, на
    C++) или базы данных (на Oracle) в Rational Rose автоматически
    получают наглядную визуальную модель.

3. Round-trip engineering - сочетание возможности первых двух подходов, когда сначала создается система, а по прохождении некоторого времени доработок она подвергается реинженирингу, дорабатывается и вновь выполняется генерация кода программы.



Рис. 5. Пример диаграммы объектов на языке UML

5.2 Концептуальные области UML

Все концепции и модели языка UML можно отнести к четырем кон­цептуальным областям.

1 . Статическая структура.

  1. Динамическое поведение.

  2. Элементы реализации.

  3. Организация модели.

  4. Механизмы расширения.
    5.2.1 Статическая структура

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

45

Концепции программы моделируются как классы, каждый из которых описывает тип дискретных объектов, содержащих определенную инфор­мацию и взаимодействующих между собой для реализации некоторого поведения. Информация, которую содержат объекты, моделируется как атрибуты, поведение - как операции.

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

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

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

В языке UML существует еще несколько элементов диаграмм: ин­терфейсы, типы данных, варианты использования и сигналы. Они носят общее название классификаторов и ведут себя в большинстве случаев как классы, но с некоторыми ограничениями для каждого типа классификатора. 5.2.2 Динамическое поведение Существует два способа моделировать поведение. Первый представляет собой отображение истории жизни объекта и его взаимодействия с остальным миром. Второй - это образцы взаимодей­ствия зависимых объектов и их взаимоотношения при реализации опреде­ленного поведения. Поведение отдельно взятого объекта описывается ко­нечным автоматом. При этом рассматривается реакция объекта на события на основе его текущего состояния, действий, из которых состоит эта реак­ция, и переход в новое состояние. Подобное поведение изображается на диаграммах состояний. Взгляд на систему как на комплекс взаимодейст­вующих объектов называется кооперацией. Кооперация описывает кон­текстно зависимый взгляд на объекты и их связи друг с другом, а также поток сообщений между объектами по каналам передачи данных. В этом случае структура данных системы, управляющая логика и поток данных рассматриваются вместе. Кооперация объектов отображается на диаграм-

46

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

5.2.3 Элементы реализации

Модели создаются как для логического анализа, так и для физической реализации системы. Некоторые конструкции в модели представляют собой элементы реализации. Компонент - это вещественная замещаемая часть системы, которая соответствует некоторому набору интерфейсов и обес­печивает их реализацию. Компонент должен легко замещаться другими компонентами с тем же набором интерфейсов. Узел - это компьютерный ресурс, который определяет местонахождение исполняемых компонентов и объектов. Описание развертывания системы содержит информацию о конфигурации узлов действующей системы, расположение компонентов и объектов на них, включая возможную миграцию содержимого между раз­ными узлами.

5.2.4 Организация модели

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

5.2.5 Механизмы расширения

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

47

6. Управление требованиями к прикладной программе

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

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

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

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

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

7. Управление запросами на изменение программы

Поскольку проект постоянно -меняется, руководителям, менеджерам жизненно необходимо знать статистику того, что менялось, кем и в какое время. В большинстве случаев необходимо видеть не просто информацию о том или ином событии, а хочется иметь полный объем необходимой ин­формации. Программа ClearQuest помогает в решении данной задачи. ClearQuest является мощным средством управления запросами на измене­ние (change request management - CRM), специально разработанным с уче­том динамической и сложной структуры процесса разработки программ­ного обеспечения. Программа ClearQuest отслеживает и управляет любым типом действий, приводящих к изменениям продукта в течение его жиз­ненного цикла. Это дает возможность более предсказуемым образом соз­давать качественное программное обеспечение. Основные задачи, решае­мые посредством программы ClearQuest:

  1. Управление изменениями, возникающими в ходе процесса разра­
    ботки.

  2. Оптимизация прохождения запросов на изменения.

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

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

  5. Интеграция со средствами конфигурационного управления, та­
    кими как Rational ClearCase.

В качестве положительных черт данного продукта можно отметить его легкую настройку к используемому процессу разработки программного обеспечения, а также масштабируемость и простоту в администрировании и использовании. В работе с Rational ClearCase каждый участник проекта может просматривать базу данных и определять собственные запросы. За­просы на изменения проходят цикл из нескольких состояний, начиная с подачи запроса и заканчивая его разрешением. Например, только что по­данный запрос находится в состоянии «Подан». После передачи запроса сотруднику он переходит в состояние «Назначен». Начало работы над за­просом переводит его в «Открытое» состояние, и вся команда проекта мо­жет видеть кто обрабатывает этот запрос. Наконец, при проверке и закры­тии запроса, он проходит стадии «Проверка» и «Закрыт». Если же в данное время работа над запросом не актуальна или по каким-либо причинам не возможно, то этот запрос переводится в состояние «Отложен».

49

8. Улучшение качества кода

Разработчик постоянно сталкивается с проблемой необходимости увеличения производительности приложения в сжатые сроки и с макси­мально возможной эффективностью. Из-за отсутствия необходимого ин­струментария, разработчику приходится вручную замерять скоростные характеристики разрабатываемых приложений. Это неточно и требует много времени.

Программа Rational Quantify позволяет решить описанные выше проблемы. Это простое, но в то же время мощное и гибкое средство учета производительности приложений. Он незаменим для сбора и анализа ин­формации о производительности созданного программного продукта.

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

Программа предоставляет полную статистическую информацию по всем вызовам (внешним и внутренним). Сбор данных осуществляется по­средством технологии OCI (Object Code Insertion). Суть этого способа со­стоит в подсчете всех машинных циклов путем вставки счетчиков в код для каждого функционального блока тестируемой программы. Все циклы приложения просчитываются реально, а не при помощи произвольных выборок, как это делается в большинстве пакетов тестирования. Уникаль­ность данного подхода заключается в том, что, во-первых, тестируется не только сам исходный код, но и все используемые компоненты, (например: библиотеки DLL, системные вызовы), и, во-вторых, для подобного анализа совсем необязательно иметь исходные тексты тестируемого приложения (правда, в этом случае нет возможности отслеживать внутренние вызовы).

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

Отметим, что тестируемое приложение можно изменить, затем пе­рекомпилировать и запустить повторно, при этом программа Rational Quantify способна запомнить все предыдущие вызовы процедур и дать сравнительную оценку.

Также данный продукт помогает в разрешении проблем, связанных с утечками памяти и Run-time ошибками. Не секрет, что многие программные продукты ведут себя «не слишком скромно», используя во время работы все системные ресурсы без необходимости. Возникновение подобного рода ошибок достаточно трудно отследить стандартными средствами. И дело тут 50

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

В общих чертах работа программы Purify сводится к выводу деталь­нейшей статистики об использовании памяти приложением. Программа собирает данные о любых потерях в памяти и ошибках, связанных с рас­пределением памяти. К ним можно отнести и невозвращение блока памяти, и не использование указателей, и остановку исполнения программы с вы­водом состояния среды при возникновении run-time ошибки.

Программа Purify - это очень мощный инструмент. Но вместе с тем он обладает достаточно простым интерфейсом и осваивается специалистом за 2-3 дня.

Еще один инструмент для улучшения кода разрабатываемого при­ложения - Rational Pure Coverage. Эта программа позволит разработчикам довести программы до совершенства.

Основное и единственное назначение продукта - выявление участков кода, пропущенного при тестировании приложения. Вполне очевидно, что при тестировании программы, специалисту не удается оттестировать аб­солютно все ее функции. Это связано с тем, что, во-первых, разработчик не может сделать все абсолютно правильно с учетом всех возможных нюансов, и, во-вторых, даже учитывая все возможные реакции приложения на внешние «раздражители» невозможно на 100% быть уверенным в том, что все оттестировано.

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

51

9. Средства тестирования прикладных программ

С целью повышения качества и надежности создаваемых программ | организуется их проверка или тестирование. Эта проверка может прово-j диться простым прогоном программы с использованием предварительно 1 подготовленных данных. Так делается обычно при использовании экстре­мальных методологий. Промышленные методологии предполагают ис-; пользование для тестирования специальных средств. Одно из таких средств ' Visual Test.

Продукт позволяет производить тестирование 32-битного i Windows-приложения, компонентов ActiveX, DLL, сервера автоматизации OLE (OLE Automation server) и приложений на основе интернет. Программа ; Visual Test дает возможность создавать поддерживаемые, расширяемые и пригодные для повторного применения компоненты тестирования, которые ; можно использовать во многих версиях одного программного проекта И; даже во многих проектах.

Основу гибкости и мощи программы Visual Test составляет произ­водный от Visual Basic расширенный язык программирования TestBasic. Этот язык обладает сотнями специфических для теста функций, специ­альных конструкций для облегчения тестирования, имеет простой доступ к Windows API и открытую архитектуру, которая делает этот язык расши­ряемым. Данный продукт обеспечит надежное функциональное тестиро­вание.

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

Программа Rational Robot способна работать в двух режимах: в ав­томатическом и в ручном. В ручном режиме пользователь сам задает на специальном языке сценарий тестирования (скрипт), а в автоматическом -пользователь тестирует приложение, a Robot автоматически генерирует необходимый скрипт для дальнейшего повторного тестирования.

Скрипты, создаваемые в Rational Robot, обеспечивают поиск ошибок в приложении, оставаясь виртуально независимыми от внесенных измене­ний и платформы. Без дополнительных изменений скрипты могут исполь­зоваться на Microsoft Windows 98, Windows 2000 и Windows NT. Такое тестирование обеспечивает быстрое создание скриптов, которые в даль-52

нейшем можно легко изменять, создавать заново и воспроизводить. Rational Robot поддерживает широкий спектр языков программирования, позволяет редактировать, отлаживать и настраивать скрипты, допускает также тес­тирование сложных клиент-серверных систем на платформе Windows. Внедрение подобного универсального инструмента для всеобъемлющего тестирования графического интерфейса даст существенный прирост в эф­фективности проводимого тестирования.

LoadTest - средство автоматизированного тестирования характери­стик распределенных сетевых приложений на платформах Windows и Unix. Программа LoadTest выполняет нагрузку сервера большим количеством виртуальных пользователей. Например, вы можете измерить время вы­полнения запроса для одного пользователя, чтобы затем определить время выполнения запроса, когда тысячи других пользователей будут посылать запросы на тот же самый сервер одновременно. Термин «тесты произво­дительности» включает нагрузочные, стрессовые, конкурирующие и кон­фигурационные тесты. Совокупность этих тестов позволяет ускорить цикл тестирования производительности и достигнуть значимых и точных ре­зультатов.

Нагрузочное тестирование с использованием LoadTest выполняется тогда, когда нужно определить время отклика серверов или клиентских приложений при изменяющейся нагрузке. Нагрузочное тестирование также используется тогда, когда нужно вычислить, какое максимальное количе­ство транзакций может выполнить сервер за определенный временной от­резок. Если клиент/серверная система использует распределенную архи­тектуру или средства балансировки нагрузки - нагрузочное тестирование может быть использовано для того, чтобы проверить правильность вы­бранных методов для балансирования или конструирования системы.

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

С помощью данной программы можно проверять производительность любой системы клиент-сервер.

53

10. Управление конфигурациями и версиями прикладной программы

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

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

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

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

В дополнение к описанным возможностям, программа ClearCase по­зволяет объединять географически удаленные команды разработчиков по­средством MultiSite - специального модуля, осуществляющего репликацию (передачу) текущего состояния проекта на указанный сайт.

54

11. О единой системе программной документации

11.1 Назначение единой системы программной документации

Единая система программной документации (далее ЕСПД) - ком­плекс государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформление и обращения программ и программной документации.

В стандартах ЕСПД устанавливают требования, регламентирующие разработку, сопровождение, изготовление и эксплуатацию программ. Это обеспечивает возможность:

  1. унификации программных изделий для взаимного обмена про­
    граммами и применение ранее разработанных программ в новых
    разработках;


  2. снижение трудоёмкости и повышение эффективности разработки,
    сопровождения, изготовления и эксплуатации программных из­
    делий;


  3. автоматизации изготовления и хранения программной докумен­
    тации.


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

11.2 Область распространения и состав ЕСПД

Правила и положения, установленные в стандартах ЕСПД, распро­страняются на программы и программную документацию для вычисли­тельных машин, комплексов и систем независимо от их назначения и об­ласти применения.

В состав ЕСПД входят:

  1. основополагающие и организационно-методические стандарты;

  2. стандарты, определяющие формы и содержание программных
    документов, применяемых при обработке данных;


  3. стандарты, обеспечивающие автоматизацию разработки про­
    граммных документов.


Разработка организационно-методической документации, опреде­ляющей и регламентирующей деятельность организаций по разработке,, сопровождению и эксплуатации программ, должна проводится на основе стандартов ЕСПД.

55

11.3 Классификация и обозначение стандартов ЕСПД

Стандарты ЕСПД подразделяют на группы, приведённые в таблице:

Код группы

Наименование группы

0

Общие положения

1

Основополагающие стандарты

2

Правила выполнения документации разработки

3

Правила выполнения документации изготовления

4

Правила выполнения документации сопровождения

5

Правила выполнения эксплуатационной документации

6

Правила обращения программной документации

7

Резервные группы

8

9

Прочие стандарты

Обозначение стандарта ЕСПД строят по классификационному при­знаку.

Обозначение стандарта ЕСПД должно состоять из следующих частей:

  1. цифр 19, присвоенных классу стандартов ЕСПД;

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

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

Пример обозначения стандарта «Единая система программной до­кументации. Общие положения»: ГОСТ 19.0-77

56

12. Два вида документации для прикладных программ

12.1 Документация для разработчиков прикладных программ

12.1.1 Состав документации

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

  1. Техническое задание.

  2. Технический проект.

  3. Текст программы.

  4. Описание программы.

  5. Программа и методика испытаний.

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

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

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

Документ «Текст программы» должен содержать исходные тексты программы с комментариями.

Документ «Описание программы» содержит описание архитектуры, функционального назначения и логики программы.

Программа и методика испытаний должна содержать необходимые сведения для проведения приемо-сдаточных испытаний программы.

Обязательными документами являются только два документа -«Техническое задание» и «Текст программы».

Допускается объединять несколько документов в один.

Состав документации для конкретной компьютерной программы определяется руководителем проекта, в рамках которого разрабатывается эта программа (Site: WWW.OberonCo.da.Ru, Телефон: (096) 567-2224, E-mail: OberonCo@Mail.Ru).

57

12.1.2 Содержание документации

12.1.2.1 Книга «Ведомость документов для разработчика»

Информационную часть (аннотацию и оглавление) в Ведомость до­кументов для разработчика допускается не включать.

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

12.1.2.2 Книга «Техническое задание»

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

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

Дополнительно могут быть разработаны технические задания на части программы: на подсистемы программы, программные модули и т. п.

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

Изменения к техническому заданию на программу оформляют до­полнением или подписанным заказчиком и разработчиком протоколом. Дополнение или указанный протокол являются неотъемлемой частью тех­нического задания на программу. На титульном листе технического задания на программу должна быть запись "Действует с ... ".

Информационную часть (аннотацию и оглавление) в Техническс задание допускается не включать.

В основную часть документа должны входить следующие разделы:

  1. Введение.

  2. Основания для разработки.

  3. Назначение разработки.

  4. Требования к программе или программному изделию.

  5. Требования к программной документации.

  6. Технико-экономические показатели.

  7. Стадии и этапы разработки.

  8. Порядок контроля и приемки.

В техническое задание допускается включать приложения.

58

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

12.1.2.2.1 Содержание разделов

В разделе «Введение» указывают наименование, краткую характе­ристику области применения программы и объекта, в котором используют программу.

В разделе «Основания для разработки» должны быть указаны:

  1. документ (документы), на основании которых ведется разработка;

  2. организация, утвердившая этот документ, и дата его утверждения;

  3. наименование и (или) условное обозначение темы разработки.

В разделе «Назначение разработки» должно быть указано функцио­нальное и эксплуатационное назначение программы.

1   2   3   4   5   6   7   8   9   10   11

Похожие:

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Проектно-образовательная деятельность по формированию у детей навыков безопасного поведения на улицах и дорогах города
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: Создание условий для формирования у школьников устойчивых навыков безопасного поведения на улицах и дорогах
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Организация воспитательно- образовательного процесса по формированию и развитию у дошкольников умений и навыков безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: формировать у учащихся устойчивые навыки безопасного поведения на улицах и дорогах, способствующие сокращению количества дорожно-...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Конечно, главная роль в привитии навыков безопасного поведения на проезжей части отводится родителям. Но я считаю, что процесс воспитания...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспитывать у детей чувство дисциплинированности и организованности, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Всероссийский конкур сочинений «Пусть помнит мир спасённый» (проводит газета «Добрая дорога детства»)
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспиты­вать у детей чувство дисциплинированности, добиваться, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск