2 Задание на выполнение контрольной работы
Системное проектирование сложных комплексов программ является фундаментом для обеспечения функциональной адекватности требованиям всего жизненного цикла ПС.
В последовательности выработки и подготовки к реализации этих требований выполняются три крупных этапа:
— обследование, системный анализ существующей системы и выявление ее недостатков;
— обобщение результатов системного анализа и создание предварительной концепции новой или модернизированной системы и ее программных средств;
— разработка системного проекта комплекса программ и базы данных, определяющего и конкретизирующего цель, назначение и методы дальнейшего детального проектирования и всего жизненного цикла ПС.
Системное проектирование структурировано, и методология его реализации отражает следующие проблемы, процессы и методы:
— цели и принципы системного проектирования сложных программных средств для обеспечения их последующего жизненного цикла в информационных системах;
— подготовку к непосредственному детальному проектированию, разработке и всему жизненному циклу комплекса программ и базы данных для информационной системы;
— основы предварительного структурного проектирования и современных технологий системного анализа и проектирования сложных комплексов программ;
— методы разработки требований к характеристикам качества и распределения ресурсов, необходимых для реализации проектов сложных ПС и баз данных;
— задачи и принципы системного проектирования обеспечения безопасности и защиты комплексов программ от различных угроз;
— планирование жизненного цикла и управление качеством ПС, а также выбор инструментальных средств для поддержки всего их ЖЦ;
— методики системного проектирования сложных ПС и требований к их качеству, а также структура и содержание документов, отражающих результаты выполненных работ;
— организацию и подготовку специалистов, способных обеспечить создание детального проекта и всего жизненного цикла ПС с требуемым качеством.
Современные сложные системы и соответственно проекты, обеспечивающие их создание, имеют ряд важных особенностей:
— единую цель разработки и последующего функционирования всей системы для определенных пользователей;
— наличие совокупности нескольких, тесно взаимодействующих, компонентов;
— подсистем, имеющих свои локальные задачи и цели функционирования;
— иерархическую структуру связей и взаимодействия компонентов, обеспечивающую концептуальное единство и устойчивость функционирования всей системы;
— иерархическую совокупность критериев качества функционирования компонентов и системы в целом, обеспечивающих достижение главных целей создания и последующего применения системы пользователями.
Системное проектирование в программной инженерии охватывает период жизненного цикла сложных комплексов программ, начиная от формулирования первичного замысла на создание или модернизацию системы и до начала детального проектирования и разработки ПС. Результатом этого периода работ должно быть согласованное и формализованное разработчиком и заказчиком представление о целях, назначении, функциональных задачах и качестве будущего программного продукта, способного удовлетворить надежды и запросы пользователей. В системном проекте должны быть обобщены и отражены следующие основные результаты выполненных системных исследований и разработок
— обобщенный анализ проведенного обследования объекта информатизации, функций существующей информационной системы, качества ее основных программных компонентов и базы данных;
— совокупность предварительных исходных требований к функциям и характеристикам комплекса программ;
— оценки имеющихся и потенциально доступных ресурсов (финансовых, вычислительных средств, специалистов) для обеспечения всего жизненного цикла и требуемого качества проекта комплекса программ;
— результаты предварительного анализа возможной архитектуры комплекса программ на основе моделей и прототипов аналогичных систем, позволяющие наметить планы разработки и всего жизненного цикла проекта ПС;
— цели, задачи и функции предполагаемой новой или модернизированной системы, обобщенные в концепции создания соответствующего программного средства;
— проекты планов жизненного цикла, гарантирования требуемого качества ПС, защиты и обеспечения безопасности его функционирования;
— результаты технико-экономического обоснования целесообразности и основных направлений продолжения проектирования и всего ЖЦ ПС;
— результаты анализа существующей и возможной инструментальной среды разработки, а также системы обеспечения качества, перспективы их развития и совершенствования;
— предварительный план организации работ, требования к составу и квалификации специалистов для выполнения проекта и всего жизненного цикла ПС;
— проект формализованного технического задания и спецификации требований к ПС, а также предложения по его финансированию и обеспечению ресурсами;
— системный проект, обобщающий проведенные исследования и разработки, позволяющий заключить контракт между разработчиком и заказчиком на финансирование и продолжение проектирования и/или на весь жизненный цикл ПС.
Системное проектирование сложных ПС начинается с обследования объекта информатизации, системного анализа предметной области и выявления потребности в создании или модернизации комплекса программ с определенными функциями и качеством.
При разработке структуры программного средства в процессе системного проектирования, прежде всего, необходимо сформулировать критерии ее формирования. Важнейшими критериями могут быть: модифицируемость, отлаживаемость и удобство управления разработкой ПС, обеспечение возможности контролируемого изменения конфигурации, состава и функций компонентов с сохранением целостности структурного построения базовых версий ПС.
Основные принципы и правила структурирования ПС и БД можно объединить в группы, которые отражают:
— стандартизированную структуру целостного построения ПС и/или БД определенного класса;
— унифицированные правила структурного построения функциональных программных компонентов и модулей;
— стандартизированную структуру базы данных, обрабатываемых программами;
— унифицированные правила структурного построения информационных модулей, заполняющих базу данных;
— унифицированные правила организации и структурного построения межмодульных интерфейсов программных компонентов;
— унифицированные правила внешнего интерфейса и взаимодействия компонентов ПС и БД с внешней средой, с операционной системой и другими типовыми средствами организации вычислительного процесса, защиты и контроля системы.
При помощи CASE-средства Rational Rose построить модель программного обеспечения.
Процесс создания модели должны быть выполнены следующие действия:
1) составление глоссария проекта;
2) создание модели вариантов использования;
3) анализ вариантов использования;
4) проектирование системы;
После выполнения третьего этапа модель должна удовлетворять перечисленным требованиям. Глоссарий проекта должен иметь вид таблицы и храниться в отдельном файле. На диаграммах вариантов использования каждое действующее лицо (actor) и вариант использования должны сопровождаться описанием. Эти описания должны быть составлены на русском языке. Описание действующего лица должно коротко (в одну-две строки) сообщать о роли данного лица. Описание варианта использования должно включать в себя пояснение, предусловие, потоки событий (основной и альтернативные, если таковые есть) и постусловие. Описания представляют собой либо присоединенные текстовые файлы, либо текст, введенный в поле Documentation спецификации соответствующего элемента диаграммы. Диаграммы взаимодействия, соответствующие потокам событий вариантов использования, должны содержать необходимые пояснения.
При проектировании системы требуется:
– создать иерархию классов системы;
– разместить классы по пакетам (использовать деление: пользовательский интерфейс – управление – данные; или другое в зависимости от постановки задачи);
– связать объекты с классами, сообщения на диаграммах взаимодействия – с операциями;
– каждый класс снабдить описанием, которое должно включать в себя краткое описание (ответственность класса), описание атрибутов в виде таблицы (имя, описание, тип), таблицу с описанием операций (имя, описание, сигнатура);
– для классов указать стереотипы;
– построить диаграммы классов системы, отображающие связи между классами;
– для описания поведения экземпляров отдельных классов построить
диаграммы состояний;
– разработать (если это требуется вариантом задания) схему базы данных и отобразить ее на диаграмме «сущность – связь».
При реализации системы необходимо построить диаграммы компонентов для каждого пакета и для системы в целом. Также следует разработать диаграмму размещения. В зависимости от задания диаграмма размещения должна показывать расположение компонентов в распределенном приложении или связи между встроенным процессором и устройствами.
