Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Лекция 4. Системное проектирование программных средств

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 1057; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.