Главная страница
Навигация по странице:

  • 5. 3. Аппаратные методы защиты от несанкционированного копирования

  • 6 Компьютерная вирусология Общие вопросы компьютерной вирусологии

  • Структура и алгоритмы работы компьютерных вирусов

  • Классификация вирусов по среде обитания

  • Глава 18. Инструментарий технологии программирования. CASE - технологии

  • Инструментарий технологии программирования

  • 1. Средства для создания отдельных приложений

  • Локальные средства : Языки программирования

  • Системы программирования

  • Инструментальная среда пользователя

  • 2. Средства для создания информационных систем и технологий

  • 2. Общая характеристика CASE- средств

  • Интегрированное CASE-средство

  • Графические средства (диаграммеры

  • 3. Классификация CASE-средств

  • Классификация по категориям

  • 4.Технология внедрения CASE-средств

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


    Скачать 7.57 Mb.
    НазваниеУчебное пособие по дисциплине технология разработки программного обеспечения специальность Программирование в компьютерных системах
    Анкоркурсовая работа
    Дата08.01.2023
    Размер7.57 Mb.
    Формат файлаdoc
    Имя файла2_5397965015586183048-7.doc
    ТипУчебное пособие
    #877236
    страница25 из 30
    1   ...   22   23   24   25   26   27   28   29   30

    5.2. Сигнатурные методы защиты от

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


    • Синхронизация дорожек диска. Первые секторы каждой из дорожек располагаются в произвольном месте, как только головка подведена к дорожке. На диске с синхронизированными дорожками первые секторы располагаются, например, по прямой линии.

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

    • Запись ключевой информации в такие участки диска, как межсекторные промежутки, инженерные дорожки, между стандартными дорожками, а также в сектора, имеющие нестандартный формат.

    • Физическое расположение файлов на диске.

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

    • Слабые биты. Для того чтобы сигнал (бит) записанный на диск был считан стандартной ОС, он должен иметь определенную величину. Метод заключается в записи определенных контрольных бит с меньшей .величиной. ;/ т.д.



    5. 3. Аппаратные методы защиты от

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

    • Простой электронный ключ. Содержит определенные числовые установки, а также программу их модификации в зависимости от входных значений. Эта информация записана в ПЗУ ключа.

    • Электронный ключ с памятью. Аналогичен предыдущему, но при этом способен запоминать определенный объем информации^ в энергонезависимой памяти.

    • Ключи с генераторами случайных чисел. Эти устройства имеют встроенные физические генераторы СЧ (генераторы "белого шума"). Выработанные случайные последовательности запоминаются во внутренней энергонезависимой памяти и служат сигнатурой.Некоторые типы ключей для генерации случайных чисел используют нестабильные процессы периферийных устройств (принтер).

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

    Программы, направленные па причинение определенного вреда компьютерной системе можно разделить на следующие классы:

    1. троянские программы;

    2. люки;

    3. компьютерные черви;

    4. компьютерные вирусы.

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

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

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

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

    Имена вирусов могут формироваться в соответствии со следующими характеристиками:

    1. место разработки или обнаружения вируса ;

    2. по содержащимся в теле вируса текстовым строкам ;

    3. по вызываемым вирусам эффектам ;

    4. по длине вируса;

    5. в соответствии с классификационным кодом.

    Классификационный код был разработан в связи с появлением большого количества штаммов вирусов и необходимостью отражения в названии вируса его основных особенностей. Данный код состоит из буквенного префикса, количественной характеристики, буквенного суффикса. Префикс характеризует тип вируса: С, Е, R, В, М, J, МС. Количественная характеристика - длина вируса. Суффикс используется для определения номера штамма. Например RСЕ-1024С.

    Основные симптомы заражения вирусом:

    1. Изменение длины файла;

    2. Изменение даты и времени создания файла;

    3. Уменьшение объема оперативной и дисковой памяти;

    4. Появление потерянных или сбойных кластеров, дополнительных скрытых файлов и др. изменения файловой системы;

    5. Зависание или перезагрузка операционной системы;

    6. Сбойные ситуации при работе с файлами в таких программах как Word, Ехсеl и т.д.


    Структура и алгоритмы работы компьютерных вирусов

    Классификация вирусов по алгоритму работы

    1. Вирусы - невидимки (Stealth).

    Stealth -вирусы маскируют свое присутствие в вычислительной системе. Для этого вирус использует следующие способы:

    • при просмотре длин зараженных программ не показывает их изменений путем перехвата функций 21h-ого прерывания. После их выполнения вирус уменьшает значение длины файла и передает управление вызвавшей прерывание программе.

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

    2. Полиморфные вирусы.

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

    3. DIR вирусы.

    Не модифицируют заражаемые файлы. Записывают свое тело в свободный кластер диска и помечают его как последний кластер файла. Корректируют каталог так, чтобы номер первого кластера зараженного файла указывал на кластер, в котором расположен вирус. После отработки вирус запускает на выполнение зараженную программу.

    Классификация вирусов по среде обитания

    I. Файловый нерезидентный вирус.

    Объектами заражения являются файлы, содержащие исполняемые команды. Наиболее просто осуществляется заражение СОМ файлов. В общем случае последовательность действий вируса следующая:

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

    • формирование команд перехода на тело вируса;

    • дозапись тела вируса в заражаемую программу;

    • передача управления программе-вирусоносителю

    В случае файлов типа ЕХЕ меняются значения точки входа в программу на тело вируса. Методы заражения файлов типа СОМ и ЕХЕ:

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

    • вставка в конец файла.

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

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

    2. Файловый резидентный вирус

    Файловые резидентные вирусы наряду с файлами заражают ОП. Резидентный вирус состоит из двух частей:

    • инсталлятор;

    • модуль обработки прерываний.

    Инсталлятор получает управление при выполнении зараженной программы и в свою очередь активизирует вирус в ОП. Модуль обработки прерываний получает управление при возникновении перехваченного прерывания и выполняет действия по размножению и проявлению. Инсталлятор выполняет следующие действия:

    • восстановление измененных байт зараженной программы;

    • проверка зараженности ОП;

    • установка модуля обработки прерываний в заданный участок ОП;

    • передача управления зараженной программы.

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

    3. Бутовый вирус

    Бутовый вирус является специализированной разновидностью файлового резидентного вируса. При заражении он может использовать следующие два способа:

    • полная замена стандартной загрузочной записи. Для этого вирус должен содержать в своем теле команды, соответствующие стандартному загрузчику для нормальной загрузки ОС;

    • замена стандартной загрузочной записи с сохранением ее в другом месте диска. В этом случае вирус состоит из двух частей - головы и хвоста. Голова располагается на месте загрузочной записи. Хвост может располагаться в следующих участках винчестера: в кластерах, помеченных как сбойные; в последних секторах винчестера; в неиспользованных блоках FAT -таблицы или каталога; на инженерных дорожках винчестера..Как правило, хвост содержит в себе оригинальную загрузочную запись. Действия бутового вируса: перехват управления при загрузке ОС; проверка зараженности ОП; перехват соответствующих прерываний (обычно всегда 13Н); перезапись стандартной загрузочной записи в ОП и передача ей управления; перехват управления по обращению к диску; проверка зараженности диска и перезапись тела вируса..

    3. Файлово-бутовый вирус

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

    4. Макро-вирус

    При работе с документом Word (Ехсеl) при выполнении различных действии ищет и выполняет соответствующие макросы - при сохранении файла вызывается макрос FileSave при сохранении по команде СОХРАНИТЬ КАК – FileSaveAs -, при печати документов - FilePrint и т.д. Вирусы семейства Масго.Word содержат в себе как минимум один из автоматических макросов или один из стандартных макросов. Если документ заражен, то при открытии документа Word вызывает зараженный автоматический макрос и, таким образом, запускает код вируса. Если же вирус содержит макросы со стандартными именами, то они получают управление при вызове соответствующего пункта меню (Открыть, Закрыть и т.д. )
    Контрольные вопросы


    1. Поясните понятия: физическая, логическая и социальная безопасность информационных систем.

    2. Укажите источники угроз и группы каналов утечки информации.

    3. Перечислите направления защиты информации.

    4. В чем заключается правовое регулирование вопросов защиты информации?

    5. Что определяет патент?

    6. В чем заключается авторское право?

    7. Что регулирует лицензия?

    8. Каковы основные свойства защищаемой информации?

    9. Укажите обязательные элементы всех типов защиты информации от несанкционированного доступа.

    10. Поясните назначение диспетчера доступа и укажите требования к диспетчеру.

    11. Приведите классификация моделей защиты и поясните их назначение.

    12. Каковы функции систем разграничения доступа?

    13. Укажите особенности защиты информации в каналах связи.

    14. Что такое «чистый канал»?

    15. Приведите классификацию алгоритмов шифрования.

    16. Каково назначение и реализация цифровой (электронной) подписи?

    17. Какова классификация мер защиты то исследования логики работы программы?

    18. Что обозначает статическая атака на систему?

    19. Что включает динамическая атака на исследование логики работы программы?

    20. Что такое сигнатура вычислительной системы?

    21. В чем заключаются сигнатурные методы защиты от несанкционированного копирования?

    22. В чем заключаются аппаратные методы защиты от несанкционированного копирования?

    23. Поясните классификацию вредоносных программ.

    24. Приведите классификацию вирусов.

    25. В чем отличие вирусов от червей?

    26. Перечислите симптомы заражения компьютерным вирусом.


    Глава 18. Инструментарий технологии программирования.

    CASE - технологии

    1. Классификация инструментальных средств


    В настоящее время обращает на себя внимание обилие средств, относящихся к инструментарию технологии программирования. Это связано со сложностью разработки программного продукта.

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

    Здесь связи означают:

    1 – заказчик на естественном (например, русском) языке объясняет математику или системотехнику (аналитику), какую прикладную задачу он хочет решить. Эта задача из некоторой предметной области, например, задача бухгалтерского учета или зачисления абитуриентов в ВУЗ;

    2 – математик (или системотехник - аналитик)) формализует задачу, представляя ее в виде математической модели или составляя строгое формальное описание процедуры ее решения, входных и выходных данных. Этот этап называется формализацией задачи;

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

    4 – результаты решения задачи на ЭВМ сообщаются заказчику для определения того, удовлетворен ли он решением. Результаты решения задачи, будучи доведены до заказчика, могут его не удовлетворить в силу ряда причин. Это означает, что процесс, изображенный на рисунке, является циклическим: он завершается тогда, когда заказчик примет  результаты решения задачи автоматизированным образом. В этом случае оформляется документация на эксплуатацию программного продукта. В ней описываются следующие характеристики программного продукта:

    • основные характеристики программы, сведения об ее эксплуатации;

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

    • сведения для проверки работоспособности и корректности выполнения программы, для обеспечения функционирования и настройки программы на условия конкретного применения;

    • сведения о необходимых запросах со стороны программы и форматах ответов пользователя;

    • данные о нештатных ситуациях и поведении пользователя в них.

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

    Как видно, все связи на рисунке двунаправлены. Это означает, что в процессе проектирования программы идет диалог, в ходе которого уточняется и/или корректируется предмет общения.

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

    • для создания отдельных приложений (программ)

    • для создания информационных систем и технологий.

    1. Средства для создания отдельных приложений включают

    локальные средства (языки программирования, системы программирования, инструментальные среды пользователя)

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

    Локальные средства:

    Языки программирования делятся на следующие виды:

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

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

    • машинно-ориентированные (язык С). Объединяет идеи ассемблера и алгоритмического языка. Программы компактны и работают очень быстро.

    • универсальные (Турбо-Паскаль, Бэйсик). Приближены максимально, насколько это возможно, к естественному английскому языку: название каждой команды – английское слово;

    функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:

    • проблемно-ориентированные . Моделируют систему с помощью последовательности событий. Применяются, в частности, при проектировании вычислительных комплексов;

    • объектно-ориентированные . Имеют встроенные средства для моделирования новых объектов программирования;

    • логико-ориентированные .  Отдельно описываются правила предметной области, по которым затем выводятся новые факты.

    Системы программирования включают:

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

    • транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;

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

    • компоновщик – программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;

    • справочные системы.

    Инструментальная среда пользователя – это специальные программные средства, встроенные в ППП:

    библиотеки функций, процедур, объектов и методов обработки;

    макрокоманды;

    программные модули-вставки;

    конструкторы экранных форм и отчетов;

    языки запросов высокого уровня.

    2. Средства для создания информационных систем и технологий поддерживают полный цикл проектирования сложной информационной системы или технологии от исследования объекта автоматизации до оформления проектной и прочей документации на информационную систему или технологию. Они позволяют  вести коллективную  работу  над  проектом за счет возможности работы в локальной сети, экспорта – импорта любых фрагментов проекта, организации управления проектом. Это, прежде всего, разнообразные CASE - средства. Подробнее CASE-технологии будут рассмотрены далее.
    2. Общая характеристика CASE- средств
    В рамках программной инженерии CASE-средства представляют собой основную технологию, используемую для создания и эксплу­атации систем ПО. Под CASE - средством (в соответствии с между­народным стандартом ISO/1ЕС 14102:1995(Е)) понимается програм­мное средство, поддерживающее процессы жизненного цикла ПО (определенные в стандарте ISO/1ЕС 12207:1995), включая анализ требований к системе, проектирование прикладного ПО и баз дан­ных, генерацию кода, тестирование, документирование, обеспечение качества, управление конфигурацией ПО и управление проектом, а также другие процессы. CASE-средства вместе с системным ПО и техническими средствами образуют среду разработки ПО (Software Engineering Environment).

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

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

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

    CASE-средствам присущи следующие основные особенности:

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

    • интеграция отдельных компонентов CASE-средств, обеспечива­ющая управляемость процессом разработки ПО;

    • использование специальным образом организованного хранили­ща проектных метаданных (репозитория).

    Интегрированное CASE-средство - (комплекс средств, поддержи­вающих полный ЖЦ ПО) содержит следующие компоненты:

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

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

    3. средства разработки приложений, включая языки 4GL (язык 4-го поколения) и генераторы кодов;

    4. средства управления требованиями

    5. средства управления конфигурацией ПО;

    6. средства документирования;

    7. средства тестирования

    8. средства управления проектом;

    9. средства реверсного инжиниринга ПО и баз данных.

    Репозиторий

    Основные функции средств организации и поддержки репозитория

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

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

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

    Графические средства (диаграммеры) обеспечивают:

    • создание иерархически связанных диаграмм, в которых сочета­ются графические и текстовые объекты;

    • создание и редактирование объектов в любом месте диаграммы;

    • создание, перемещение и выравнивание групп объектов, изменение их размеров, масштабирование;

    • сохранение связей между объектами при их перемещении и из­менении размеров;

    • автоматический контроль ошибок и др.

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

    1. контроль синтаксиса диаграмм и типов их элементов. Обычно
      такой контроль осуществляется при вводе и редактировании элементов диаграмм;

    2. контроль полноты и состоятельности диаграмм: все элементы диаграмм должны быть идентифицированы и отражены в репозитории. Например, для ВРВ контролируются неименованные или несвязанные потоки данных, процессы и хранилища данных;

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


    3. Классификация CASE-средств
    Можно привести много примеров различных классификаций CASE-средств, встречающихся в литературе. Остановимся на двух наиболее распространенных вариантах: по типам и категориям.

    Классификация по типам отражает функциональную ориентацию СА8Е-средств на те или иные процессы ЖЦ и включает следующие типы:

    1. средства анализа и проектирования, предназначенные для пост­роения и анализа как моделей деятельности организации (пред­метной области), так и моделей проектируемой системы. К таким средствам относятся BPwin (PLATINUM technology), Silverrun(Silverrun technologies), Oracle Designer (Огас1е), Ration Rose(Ration Software), Paradigm Plus (PLATINUM technology), Power Designer (Sybase), System Architect (Popkin Software). Их целью является определение системных требований и свойств, которы­ми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответству­ющими свойствами. Выходом таких средств являются специфи­кации компонентов системы и их интерфейсов, алгоритмов и структур данных;

    2. средства проектирования баз данных, обеспечивающие моделиро­вание данных и генерацию схем баз данных (как правило, на язы­ке SQL – Structured Query Language - структурированном языке запросов) для наиболее распространенных СУБД. Средства проектирования баз данных имеются в составе таких CASE-средств, как Silverrun , Огас1е Designer, Paradigm Plus, Power Designer. Наи­более известным средством, ориентированным только на проектирование БД, является ERwin (PLATINUM technology);

    3. средства управления требованиями, обеспечивающие комплексную
      поддержку разнородных требований к создаваемой системе. Примерами таких средств являются RequisitePro (Rational Software) и DOORS - Dinamic Object-Oriented Requirements System—динамическая объектно-ориентированная система уп­равления требованиями (Quality Systems and Software Inc.);

    4. средства управления конфигурацией ПО — PVCS (Merant),С1еагCase (Rational Software) и др.;

    5. средства документирования. Наиболее известным из них является SoDA – Software Document Automation - автоматизированное документирование ПО (Rational Software);

    6. средства тестирования. Наиболее развитым на сегодняшний день средством является Rational Suite TestStudio (Rational Software) —набор продуктов, предназначенных для автоматического тести­рования приложений;

    7. средства управления проектом — Ореп Р1ап Professional (Welcom Software), MicroSoft Project 98 и др.;

    8. средства реверсного инжиниринга, предназначенные для переноса существующей системы ПО в новую среду. Они обеспечивают анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем и формирования БД входят в состав таких CASE-средств, как Silverrun, Огас1е Designer, Power Designer,, ERwin. Анализаторы программных кодов имеются в составе Rational Rose и Paradigm Plus.


    Классификация по категориям определяет степень интегрированности по выполняемым функциям и включает отдельные локальные средства, решающие небольшие автономные задачи (tools), набор частично интегрированных средств, охватывающих большин­ство процессов ЖЦ ПО (toolkit), и полностью интегрированные сред­ства, поддерживающие весь ЖЦ ПО и связанные общим репозиторием. Помимо этого, CASE-средства можно также классифициро­вать по применяемым структурным или объектно-ориентированным методам анализа и проектирования ПО.

    На сегодняшний день российский рынок программного обеспе­чения располагает практически всеми перечисленными выше сред­ствами.
    4.Технология внедрения CASE-средств
    Термин "adoption" ("внедрение") используется в широком смыс­ле и охватывает все действия - от оценки первоначальных потреб­ностей до полномасштабного использования Case-средств в различ­ных подразделениях организации-пользователя. Процесс внедрения Case-средств включает следующие этапы:

    • определение потребностей в Case-средствах (рис.1);

    • оценка и выбор Case-средств (рис.2);

    • выполнение пилотного проекта;

    • практическое внедрение Case-средств.

    При определении потребностей в Case-средствах осуществляется анализ возможностей организации в отношении ее технологической базы, персонала и используемого ПО. Такой анализ определяется моделью оценки зрелости технологических процессов в организации СММ (Capability Maturity Model), разработанной SEI (Software Engineering Institute), стандартами ISO 9001: 1994 ; ISO 9003-3: 1991 и ISO 9004-2:1991. Главное в этих подходах — анализ различных аспектов происходя­щих в организации процессов.

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



    Рис.1 - Определение потребностей в CASE-средствах


    Рис.2 - Критерии выбора CASE средств

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

    Несмотря на все потенциальные возможности Case-средств, существует множество примеров их неудачного внедрения, в резуль­тате чего эти средства становятся "полочным" ПО . В свя­зи с этим необходимо отметить следующее:

    1. Case-средства не обязательно дают немедленный эффект; он мо­жет быть получен только спустя какое-то время;

    2. реальные затраты на внедрение Case-средств обычно намного превышают затраты на их приобретение;

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

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

      • широкое разнообразие качества и возможностей Case-средств;

      • относительно небольшое время использования Case-средств в различных организациях и недостаток опыта их применения;

      • разнообразие практики внедрения Case-средств в различных организациях;

      • отсутствие детальных метрик и данных для уже выполненных и текущих проектов;

      • широкий диапазон предметных областей проектов;

      • различная степень интеграции Case-средств в различных про­ектах.

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

    Ключом к успешному внедрению СА8Е-средств является готов­ность организации, которая включает следующие аспекты:

    1. технология — понимание ограниченности существующих возможностей и способность принять новую технологию;

    2. культура - способность воспринять новые процессы и взаимоотношения между разработчиками и пользователями;

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

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

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

    • достоверная оценка отдачи от инвестиций в Case-средства затруднительна ввиду отсутствия приемлемых метрик и данных по проектам и процессам разработки ПО;

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

    • отсутствие полного соответствия между теми процессами и методами, которые поддерживаются Case-средствами, и теми, которые используются в данной организации, может привести к дополнительным трудностям;

    • Case-средства зачастую трудно использовать в комплексе с другими подобными средствами, что объясняется как различными парадигмами, поддерживаемыми различными средствами, так и проблемами передачи данных и управления от одного средства к другому;

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

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

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

    Успеш­ное внедрение Case -средств должно обеспечить:

    1. высокий уровень технологической поддержки процессов разра­ботки и сопровождения ПО;

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

    3. приемлемый уровень отдачи от инвестиций в Case-средства.

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

    Контрольные вопросы


    1. Что понимают под инструментарием технологии программирования?

    2. Какие классы инструментария вы можете назвать?

    3. Что включают в себя средства для создания отдельных приложений?

    4. Приведите классификацию языков программирования.

    5. Охарактеризуйте системы программирования.

    6. Что понимают под средствами для создания информационных систем и технологий?

    7. Что такое Case-средства?

    8. Укажите особенности Case –средств.

    9. Какие компоненты входят в интегрированное Case-средство?

    10. Что такое репозиторий?

    11. Какие функции выполняют диаграммеры Case-средства?

    12. Какие виды контроля предусмотрены в Case-средстве?

    13. Какие этапы жизненного цикла поддерживают Case-средства?

    14. Приведите классификацию Case-средств по типам.

    15. Приведите классификацию Case-средств по категориям.


    1   ...   22   23   24   25   26   27   28   29   30


    написать администратору сайта