- •2.Технологическое обеспечение при сопровождении и управлении конфигурацией программных средств.
- •2. Технологические этапы и стратегии систематического тестирования программ.
- •1. Основные понятия и модели объектно-ориентированного проектирования пс.
- •2. Свойства и атрибуты качества функциональных возможностей сложных пс.
- •1. Осн. Ресурсы для обеспечения жизненного цикла сложных программных средств.
- •2. Риски в жизненном цикле сложных программных средств
- •1. Основы жизненного цикла программных средств.
- •2. Ресурсы для обеспечения сопровождения и мониторинга программных средств
- •1. Проектирование программных модулей и компонентов
- •2. Процессы управления конфигурацией программных средств
- •1. Процессы разработки требований к характеристикам сложных программных средств
- •2. Организация документирования программных средств
- •1. Процессы системного проектирования программных средств
- •2. Конструктивные характеристики качества сложных программных средств
- •1. Рес-сы спец-тов для обеспечения жц сложных пс.
- •1. Стандарты менеджмента (административного управления) качеством систем.
- •2. Оценивание эффективности использования ресурсов эвм программным продуктом.
1. Проектирование программных модулей и компонентов
Сложная система обычно может быть разделена на более простые части модули. Большинство промышленных процессов являются модульными и составлены из комплексов работ, которые комбинируются простыми способами (последовательными или перекрывающимися) для достижения требуемого результата. Главное преимущество модульности заключается в том, что она позволяет применять принцип разделения задач на двух этапах:
-при работе с элементами каждого модуля отдельно (игнорируя элементы других модулей);
-при работе с общими характеристиками групп модулей и отношениями между ними с целью объединить, их в конкретный, более крупный и сложный компонент.
Если данные этапы выполняются в последовательности, предусматривающей сначала концентрацию процессов на модулях, а затем их объединение, то система проектируется снизу вверх. Если сначала систему разбивают на модули, а потом работают над их индивидуальным проектированием, то это проектирование сверху вниз.
При структурном построении комплексов программ важное значение имеет размер и сложность компонентов для каждого уровня иерархии и соответственно число иерархических уровней для крупных ПС. По принципам построения, языку описания, размеру и другим характеристикам компонентов в структуре ПС можно выделить иерархические уровни:
-программных модулей, оформляемых как законченные компоненты текста программ;
-функциональных групп (компонентов) или пакетов программ;
-комплексов программ, оформляемых как законченные программные продукты определенного целевого назначения.
Программные модули решают относительно небольшие функциональные задачи, и каждый реализуется 10-100 операторами языка программирования. Каждый модуль может использовать на входе около десятка типов переменных.
Функциональные группы программ (компоненты) формируются на базе нескольких или десятков модулей и решают достаточно сложные автономные задачи. На их реализацию целесообразно использовать до десятка тысяч строк текста программы.
Проектирование модулей включает в себя разработку локальных функций и подробных описаний алгоритмов обработки данных; межмодульных интерфейсов; внутренних структур данных; структурных схем передач управления; средств управления в исключительных ситуациях. Программные модули для их многократного использования должны базироваться на унифицированных правилах структурного построения, оформления спецификаций требований и описаний текстов программ и комментариев.
Для обеспечения управляемой модификации и развития конфигураций версий программного продукта важно стандартизировать структуру базы данных, в которой накапливается и хранится исходная, промежуточная и результирующая информация в процессе функционирования ПС. Основными компонентами этой структуры являются информационные модули или пакеты данных.
Особое значение для качества модулей и компонентов крупных ПС имеет стандартизация структуры межмодульных интерфейсов по передачам управления и по информации. Эти правила формируются на базе описаний языков программирования или оформляются на основе правил структурного построения программ и базы данных конкретных проектов ПС.
Структурное проектирование сложных комплексов программ активно развивается на основе концепции и стандартов открытых систем.
Профессионалы в области открытых систем акцентируют усилия на поиске и создании гибкой, способной к наращиванию среды, что базируется на трех направлениях стандартизации в области систем:
-аппаратных и операционных платформ;
-методов и технологии обеспечения жизненного цикла прикладных программных средств и баз данных;
-интерфейсов компонентов и модулей между собой, с операционной и внешней средой.
Методы открытых систем обеспечивают эффективные по трудоемкости и качеству структурное проектирование, расширение и перенос готовых программных средств обработки информации и баз данных на различные аппаратные и операционные платформы. Эти методы можно разделить на три части:
-общая концепция и методы непосредственного обеспечения мобильности компонентов программных средств и баз данных в процессе разработки систем за счет унификации интерфейсов с операционной и аппаратной средой;
-методы, поддерживающие мобильность компонентов и комплексов программ и данных в распределенных системах и совместимость их взаимодействия с внешней средой;
-методы создания текстов программных средств, баз данных и их компонентов на стандартизированных языках программирования высокого уровня, обеспечивающие потенциальную возможность их переноса на различные аппаратные платформы.
Первая группа методов создавалась с ограниченной и определенной целью локализовать и унифицировать интерфейсы программных компонентов между собой, с заранее выделенными операционными системами и с внешней средой. Эти методы позволяют разделить функциональную часть комплексов программ и их связи с организационным окружением, обеспечивая технологическую, архитектурную и языковую независимость функциональной части программ и данных.
Вторая группа методов имеет целью поддержать мобильность программных продуктов в открытых системах путем унификации их интерфейсов с внешней средой. Они обеспечивают совместимость обмена данными в различных файловых системах и базах данных, унификацию административного управления и взаимодействия с пользователями, а также методов обеспечения безопасности и защиты информации.
Третья группа методов преследует цель унифицировать тексты программных модулей, компонентов и описания данных, создаваемых для различных аппаратных платформ при любой их архитектуре, независимо от операционной и внешней среды.