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

  • 2. ПО с установкой и инсталляцией

  • 4. ПО, создаваемое на основе проектирования, и самонастраивающееся ПО

  • 5. Самоорганизующееся ПО

  • Параметрическая адаптация - настройка параметров ПО.

  • 2. Функциональная адаптация - изменение функций ПО в допустимых пределах.

  • 3. Организационная адаптация - изменение организации (процессов) в системе.

  • 4. Структурная адаптация - изменение структуры системы.

  • 5. Размножение - порождение себе подобных потомков.

  • 6. Развитие - направленный процесс эволюции систем.

  • Адаптация. Лекция 9 Адаптация. Тема 9 Целесообразность разработки модулей адаптации


    Скачать 20.22 Kb.
    НазваниеТема 9 Целесообразность разработки модулей адаптации
    АнкорАдаптация
    Дата28.10.2022
    Размер20.22 Kb.
    Формат файлаdocx
    Имя файлаЛекция 9 Адаптация.docx
    ТипДокументы
    #759679

    Тема 1.9 Целесообразность разработки модулей адаптации


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

    1. ПО «под ключ»

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

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

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

    Началом этапа создания ПО данного типа можно считать появление инсталлируемых операционных систем (MS DOS, Windows 3.1. и др.). 

    В отличие от ПО «под ключ», инсталлируемое ПО имело возможность устанавливаться на компьютерах с различной конфигурацией, задаваемой в момент установки ПО. Это дало мощный толчок к развитию аппаратных средств компьютерной техники (появились линейки компьютеров: IBM-совместимые, MAC и др.), а быстрое увеличение ресурсов технических средств позволило реализовать на уровне программного обеспечения новые функции: графический интерфейс, многозадачность, универсальность устройств и др. 

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

    По пути поддержки специализированных языков программирования пошли также разработчики и СУБД, например, поддержка языка PL-SQL в СУБД ORACLE. 
    Не отстают от СУБД и развитые прикладные системы, наиболее ярким представителем которых является система 1С:Предприятие. Система 1С:Предприятие может дорабатываться и устанавливаться на малых и больших предприятиях, на предприятиях разных форм собственности и др. 

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

    На понижение этой трудоемкости ориентированы системы следующего класса. 
    4. ПО, создаваемое на основе проектирования, и самонастраивающееся ПО 

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

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

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

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

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

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

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

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

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

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

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

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

    Рассмотренные поколения ПО позволяют выявить ряд методов, используемых для адаптации программных систем к изменениям внешней среды и внутренней организации системы:

    1. Параметрическая адаптация - настройка параметров ПО. 

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

    2. Функциональная адаптация - изменение функций ПО в допустимых пределах. 

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

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

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

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

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

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

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

    Решение проблемы адаптивности программного обеспечения, возможно, является центральным звеном в создании программных продуктов нового поколения. Адаптивные программные системы (adaptive software) могут открыть новую страницу в развитии информационных технологий. Многие компании, прежде всего IBM, Hewlett-Packard и Microsoft, уже осознали необходимость в системах с элементами саморегулирования и объявили о своих программах по созданию адаптируемых и адаптивных систем. Это индуцирует развитие теоретической базы методологий поддержки жизненного цикла программных продуктов.

    В настоящее время применяется ряд методов рекомпозиционной адаптации программных систем. Однако целостная методология проектирования таких систем отсутствует


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