Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯ 4.docx
Скачиваний:
70
Добавлен:
05.06.2015
Размер:
157.98 Кб
Скачать

16

Лекция 4

СИСТЕМНОЕ ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ

4.1. Цели и принципы системного проектирования

сложных программных средств

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

4.3. Структурное проектирование сложных программных средств

4.4. Проектирование программных модулей и компонентов

4.1. Цели и принципы системного проектирования сложных программных средств

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

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

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

Методологической базой целевого планирования и управления проектами ПС является системный анализ, который предполагает:

  • обследование объектов и среды проектирования для предварительной формализации целей, назначения и задач проекта ПС;

  • исследование и сопоставление альтернативных действий, которые должны приводить к достижению поставленных целей проектирования;

  • сравнение альтернатив по величине достигаемого эффекта проекта в зависимости от затрат на его достижение (желательно, по показателю «эффективность/стоимость»);

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

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

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

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

  • обследование, системный анализ существующей системы и выявление ее недостатков;

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

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

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

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

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

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

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

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

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

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

  • планирование жизненного цикла и управление качеством ПС, а также выбор инструментальных средств для поддержки всего их ЖЦ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]