Справочник от Автор24
Программирование

Конспект лекции
«Системный подход в проектировании программного обеспечения»

Справочник / Лекторий Справочник / Лекционные и методические материалы по программированию / Системный подход в проектировании программного обеспечения

Выбери формат для чтения

pdf

Конспект лекции по дисциплине «Системный подход в проектировании программного обеспечения», pdf

Файл загружается

Файл загружается

Благодарим за ожидание, осталось немного.

Конспект лекции по дисциплине «Системный подход в проектировании программного обеспечения». pdf

txt

Конспект лекции по дисциплине «Системный подход в проектировании программного обеспечения», текстовый формат

Основы. Основы проектирования программного обеспечения является так называемый системный подход. Системный подход – методология исследования объекта любой природы как системы. Система – совокупность взаимосвязанных частей, работающих совместно для достижения некоторого результата. Для того, чтобы определить является ли объект системой требуется определяющий признак. Определяющий признак системы заключается в том, что поведение системы в целом не сводимо к совокупности поведений частей системы. Программное обеспечение – система, включающая в себя компьютерные программы, документацию, данные необходимые для корректной работы программы. Проектирование ПО – процесс создания спецификаций ПО, на основе исходных требований к нему. Проект ПО – совокупность спецификаций ПО, обеспечивающих создание ПО в конкретной программно-технической среде. Особенности современных проектов ПО: 1. 2. 3. 4. 5. Сложность – неотъемлемая характеристика создаваемого программного обеспечения. Отсутствие полных аналогов и высокая доля вновь разрабатываемого ПО. Наличие унаследованного ПО и необходимость его интеграции с разрабатываемым. Территориально распределенная и неоднородная среда функционирования. Большое количество участников проектирования. Специфические особенности разработки ПО: 1. Неформальный характер требований к ПО. 2. Творческий характер разработки. 3. Дуализм ПО. (С одной стороны это статический объект (совокупность текстов. Модулей), с другой динамический. (поскольку при эксплуатации порождаются процессы обработки данных)) 4. При своем использовании ПО не расходуется и не изнашивается. 5. «Неощутимость», ПО, которая подталкивает к безответственному переделыванию. Одним из вариантов решении этих проблем стало создание программной инженерии. Инженерия ПО – совокупность инженерных методов и средств создания ПО. Фундаментальной идеей программной инженерии является следующее утверждение: Проектирование ПО – формальный процесс, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств программной инженерии позволяет повысить качество, обеспечить управляемость процесса проектирования. Основным понятием программной инженерии является понятия жизненного цикла программного обеспечения. Жизненный цикл ПО – период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации. Основной нормативный документ регламентирующий жизненный цикл ПО – стандарт ISO/IEC 12207 Information technology software live cyrcle process. Российский аналог – ГОСТ Р ИСО/МЭК 12207-99. С точки зрения статической структуры жизненный цикл является совокупностью процессов жизненного цикла. Процесс жизненного цикла – набор взаимосвязанных действий, преобразующих некоторые входные данные и ресурсы в результирующие данные и ресурсы. Каждый процесс характеризуется задачами, методами их решения, действующими лицами и результатами. Процессы жизненного цикла могут протекать параллельно. Каждый процесс разделен на набор действий, каждое действие на набор задач. Каждый процесс, действие или задача инициируется и выполняется по мере необходимости. Причем не существует заранее определенных последовательностей выполнения. В соответствие со стандартом жизненного цикла все процессы делятся на следующие группы: 1. основные (приобретение, поставка, разработка, эксплуатация, сопровождение); 2. вспомогательные процессы (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем); 3. Организационные процессы (управление, создание инфраструктуры, усовершенствование, обучение). Другим измерением жизненного цикла, дополняющее статическое является динамическое, определяющее развитие жизненного цикла во времени в виде модели жизненного цикла. Модель жизненного цикла – это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении всего ЖЦ. В любой модели ЖЦ рассматривается как совокупность стадий ЖЦ. Стадия ЖЦ – это часть ЖЦ ограниченная временными рамками, по завершении которой достигается определенный важный результат в соответствии с требованиями для данной стадии ЖЦ. Между двумя стадиями, следующими друг за другом, находится контрольная точка (веха). Так называют момент времени, разделяющий стадии жизненного цикла (или итерации, если они предусмотрены в модели ЖЦ), по наступлении которого должны достигаться результаты важные для всего проекта и должны приниматься решения о дальнейшем управлении проектом. Модели ЖЦ: 1. каскадная (водопадная); 2. эволюционная; 3. основанная на формальных преобразованиях; 4. итерационные (пошаговая и спиральная). Основным принципы каскадной модели является следующий принцип: работа над проектом ведётся как над единым целым; фиксируются требования к системе в начале проекта; переход со стадии на стадию осуществляется только после полного завершения работ на текущей стадии; Процессы ЖЦ жестко привязываются к стадиям; в конце каждой стадии должен быть готов исчерпывающий комплект документации. Стадия формирования требований включает процессы, приводящие к созданию документа, описывающего поведение ПО с точки зрения внешнего по отношению к нему наблюдателя с фиксацией требований по качеству. Одним из главных недостатков является то, что она не учитывает динамику изменения требований на протяжении жизненного цикла. Особенности эволюционной модели: 1. Работа над проектом ведется как над единым целым, требования к ПО поэтапно уточняются. С помощью создания промежуточных версий в рамках рабочего цикла. в рабочем цикле параллельно протекают процессы анализа требований, разработки и тестирования; промежуточные версии оцениваются совместно с заказчиком; количество промежуточных версий заранее не определяется. Достоинства в сравнении с каскадной моделью: 1. более полный учет требований к заказчику 2. раннее обнаружение проблем и их разрешение по мере возникновения; 3. Параллельное ведение работ внутри рабочего цикла Недостатки: 1. плохая документированность; 2. запутанность создаваемого ПО и сложность внесения изменений; 3. сложность планирования; годится лишь для небольших проектов. Модель жизненного цикла, основанная на формальных преобразованиях. Особенности: 1. Работа над проектом ведется как над единым целом 2. Специальная нотация формального описания требований, а также эскизной и проектной архитектуры. 3. Кодирование и тестирование заменяется процессом преобразования формальных спецификаций в исходные тексты программ или в исполняемый код. Достоинства: 1. формальные методы гарантируют соответствие ПО спецификациям требований, таким образом => вопросы надежности и безопасности решаются автоматически. Недостатки: 1. 2. 3. Большие системы сложно описать формальными спецификациями; Требуются специально подготовленные и высококвалифицированные разработчики; Есть зависимость от средств разработки и нотации спецификаций. Итерационная модель жизненного цикла. 1. Пошаговая 2. Спиральная Особенности итерационных моделей: 1. Разработка делится на несколько итераций, в рамках каждой из которых выполняются действия по созданию части системы (на разных итерациях части разные). 2. Количество итераций определяется заранее (в этом заключается важное отличие итерационных моделей от эволюционной). 3. Процессы не привязаны к определенным стадиям ЖЦ, что позволяет по мере необходимости, повторять некоторые работы, до тех пор, пока не будет получен нужный результат. 4. С каждой пройденной итерацией ПО наращивается, в него интегрируются новые разработанные компоненты. Спиральная модель. Особенности спиральной модели: 1. Общая структура действий на каждой итерации: планирование, определение задач, ограничений и вариантов решений, оценка предложенных решений и рисков, выполнение основных работ итерации и оценка их результатов; 2. Решение о начале новой итерации принимается на основе результатов предыдущей; 3. Возможно досрочное прекращение проекта в случае обнаружения его нецелесообразности; 4. В конце присутствует «миникаскад», завершающийся выпуском финальной версии ПО. Достоинства итерационных моделей (в сравнении с каскадной): 1. 2. 3. 4. полный учет требований заказчика, более полное его участие в проекте; равномерная нагрузка на группу разработчиков; раннее обнаружение проблем и их разрешение по мере возникновения; уменьшение рисков на каждой итерации. Недостатки итерационных моделей: 1. сложность планирования; 2. плохая документированность создаваемого ПО. Лекция 2. Проектирование с использованием моделей разного уровня абстракции. Одна из основных проблем создания больших систем это проблема сложности. В современном проектировании ИС различают 2 вида сложности: 1. Техническая. 2. Сложность управления. Техническая сложность вызывается: 1. Структурная сложность. Количество элементов и сложностью взаимосвязи между ними. 2. Техническая сложность может быть вызвана отсутствие полных аналогов, что ограничивает возможность использования типовых проектных решений. 3. Необходимость интеграции существующих и вновь разрабатываемых решений. 4. Функционирование в неоднородной среде, например на нескольких аппаратных платформах; 5. Высокими требованиями к надежности и производительности Сложность управления порождается следующими причинами: 1. Сильное воздействие внешней среды (политика, экономическая ситуация, контракты, много заинтересованных лиц, противоречивые требования); 2. большой коллектив разработчиков (много различных проектов и продуктов). 3. разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и традициям использования инструментальных средств; 4. значительная временная протяженность проекта. Основным подходом к преодолению сложности в современном проектировании является принцип декомпозиции. Тоесть сложная программная система должна быть разделена на небольшие подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от других. Существуют два основных принципа декомпозиции: 1. Количество связей между подсистемами должно быть минимальным («низкая связанность» или «слабое зацепление» – Low Coupling); 2. Степень взаимодействия внутри каждой подсистемы должна быть максимальной («сильная связность» или «высокая прочность» – High Cohesion). При разбиении системы на подсистемы необходимо добиться выполнения следующих условий: 1. Каждая подсистема должна инкапсулировать свое содержимое (скрывать его от других подсистем); 2. Каждая подсистема должна иметь четко определенный интерфейс с другими подсистемами, устанавливающий стандартные ограничения на взаимодействие. Существуют два основных подхода к декомпозиции систем: 1. функционально-модульный подход, основывается на функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и иерархии структур данных; 2. объектно-ориентированный, использующий объектную декомпозицию, то есть структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Подходы имеют много общего. Достоинством второго подхода является то, что есть единая иерархия, и нет необходимости отслеживать соответствие между двумя иерархиями функционально- модульного подхода. В рамках обоих подходов используется понятие архитектуры ПО. Архитектура ПО – набор ключевых правил, определяющих организацию системы: 1. Совокупность структурных элементов системы и связей между ними; 2. Поведение элементов системы в процессе их взаимодействия; 3. Иерархия подсистем, объединяющих структурные элементы; 4. Архитектурный стиль (типовой способ организации системы). Архитектура ПО многомерна. Различные представления архитектуры служат различным целям (модель «4+1»):  представление вариантов использования отображает функциональные возможности использования ПО ( содержит сценарии взаимодействия системы с внешней средой и роли, играемые пользователями ПО и внешними системами);  логическое представление отображает логическую организацию ПО (пакеты, подсистемы, классы, связи между ними);  представление реализации - отображает физическую структуру, то есть набор программных компонентов, интерфейсов связи между ними);  представление процессов отображает структуры потоков управления, моделирует аспекты параллельной работы ПО (потоки управления, нити);  представление размещения описывает физическое размещение компонента ПО , например на узлах вычислительной системы (узлы вычислительной системы, устройства, линии коммуникации). Каждое архитектурное представление – это модель системы с определенной точки зрения, в которой отражены лишь существенные аспекты и опущено все, что несущественно при данном взгляде на систему. Модель ПО – это формализованное описание системы ПО на определенном уровне абстракции. Для облегчения труда разработчиков и автоматизированного выполнения некоторых рутинных действий используются CASE-средства (Computer Aided Software Engineering). В настоящее время CASE-средства обеспечивают поддержку большинства процессов жизненного цикла ПО, что позволяет говорить о CASE-технологиях разработки ПО. CASE-технология – это совокупность методов проектирования ПО и инструментальных средств для моделирования предметной области, анализа моделей на всех стадиях жизненного цикла ПО и разработки ПО. Объектная модель является концептуальной базой объектно-ориентированного подхода (ООП). В основе ООП, лежит объектная декомпозиция. Объектная декомпозиция подразумевает описание статической структуры ПО в терминах объектов и связей между ними и динамическую структуру ПО в терминах обмена сообщениями между объектами. Основными принципами объектной модели являются: 1. 2. 3. 4. Абстрагирование Инкапсуляция Модульность Иерархия Дополнительные принципы: 1. типизация; 2. параллелизм; 3. устойчивость. Абстрагирование – это выделение наиболее существенных характеристик некоторого объекта, отличающих его от всех других видов объектов, важных с точки зрения дальнейшего рассмотрения и анализа. Абстракцией является любая модель, включающая наиболее важные, существенные или отличительные характеристики некоторого объекта. Основными абстракциями предметной области являются объекты и классы. Инкапсуляция – это локализация свойств и поведения в рамках единственной абстракции (рассматриваемой как «черный ящик»), эта абстракция скрывает реализацию за общедоступным интерфейсом. При инкапсуляции отделяется внутреннее устройство объекта от его внешнего поведения. Объектный подход предполагает, что внутренние ресурсы объекта, скрыты от внешней среды. Абстрагирование и инкапсуляция являются взаимодополняющими принципами. Модульность – это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне сильно сцепленных, но слабо связанных между собой подсистем (частей). Иерархия – ранжированная или упорядоченная система абстракций, расположение их по уровням в виде древовидной структуры. Элементы, находящиеся на одном уровне иерархии, должны также находиться на одном уровне абстракции. Основными видами иерархических структур сложных систем являются структура классов и структура объектов. Иерархия классов строится по наследованию, а иерархия объектов – по агрегации. Тип – точная характеристика некоторой совокупности однородных объектов, включающая структуру и поведение. Типизация – способ защититься от использования объектов одного класса вместо другого, или, по крайней мере, управлять таким использованием. Параллелизм – наличие в системе нескольких потоков управления одновременно. Объект может быть активен, т. е. может порождать отдельный поток управления, соответственно различные объекты могут быть активны одновременно. Устойчивость – способность объекта сохранять свое существование во времени или пространстве (в том числе и адресном К основным понятиям объектно-ориентированного подхода относятся: объект; класс; атрибут; операция; полиморфизм; наследование; компонент; пакет; подсистема; связь. 1. Объект – осязаемая сущность (tangible entity) – предмет или явление (процесс), имеющие четко выраженные границы, индивидуальность и поведение. Любой объект обладает состоянием, поведением и индивидуальностью. Состояние объекта определяется значениями его свойств (атрибутов) и связями с другими объектами, оно может меняться со временем. Поведение определяет действия объекта и его реакцию на запросы от других объектов. Поведение представляется с помощью набора сообщений. В разных состояниях реакция может меняться. Индивидуальность – это свойства объекта, отличающие его от всех других объектов. 2. Структура и поведение схожих объектов определяют общий для них класс. Класс – это множество объектов, связанных общностью свойств, поведения, связей и семантики. Любой объект является экземпляром класса. 3. Атрибут – поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства. 4. Операция – это услуга, которую можно запросить у любого объекта данного класса. Операции реализуют поведение экземпляров класас Результат операции зависит от текущего состояния объекта. Виды операций: a) Операции реализации– реализуют требуемую функциональность. b) Операции управления -управляют созданием и уничтожением объектов (конструкторы и деструкторы). c) Операции доступа – дают доступ к закрытым атрибутам. d) Вспомогательные операции (как правило закрытые)– служат для реализации операций других видов. 5. Полиморфизм – способность скрывать множество различных реализаций под единственным общим именем или интерфейсом. Интерфейс – это совокупность операций, определяющих набор услуг класса или компонента. 6. Компонент – это относительно независимая и замещаемая часть системы, выполняющая четко определенную функцию в контексте заданной архитектуры. 7. Пакет – это общий механизм для организации элементов в группы. Кроме того, пакетом также называется элемент модели, который может включать другие элементы. Каждый элемент модели может входить только в один пакет. Пакет является средством организации модели в процессе разработки, повышения ее управляемости и читаемости. Кроме того в некоторых случаях является единицей конфигурации. Подсистема – это комбинация пакета (может включать другие элементы модели) и класса (обладает поведением). Подсистема реализует один или более интерфейсов, определяющих ее поведение. Подсистема используется для представления компонента в процессе проектирования. Между элементами объектной модели существуют различные виды связей. 8. Соединение (link) – физическая или концептуальная связь между объектами, позволяющая им взаимодействовать. Виды соединений: 1. Ассоциация – связь между классами, описывающая группу однородных по структуре и семантике соединений между экземплярами классов. Соединения являются экземплярами ассоциации точно так же, как соединенные объекты являются экземплярами классов, связанных ассоциацией 2. Агрегация – более сильный тип ассоциативной связи между целым и его частями. 3. Композиция – усиленная агрегация, когда часть не может существовать без целого (пример: человек и голова). 4. Зависимость – связь между двумя элементами модели, при которой изменения в спецификации одного элемента могут повлечь за собой изменения в другом элементе. 5. Обобщение – это связь «тип – подтип». Оно реализует механизм наследования, позволяет поддерживать полиморфизм. 6. Наследование – это построение новых классов, на основе существующих с возможностью добавления или переопределения свойств и поведения. 7. Реализация – связь между контрактом (либо интерфейс, либо вариант использования) и его исполнением (классом, подсистемой, компонентой и т. д.). Основы гибкой разработки. Гибкие методы разработки поддерживают итеративную и эволюционную разработку с адаптивным планированием и инкрементальным получением конечного ПО. Базовые приемы: 1. Короткие и фиксированные по времени итерации 2. Эволюционное уточнение планов, требований и проектных решений. В качестве гибкого процесса может рассматриваться любой итеративный метод, например унифицированный процесс. Другими примерами гибких методов являются методы управления проектами, например Scrum, XPrograming, Test Drive Development Манифесты и основные принципы гибкого процесса: Манифест – набор основных идей, позволяющих ставить правильные акценты при разработки ПО. 1. 2. 3. 4. Люди и взаимодействие, а не процессы и средства. Работоспособное программное обеспечение, а не исчерпывающая документация. Сотрудничество с потребителями, а не обсуждение контракта Реакция на изменение, а не следование плану. Основные принципы гибкого процесса: 1. Наивысший приоритет удовлетворить потребности пользователей путем раннего и непрерывного предоставления работоспособного программного обеспечения, реализующего требуемые функции. 2. Необходимость изменений допускается даже на поздних этапах выполнения проекта. 3. На протяжении всего проекта специалисты в предметной области, и разработчики должны постоянно работать вместе. 4. Спонсоры, разработчики и пользователи должны поддерживать устойчивый темп развития проекта независимо друг от друга. 5. Обеспечение простоты (чем проще используемое решение, тем меньше работы нужно сделать для его реализации и поддержки. 6. Наилучшую архитектуру и проектное решение а так же требования могут разработать только самоорганизующиеся группы разработчиков Понятие гибкого моделирования. Основная цель моделирования в данном контексте заключается в том, чтобы понять, а не задокументировать (то есть моделирование должно позволить быстрее (по сравнению с кодированием) исследовать возможные альтернативы и наметить путь получения качественных проектных решений. Гибкий унифицированный процесс. По определению гибкий унифицированный процесс (в дальнейшем просто унифицированный процесс) детерминированный набор необязательных видов деятельности и артефактов. Однако на практике унифицированный процесс является скорее адаптивным и гибким, что обеспечивается следующим образом: 1. Выбирается лишь небольшой набор видов деятельности и артефактов унифицированного процесса. Так как все артефакты унифицированного процесса являются не обязательными – следует избегать их создание, если нельзя получить лучшее качество. 2. В силу итеративного характера унифицированного процесса анализ требований и проектирования не завершается к моменту начала реализации. Требование и модель проектирования адаптивно настраиваются в течении нескольких итераций на основе обратной связи. 3. Применение языка UML вместе с приемами гибкого моделирования. 4. Детальное планирование выполняется итеративно от итерации к итерации. К отличительным особенностям унифицированного процесса можно также отнести следующие принципы: 1. 2. 3. 4. 5. 6. Оценка рисков и ключевых моментов проекта на ранних итерациях. Постоянный отклик пользователей. Обратная связь и модификация требований. Построение общей базовой архитектуры на ранних итерациях. Постоянный контроль качества, раннее и качественное тестирование в реальных условиях. Применение прецедентов. Визуализация программной модели с помощью uml. Фазы унифицированного процесса. В рамках унифицированного процесса работа над проектом включает 4 фазы: 1. Начало (inception) Определение начального видения проекта, прецедентов, определение сложности задачи. 2. Развитие (elaboration). Формирование более полного видения проекта, итеративная реализация базовой архитектуры. Создание наиболее критичных компонентов. Идентификация основных требований. Получение более реалистичных оценок. 3. Конструирование (construction). Итеративная реализация оставшихся менее критичных и простых компонентов, подготовка к развертыванию. 4. Передача. Бетта тестирование и развертывание. Веха (milestone) – конец итерации, где получены важные решения и оценки. Release – стабильно работающая часть ПО. Инкремент – разница между релизом и двух последующих итераций. Finale production release – система готова для коммерческого использования. Цикл разработки итерация Sinal production release release Фазы Inseption elabaration milestone construction transition Дисциплины унифицированного процесса. Дисциплина – набор видов деятельности и связанных с ними артефактов в рамках одного этапа работы над проектом. Артефакт – любой результат работы, например код, текстовые документы, диаграммы, модели… Дисциплины: 1. Бизнес моделирование. – эта дисциплина подразумевает разработку модели предметной области (domain model), которая является визуальным представлением наиболее важных сущностей из предметной области и их взаимосвязей для разрабатываемых приложений. 2. Требование - в рамках этой дисциплины создается модель прецедентов и дополнительная спецификация, которая отражает функциональные и нефункциональные требования. 3. Проектирование – в этой модели создается модель проектирования, которая отображает программные объекты. 4. Реализация – в рамках этой дисциплины выполняется программирование и построение дисциплины, но не ее развертывание. 5. Тестирование, развёртывание, конфигурация и управление изменениями, …, окружение. Окружение предполагает установку необходимых средств и настройку процессов для данного проекта. Итерация, мини-проект включающий работу по большинству дисциплин, в рамках которого получен устойчивый работающий код UP Disciplines Business Modeling Requirements Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Определение требований и начальная фаза унифицированного процесса. Начальная фаза – краткий период формирования общего видения и рамок проекта. Он включает в себя анализ примерно 10% прецедентов, осмысление основных нефункциональных требований, создание бизнес плана, подготовка среды разработки, чтобы на следующей стадии развития можно было приступать к программированию. Важно понимать, что определение всех требований не является задачей начальной фазы. Большая часть анализа требований приходится на стадию развития. При этом анализ требований выполняется параллельно с созданием окончательного кода и его тестирования. Артефакты начальной фазы: В контексте начальной фазы все артефакты начальной фазы не являются завершенными и будут доработаны на других итерациях. Начальная фаза может включать даже программирование, то есть создание прототипов (Особенно относящихся к интерфейсу пользователя.), обеспечивающих обоснование правильности идеи. Следующие артефакты могут создаваться на начальной фазе или в начале фазы развития: 1. Видение и финансовые оценки проекта. Описываются общие задачи и ограничения, оценивается стоимость проекта и приводится заключение. 2. Модель прецедентов. Описываются функциональные требования, на начальной стадии (фазе) определяются имена всех прецедентов, и 10% из них описываются подробно. 3. Дополнительная спецификация. Описываются другие требования, в основном не функциональные, если данный артефакт используется на начальной стадии, то в нем формулируются только те нефункциональные требования. Которые сильнее прочих влияют на архитектуру проекта. 4. Словарь терминов. Содержит ключевую терминологию по данной предметной области и словарь. 5. Перечень рисков и план управления ими. Описываются экономические, технически риски, риски, связанные с организацией и планированием ресурсами, а также методы их преодоления. 6. Прототипы и обоснование идеи. Этот артефакт приводится для лучшего осмысления проекта и оценки технических идей. Как правило используется, если есть несколько вариантов и нужно выбрать один из них. 7. План итерации. Описывает что предстоит делать на первой итерации фазы развития. 8. План на следующую фазу и план разработки. Приблизительный план фазы развития. Описания средств, человеческих ресурсов, необходимых навыков и других ресурсов. 9. Набор инструментов. Описание этапов унифицированного процесса и артефактов данного проекта. Артефакт – не просто документ или диаграмма, а процесс осмысления, анализа и разработки с последующей запись результатов во избежание повторения или забывания. Определение требований: Требование – возможности или условия, которым должны соответствовать система или проект. Основной задачей этапа определения требований является поиск, обсуждение и фиксация того, что действительно требуется от системы в форме понятной и клиентам, и членам команды разработчиков. В контексте унифицированного процесса изменение требований считается главным двигателем прогресса. Таким образом унифицированный процесс предлагает систематизированный подход к поиску, документированию, организации и отслеживанию изменчивых требований к системе. Типы и категории требований. Существуют несколько принципов систематизации требований. Самый часто используемые это стандарт ISO 9126, и во многом аналогичный ему модель FURPS+. Хотя можно использовать любой принцип в рамка унифицированного процесса принято пользоваться моделью FURPS+. Согласно модели FURPS+ требования делятся на следующие категории: 1. Функциональные требования. Functionality Свойства, возможности и вопросы безопасности. 2. Удобства. Usability. Человеческий фактор, справочная система и документация. 3. Надежность Reliability. Частота сбоев, возможность восстановления и предсказуемость поведения. 4. Производительность. Performance. Время отклика, точность, доступность, использования ресурсов. 5. Возможность поддержки. Supportability. Адаптивность, соответствие международным стандартам, 6. Символ “+” означает дополнительные (не определяющие) факторы: A. реализация – требования к ресурсам, языки и средства, аппаратное обеспечение. B. Интерфейс – ограничение, накладываемое необходимостью взаимодействия с внешними системами. C. Операция – управление системой и ее параметрами D. Юридически вопросы, например, авторское право. Категории данной модели используются при формулировании требований, чтобы не упустить важные аспекты жизнедеятельности системы. Некоторые из этих требований (удобство, надежность, производительность, возможность поддержки называются атрибутами качества.) Не смотря на то, что атрибуты качества не являются функциональными требованиями они оказывают значительное влияние на архитектуру системы. Кроме того, существует более грубое деление (классификация) требований на функциональные и не функциональные. Функциональные требования относятся к поведению системы, нефункциональные это все остальные. В унифицированном процессе предусмотрены несколько артефактов, связанных с требованиями: 1. 2. 3. 4. 5. Модель прецедентов. Дополнительная спецификация. Словарь терминов. Видение. Бизнес правила. Описание прецедентов в итеративном процессе моделирования. Прецеденты – рассказы об использовании системы в процессе решения поставленных перед ней задач. Под прецедентами мы будем понимать не диаграммы, а текстовое описание. Основной сложности в описании прецедентов является выбор нужного уровня детализации. Исполнитель (actor) – сущность, обладающая поведением, компьютерная система или организация. Сценарий – специальная последовательность действий или взаимодействий, между исполнителями и системой. Это один конкретный сценарий использования системы либо один проход прецедента (успешный или нет). Тогда, прецедент (use case) — это набор взаимосвязанных успешных и неудачных сценариев, описывающий использование системы исполнителем для решения одной из задач. Например, рассмотрим свободный формат прецедента, включающего некоторые альтернативные сценарии. Модель прецедентов. Как артефакт унифицированного процесса модель прецедентов состоит из диаграмм прецедентов, текстов описаний прецедентов, системных диаграмм последовательностей и описание операций. Модель прецедентов Диаграмма прецедентов Имена операций Видение Временные рамки, исполнители, свойства Тексты описаний прецедентов Словарь (термины, атрибуты) Системные события Описание операций Системные диаграммы последовательно стей Дополнительная спецификация (нефункциональные требования, атрибуты качества) Сами по себе прецеденты не имеют отношения к объектно-ориентированной разработке и проектированию, однако обеспечивают важнейшую начальную информацию для классического объектно-ориентированного анализа и проектирования (ООА/П) Более того: прецеденты упрощают этап формулировки требований для всех заинтересованных лиц. Описания прецедентов должны быть ориентированы на цели и задачи пользователя и в зависимости от реальных потребностей позволяют варьировать уровень сложности и формальности. Типы исполнителей. К числу исполнителей может относится сама система, если она вызывает службы других систем. Также существуют специальные исполнители – время, который вводится в том случае, если какиелибо действия должны осуществится по расписанию или через заданный промежуток времени. Во всех остальных ситуациях существует различают три типа внешних по отношению к разрабатываемой системе исполнителя: 1. Основной исполнитель (primary) – его задача выполняется с использованием системы. Этот тип используется для определения целей пользователя, на основе которых формулируются прецеденты. 2. Вспомогательный исполнитель (supporting) – обслуживает систему, например предоставляет информацию. Используется для определения внешних интерфейсов и протоколов. 3. Закулисный исполнитель (offstage) – заинтересован в реализации прецедента, но не является основным или вспомогательным исполнителем. Форматы представления прецедентов: 1. Сжатый – аннотация в виде одного абзаца. Обычно описываю только главный успешный сценарий. Используется на стадии анализа требований для быстрого определения задач и масштабов системы. 2. Свободный. Неформальный стиль описания, занимает несколько абзацев и охватывает различные сценарии. Используется, как и первый вариант. 3. Развернутый – наиболее подробный стиль описания, описываются все шаги и варианты развития сценария, а также предусловия и результаты. Применяется после определения задач системы. Когда множество прецедентов уже написаны в сжатом формате. В развернутом формате представляют около 10% самых важных для приложения прецедентов. Критерии выделения полезных прецедентов. 1. Критерии одобрения руководством. 2. Критерий EBP – элементарного бизнес процесса. 3. Критерий размера – Определение не функциональных требований к проектируемой системы Для определения всех требований одного описания прецедентов не достаточно. К числу артефактов требований (модель прецедентов) относятся: 1. Дополнительная спецификация. Описывает требования к отчетам, документированию, поддержки, лицензированию и т.д. 2. Словарь терминов. Содержит термины и определения. 3. Документ видение. (vision) Описывает важнейшие идеи, положенные в основу разрабатываемой ИС. 4. Бизнес-правила. Устойчивые правила или политики, применяемые в предметной области. На начальной стадии проектирования и разработки не предполагается проведения детального анализа требований. Более того за долго до определения и анализа всех требований предполагается написание кода и его тестирование. При этом требования могут определяться (изменяться и уточнятся) в результате программирования и тестирования. Однако в самом начале необходимо выделить основные высокоуровневые функциональные и не функциональные требования, т.к. они в значительной степени определяют архитектурные решения. Дополнительная спецификация. Не функциональные требования, связанные с прецедентами должны быть представлены в разделе специальные требования в описании прецедентов. (обязательно). Однако допускается дублирование дополнительной спецификации (ДС). В дополнительную спецификацию можно включать следующие элементы: 1. Требования согласно модели FURPS+ FURPS — классификация требований к программным системам. Образована от первых букв слов:  Functionality — Функциональные требования. Являются основными, по этим требованиям строятся диаграммы вариантов использования (Use case diagram).  Usability — Требования к удобству использования.  Reliability — Требования к надежности.  Performance — Требования к производительности.  Supportability — Требования к поддержке. 2. Отчеты. 3. Ограничения на аппаратные и программные средства. 4. Ограничения, накладываемые на процесс разработки и проектирования. Выбор или использования тех или иных средств разработки проектирования. 5. Международные ограничения. 6. Документация. (Требования или состав). (Пользовательская документация, руководство по установке, проектированию, составление справки…) 7. Соглашение о лицензировании и другие юридические соглашения. 8. Стандарты. Технически, обеспечения качества и безопасности. 9. Физические требования к окружению. Температурный режим эксплуатации, ограничения на вибрацию. 10. Операционные требования. Способ обработки ошибок, частота архивации, бекапирования. Технический режим обслуживания. 11. Информация из предметной области. Информацию, которую обязательно необходимо уточнить, но которой нет в описании прецедентов. Документ-видение. Шаблоном этого артефакта может является следующий пример: 1. Введение. Общая краткая характеристика информационной системы. 2. Позиционирование. 2.1. Экономические предпосылки. Насколько целесообразно начинать проект. Есть ли соответствующая ниша на рынке. 2.2. Формулировка проблемы. Список проблем, которые хочется (или надо) решить в рамках новой информационной системы. 2.3. Место системы. Для кого предназначена ИС. Ее свойства и отличия от продуктов конкурентов. 3. Заинтересованные лица. 3.1. Заинтересованные лица не являющиеся пользователями системы 3.2. Пользователи системы. 3.3. Основные задачи высокого уровня и проблемы заинтересованных лиц. Цель высокого уровня Приоритет Проблемы и замечания. Текущие решения. Для заполнения таблицы лучше всего отталкиваться от информации из раздела описания прецедентов, отображающего потребности заинтересованных лиц. 3.4. Задачи уровня пользователя. Список исполнителей и их задач, разработанный в процессе моделирования прецедентов. 4. Обзор системы. Сопровождается диаграммами, построенными на основе диаграмм прецедентов. То есть все они должны отображать взаимодействие внешних исполнителей с системой. 4.1. Преимущество системы. Указываются задачи, их решения и преимущества, но на более высоком уровне, чем при описании прецедентов. Свойства Преимущества для заинтересованных лиц. 5. Основные свойства системы. Описываются сжато путем перечисления основных функций. Основным назначением документа-видение заключается в обобщении модели прецедентов и дополнительной спецификацией. Используется для ввода в проект новых участников и обратной связи с заказчиком. Системные свойства. Прецеденты не единственный способ выражения функциональных требований. Функции системы можно выразить через системные свойства. В контексте унифицированного процесса системное свойство это наблюдаемое из вне и обеспечиваемая системой функция, которая напрямую удовлетворяет потребности заинтересованного лица. Свойство отличается от нефункционального требования лингвистической формой. Система будет выполнять <Свойство Х>. Пример для нефункционального требования: Система должна работать под управлением определенной ОС. Для формирования списка свойств используется двухуровневая иерархия с таким расчетом, что если в документе-видение окажется более десяти свойств, то некоторые из них группируются и формулируются на более высоком уровне абстракции. Бизнес правила. В рамках унифицированного процесса используются правила предметной области, которые определяют процессы, происходящие в предметной области и являются требованиями ко всем информационным системам в данной предметной области. Данный артефакт влияет на другие требования к системе, обычно определяемые прецедентами, т.к. проясняет многие не ясные моменты. Оформляется в виде таблицы: Идентификатор (ID) Правило1 Правила Что можно и чего нельзя делать Частота изменения Как часто менять. Источник Законы или политика компании Фаза развития унифицированного процесса проектирования и моделирования предметной области. Фаза развития. Фаза развития – первая последовательность итераций, в течении которой решаются следующие задачи: 1. Реализуются и тестируются базовые архитектурные элементы. 2. Изучаются и стабилизируются большая часть требований. 3. Обосновываются и устраняются основные риски. Фаза развития не является стадией проектирования или подготовки к реализации, как это имеет место быть в рамках каскадного процесса. На этой стадии создаются не прототипы, а полностью разрабатывается некоторый фрагмент системы (фрагменты). Основными артефактами стадии развития являются: 1. Модель предметной области. (Визуализация понятий предметной области) 2. Модель проектирования. (набор диаграмм, описывающих логику проектного решения, к ним относятся диаграммы программных классов, диаграммы взаимодействия объектов и диаграммы пакетов.) 3. Описание программной архитектуры. Это документ, в котором рассмотрены основные архитектурные моменты и способы их реализации. В нем приводятся основные идеи проектного решения и обосновывается их целесообразность для данной системы. 4. Модель данных – схема базы данных и стратегия отображения объектов в необъектное представление. 5. Прототипы интерфейса пользователя – описание интерфейсов и способов навигации. Планирование итераций фазы развития. Требования и итерации систематизируются в соответствии с рисками, границами и критичностью. Риск – техническая сложность или другой фактор, например, отсутствие информации о необходимых затратах или ресурсах. Границы – определяются все основные части системы. Критичность – этот параметр говорит о том, что в первую очередь реализуются те функции, которые имеют важное значения для системы. Приведенные критерии используются для распределения по итерациям. Кроме того, прецеденты или их отдельные сценарии ранжируются с целью определения приоритетов при реализации. На начальных итерациях реализуются прецеденты с высоким рейтингом. В среднем фаза развития состоит из 2-4 итераций длительностью от двух до шести недель каждая. Время каждой итерации жестко фиксируются. Время жестко фиксируется так, чтобы к ее завершению был получен устойчивый протестированный код. Если некоторые требования не укладываются в сроки итерации, то они могут быть перенесены на следующую итерацию. То есть делается акцент на быструю реализацию не большого функционала, а не на построение всей системы. Модель предметной области. (МПО) Модель предметной области отображает основные с точки зрения моделирующего концептуальные классы понятий предметной области. Каждой итерации соответствует своя модель предметной области, отражающая реализуемый на данном этапе сценарий прецедентов. Таким образом МПО эволюционирует в процессе разработки системы. Модель предметной области связано с моделью проектирования. Особенно программными объектами, относящимися к уровню предметной области. Основные понятия МПО отображаются в словаре терминов. Модель предметной области отображает классы понятий реального мира, а не программные компоненты. На языке UML модель предметной области представляется в виде набора диаграмм классов, на которых не определены никакие операции. Модель предметной области может отображать следующие: 1. Объекты предметной области или концептуальные классы. 2. Ассоциации между концептуальными классами 3. Атрибуты концептуальных классов. В модели предметной области не используются: 1. артефакты программирования (окна, БД) (если не программное средство) 2. Обязанности, методы Концептуальный класс Концептуальный класс – представление идей или объекта. Его можно рассматривать в терминах символов, содержания и расширения. 1. Символы – слова или образы, представляющие концептуальный класс. 2. Содержание – определение концептуального класса. 3. Расширение – набор примеров, к которым применим этот концептуальный класс. Концептуальные классы могут вообще не содержать атрибутов и играть в предметной области чисто поведенческую, а не информационную роль. Если некоторый объект Х в реальном мире не является числом или текстом, значит это скорее концептуальный класс, чем атрибут. Класс описания. Класс описания – содержит информацию о свойствах некоторого объекта. Класс описания вводится в следующих случаях: 1. Существует необходимость описания элементов или служб, не зависимо от существования конкретных экземпляров этих объектов. 2. Если удаление экземпляров, описываемых им понятий, приводит к потери важной информации в связи с некорректной ассоциацией этой информации с удаляемым экземпляром. 3. Если при наличии понятия устраняется дублирования информации. Ассоциация Ассоциация – это отношение между экземплярами классов, отражающие некоторые значимые и полезные связи между ними. В модель предметной области целесообразно включать: 1. Ассоциации, знания о которых нужно сохранять в течении некоторого периода. 2. Ассоциации, производные от содержащихся в списке стандартных ассоциаций. 3. Список стандартных ассоциаций. А является транзакцией, которая связана с другой транзакцией Б. Пример: платеж наличными – продажа. А является элементом транзакции Б. Пример: Элемент продажи – продажа. А является товаром или услугой для транзакции Б. Рейс – резервирование. А является ролью, связанной с транзакцией Б. Пример: Покупатель – платеж. А является физической или логической частью Б. Пример: Место – самолет А физически или логически содержится в Б. Пример: Товар – полка, пассажир – самолет. А является описанием Б. Описание товара – товар. А является организационной единицей Б. Пример: Отдел – магазин. А использует, управляет или владеет Б. Пример: Игрок – объект. А следует за Б. Пример: Клетка – клетка. Атрибут Атрибут – логическое значение данных объекта. В модель предметной области включаются те атрибуты, для которых определены соответствующие требования или для которых необходимо хранить определенную информацию. Идентификация системных событий и описание операций в процессе проектирования. Системные диаграммы последовательности. (СДП) Диаграммы последовательностей — это артефакт, иллюстрирующий входные и выходные события, которые связаны с разрабатываемой системой. Входными данными для создания системных диаграмм последовательностей служит описание прецедентов и системные события. Операции, отображаемые на СДП могут также анализироваться в описании операций и словаре терминов, они служат отправной точкой для проектирования взаимодействия объектов. На СДП для определенного хода событий, описанного в прецеденте отображаются внешние исполнители, которые взаимодействуют непосредственно с системой, сама система, как «черный ящик», а также системные события, инициируемые исполнителями, при этом порядок событий должен соответствовать их последовательности в описании прецедента. Время на диаграмме последовательности изменяется сверху в низ. Прецеденты определяют, как внешние исполнители взаимодействуют с программной системой (система может быть не только программной). В процессе этого взаимодействия исполнителем генерируются системные события, которые представляют собой запросы на выполнение некой системной операции. В состав языка UML входят обозначения, для создания диаграмм последовательностей, С помощью которых можно иллюстрировать взаимодействие исполнителя c системой и операции, которые при этом инициируются. СДП – это схема, которая для определенного сценария прецедента показывает генерируемые внешними исполнителями события, их порядок, а также события, генерируемые внутри самой системы. (имеются в виду те события, которые система отдает в ответ). При этом все системы рассматриваются как черный ящик. Назначение данной диаграммы – отображение событий. передаваемых (и принимаемых) системой через ее границы. Диаграмма последовательностей создается для основного успешного сценария прецедента, а при необходимости и для наиболее существенных и сложных альтернативных сценариев. Программная система реагирует на три типа событий: 1. Внешние события, инициируемые исполнителями (людьми или другими системами). 2. Таймерные события. 3. Сбои или исключения. На СДП может содержаться любой из указанных типов событий. Перед проектированием логики работы ИС определяется ее поведение, как черного ящика. Поведение системы представляет собой описание того, какие действия выполняет система без определения механизма их реализации. Составными частями такого описания являются: 1. Диаграммы последовательностей. 2. Прецеденты. 3. Описание системных операций. Системные события на СДП нужно именовать на абстрактном уровне, а не в терминах входных физических носителей данных или управляющих элементах пользовательского интерфейса. Имя системного события лучше всего начинать с глагола, это повышает читабельность имен и подчеркивает направленность событий. На СДП термины (операции, параметры, возвращаемые значения) отображаются в краткой форме, поэтому на этапе проектирования могут понадобится некоторые пояснения этих терминов. Если значения терминов не объясняются на языке прецедентов, то их надо ввести в словарь терминов. Как правило СДП строится только для тех сценариев, которые будут реализовываться на следующих итерациях. Описание операций. Описание системных операций определяют детальное поведение системы в терминах изменения состояния объектов модели предметной области после выполнения системных операций. Основными входными данными для описания операций являются системные операции, определенные для СДП, а также модели предметной области. В свою очередь эти описания служат входными данными в процессе проектирования, поскольку описывают изменения программных объектов или баз данных. Описание операций содержит разделы: 1. 2. 3. 4. Операции Ссылки Предусловия Постусловия Описания определяются для системных операций (системными называются операции, входящие в открытый интерфейс системы, для обработки входных системных событий, которые система выполняет как черный ящик. Системные операции идентифицируются на основе системных событий. СДП отображают системные события или входные и выходные сообщения, связанные с системой. Входные системные события требуют обработки с помощью системных операций, они обрабатываются с помощью объектно-ориентированных методов. Весь набор системных операций, выполняемых в процессе всех прецедентов определяют открытый системный интерфейс в ракурсе которого система рассматривается как единый компонент или класс. Постусловия писания операций. В разделе постусловия декларируется изменение состояния объектов в модели предметной области. К таким изменениям относятся: 1. Создание или удаление экземпляра 2. Формирование или разрыв ассоциации 3. Изменение атрибута Постусловие — это не действия, выполняемые в процессе операции, а лишь декларация об изменение состояния объектов после выполнения операции. Постусловия формулируются в контексте модели предметной области. Их желательно формулировать в прошедшем времени, чтобы подчеркнуть уже произошедшие изменения. В процессе составления описания операций в модели предметной области зачастую приходится вводит новые концептуальные классы, атрибуты, операции. При итеративной и эволюционной разработке все артефакты анализа и проектирования рассматриваются как неполные и незавершенные. Они эволюционируют в процессе разработки системы. Наиболее типичной ошибкой при составлении описаний является не включение формирования операций в число постусловий операции. Установка ассоциаций играет особо важную роль при составлении операций. Динамическое проектирование с использованием Динамическое проектирование – взаимодействие объектов разных классов. Диаграммы последовательности и коммуникации. Термин диаграмма взаимодействия используется для общего названия двух конкретных типов диаграмм: последовательностей и коммуникаций. Диаграммы последовательностей иллюстрируют взаимодействие объектов в следующей форме. Класса А содержит атрибут doOne, класс Б содержит атрибуты doTwo, doThree public class A private B me B = new B(); public void doOne (); myB.doTwo(); meB.doThree(); Рисунок Диаграммы коммуникаций иллюстрируют взаимодействия объектов в формате графа или сети. Основные обозначения диаграмм последовательностей. Участники взаимодействия обозначаются следующим образом: Неименнованные Именнованные Экземпляр шаблонного класса, предназначенный для хранения объектов Sales – имя Единичный экземпляр класса, выбранный из набора объектов коллекции Статический метод может показывается таким образом: Синтаксис для отображения сообщений. Диаграммы взаимодействия отображают взаимодействия, передаваемые от одних объектов к другим. В языке Uml существует стандартный синтаксис для обозначения передачи сообщений. Получатель = сообщение (параметр: тип параметра): тип Получателя Первое сообщение называется начальным и может дополнительно обозначаться кружком. На диаграммах последовательностей можно отображать фокус выполнения с использованием блока выполнения или блока активации. (прямоугольники поверх линии жизни. Существуют два различных способа отображения возврата значения при передачи сообщения: 1. С использованием синтаксиса отображения сообщения. 2. С использованием возвратной линии сообщения. Если требуется отобразить передачу сообщений самому себе, то используется вложенный активационный блок. Создание экземпляров объектов: Сообщение сreate с заштрихованной стрелкой интерпретируется для таких языков как java, с++ и т.д. как оператор new с вызовом конструктора. Сообщение о создании не обязательно должно иметь имя create, однако это не опциональная традиция. Уничтожение делается следующим образом: Фреймы — это области или объекты диаграмм, содержащие оператор или метку (например, loop) и условное отображение. Синонимы фреймы диаграмм, фреймы взаимодействия. Фрейм обозначается прямоугольником, сверху с лева оператор. Условное выражение – в квадратных скобках поверх линии жизни. Итерационный процесс для отображения объектов Любую диаграмму взаимодействия можно поместить специальный фрейм с оператором sd и присвоить ей имя. Это делается для обеспечения возможности ссылки на эту диаграмму с помощью другого фрейма с оператором ref. Сообщение для класса с использованием статического имени. Обращение к классу или вызов статического метода отображается на диаграмме последовательности путем представления объекта получателя в виде класса, а точнее экземпляра метакласса. Полиморфные сообщения Полиморфизм – изменчивость поведения некоторых имени в зависимости от различных параметров. 2-я картинка – полиморфное сообщение Каждая диаграмма под каждое полиморфное сообщение Асинхронные вызовы Если участник маркирован ка Б, то он активный участник (все методы в отдельном потоке) Сообщение старт и create является синхронны. Продолжаем только после того, как операция старт была завершена. Асинхронное сообщение run. Не дожидаясь пока кусок выполнится мы передаем сообщение deleteLate, эта информация поступает сразу после запуска, не дожидаясь завершения результата метода. Статическое проектирование с использованием UML. Для статического проектирования используется та же система обозначений UML, что и для описания модели предметной области – диаграммы классов. Однако в процессе проектирования диаграммы классов - отображают взаимодействие программных объектов или классов. Для наглядности и отличия ракурсов проектирования будем использовать термин диаграммы классов проектирования, как синоним диаграмм классов в процессе статического проектирования. Элементами модели проектирования по мимо классов являются еще и другие «объекты», поэтому вводится понятие классификатора. Классификатор – элемент модели который описывает поведенческие и структурные свойства. В рамках унифицированного процесса классификаторами являются классы, интерфейсы, прецеденты и исполнители. Для визуализации структурных и поведенческий свойств все классификаторы используют атрибуты (структурное свойство) и операции (поведенческое свойство). Атрибуты классификатора можно представлять следующим образом: 1. С использованием имени атрибута 2. С помощью линии ассоциации 3. Комбинированный подход Формат описания атрибута Формат описания атрибута имеет следующий вид: Область_видимости имя : тип кратность = значение_по_умолчанию {строка свойств} Если область видимости не указана явно, то предполагается, что атрибут относится к закрытой области видимости. Представление атрибута с помощью линии ассоциации на диаграммах класса проектирования осуществляется следующим образом: 1. Стрелка навигации – указывает направление связи от объекта источника к целевому объекту, это значит, что объект источник в качестве своего атрибута содержит целевой объект. 2. Кратность – указывается со стороны целевого объекта 3. Имя роли - Определяет имя атрибута и указывается только со стороны целевого объекта 4. Имя ассоциации отсутствует. Атрибут обозначается с использованием имени, если относится к типом данных и линией ассоциации во всех других случаях. (рекомендательный характер) Термин «тип данных» применим к тем объектам, для которых уникальная тождественность не является важной. Необходимо понимать, что различие в обозначении атрибутов существенно только в процессе проектирования (для выставления визуальных акцентов и большей наглядности диаграмм). В программном коде все атрибуты всегда записываются однообразно. Рядом с линией ассоциации в соответствии с описанием атрибута можно указывать строку ограничений в фигурных скобках. Представление атрибутов коллекций. Class A { List <Item> items; } Блоки примечаний используется в трех случаях: 1. Примечание – некий произвольны текст. 2. Для указания ограничений, если текст заключен в фигурные скобки. 3. Для указания тела метода. Формат операции: Область_видимости имя (список_параметров): тип_фозвращаемого_ значения {строка свойств} Если область видимости не указана, то она считается public. Операции — это не метод, а объявление с указанием имени, параметров, строки свойств и т.д. Метод – реализация операции. Для того, чтобы правильно показывать методы. Ключевые слова – текстовые представления категории или метомодели, самые часто используемые слова: <<актер>>, <<interface>>, <<abstract>>, {ordered} <<>> {} “” –это возможные обозначения. Стереотип – отображает уточнение существующего понятия моделирования или проектирования. В отличие от ключевых свойств допускается определение пользовательских стереотипов. Стереотип определяет множество дескрипторов или меток, с использованием синтаксиса атрибутов. Если элемент модели отмечен некоторым стереотипом, то все метки стереотипа применяется и к этому стереотипу. Пример определения стереотипа и пример его использования: Стереотип расширяет такой класс как Element Свойство – именованное значение, описывающая характеристику элемента и имеющая семантическое значение. Часть свойств определены стандартом UML, остальные могут быть определены пользователем самостоятельно. Текстовое представление свойств выглядит следующим образом: {Имя = значение1, имя2 = значение2} Зависимость (отношение зависимости) Элемент клиент обладает знанием об элементе поставщике. (пунктирная стрелка от клиента к поставщику) Зависимость есть когда: 1. Клиент обладает атрибутом типа элемента поставщика. 2. Происходит отправка сообщения поставщику посредством: a. Атрибутов b. Переменных – параметров c. Локальной переменной d. Глобальной переменной e. Вызовом статических членов. 3. Когда происходит получение параметра с типом элемента поставщика 4. Поставщик является супер классом или интерфейсом. Для избегания дублирования на диаграммах классов проектирования UML следует использовать обозначения зависимости для отображения глобальных переменных, переменных параметров, локальных переменных и статических методов, когда есть их вызов. Во всех остальных случаях – линиями другого типа. Организация разработки ИС. Каноническое проектирование ИС Организация канонического проектирования ИС ориентирована на использование главным образом каскадной модели жизненного цикла ИС. Стадии и этапы работы описаны в стандарте ГОСТ 34.601-90. В зависимости от сложности объекта автоматизации и набора задач, требующих решения при создании конкретной ИС, стадии и этапы работ могут иметь различную трудоемкость. Допускается объединять последовательные этапы и даже исключать некоторые из них на любой стадии проекта. Допускается также начинать выполнение работ следующей стадии до окончания предыдущей. Стадии и этапы создания ИС, выполняемые организациями-участниками, прописываются в договорах и технических заданиях на выполнение работ: Стадия 1. Формирование требований к ИС. На начальной стадии проектирования выделяют следующие этапы работ:  обследование объекта и обоснование необходимости создания ИС;  формирование требований пользователей к ИС; оформление отчета о выполненной работе и тактико- технического задания на разработку.  Стадия 2. Разработка концепции ИС.     изучение объекта автоматизации; проведение необходимых научно-исследовательских работ; разработка вариантов концепции ИС, удовлетворяющих требованиям пользователей; оформление отчета и утверждение концепции. Стадия 3. Техническое задание.  разработка и утверждение технического задания на создание ИС. Стадия 4. Эскизный проект.   разработка предварительных проектных решений по системе и ее частям; разработка эскизной документации на ИС и ее части. Стадия 5. Технический проект.     разработка разработка разработка разработка проектных решений по системе и ее частям; документации на ИС и ее части; и оформление документации на поставку комплектующих изделий; заданий на проектирование в смежных частях проекта. Стадия 6. Рабочая документация.  разработка рабочей документации на ИС и ее части;  разработка и адаптация программ. Стадия 7. Ввод в действие.         подготовка объекта автоматизации; подготовка персонала; комплектация ИС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями); строительно-монтажные работы; пусконаладочные работы; проведение предварительных испытаний ; проведение опытной эксплуатации ; проведение приемочных испытаний. Стадия 8. Сопровождение ИС.   выполнение работ в соответствии с гарантийными обязательствами; послегарантийное обслуживание. Oбследование - это изучение и диагностический анализ организационной структуры предприятия, его деятельности и существующей системы обработки информации. Материалы, полученные в результате обследования, используются для:    обоснования разработки и поэтапного внедрения систем; составления технического задания на разработку систем; разработки технического и рабочего проектов систем. На этапе обследования целесообразно выделить две составляющие: определение стратегии внедрения ИС и детальный анализдеятельности организации. Основная задача первого этапа обследования - оценка реального объема проекта, его целей и задач на основе выявленных функций и информационных элементов автоматизируемого объекта высокого уровня [ 3.1 ] . Эти задачи могут быть реализованы или заказчиком ИС самостоятельно, или с привлечением консалтинговых организаций. Этап предполагает тесное взаимодействие с основными потенциальными пользователями системы и бизнес-экспертами. Основная задача взаимодействия - получить полное и однозначное понимание требований заказчика. Как правило, нужная информация может быть получена в результате интервью, бесед или семинаров с руководством, экспертами и пользователями. По завершении этой стадии обследования появляется возможность определить вероятные технические подходы к созданию системы и оценить затраты на ее реализацию (затраты на аппаратное обеспечение, закупаемое программное обеспечение и разработку нового программного обеспечения ). Результатом этапа определения стратегии является документ ( технико-экономическое обоснование проекта ), где четко сформулировано, что получит заказчик, если согласится финансировать проект, когда он получит готовый продукт (графиквыполнения работ) и сколько это будет стоить (для крупных проектов должен быть составлен график финансирования на разных этапах работ). В документе желательно отразить не только затраты, но и выгоду проекта, например время окупаемости проекта, ожидаемый экономический эффект (если его удается оценить). Ориентировочное содержание этого документа:          ограничения, риски, критические факторы, которые могут повлиять на успешность проекта; совокупность условий, при которых предполагается эксплуатировать будущую систему: архитектура системы, аппаратные и программные ресурсы, условия функционирования, обслуживающий персонал и пользователи системы; сроки завершения отдельных этапов, форма приемки/сдачи работ, привлекаемые ресурсы, меры по защите информации; описание выполняемых системой функций; возможности развития системы; информационные объекты системы; интерфейсы и распределение функций между человеком и системой; требования к программным и информационным компонентам ПО, требования к СУБД; что не будет реализовано в рамках проекта. На этапе детального анализа деятельности организации изучаются задачи, обеспечивающие реализацию функций управления, организационная структура, штаты и содержание работ по управлению предприятием, а также характер подчиненности вышестоящим органам управления. На этом этапе должны быть выявлены:   инструктивно-методические и директивные материалы, определяются состав подсистем и перечень задач; возможности применения новых методов решения задач. на основании которых Аналитики собирают и фиксируют информацию в двух взаимосвязанных формах:   функции - информация о событиях и процессах, которые происходят в бизнесе; сущности - информация о вещах, имеющих значение для организации и о которых что-то известно. При изучении каждой функциональной задачи управления определяются:             наименование задачи; сроки и периодичность ее решения; степень формализуемости задачи; источники информации, необходимые для решения задачи; показатели и их количественные характеристики; порядок корректировки информации; действующие алгоритмы расчета показателей и возможные методы контроля; действующие средства сбора, передачи и обработки информации; действующие средства связи; принятая точность решения задачи; трудоемкость решения задачи; действующие формы представления исходных данных и результатов их обработки в виде документов; потребители результатной информации по задаче. Одной из наиболее трудоемких, хотя и хорошо формализуемых задач этого этапа является описание документооборота организации. При обследовании документооборота составляется схема маршрута движения документов, которая должна отразить:        количество документов; место формирования показателей документа; взаимосвязь документов при их формировании; маршрут и длительность движения документа; место использования и хранения данного документа; внутренние и внешние информационные связи; объем документа в знаках. По результатам обследования устанавливается перечень задач управления, решение которых целесообразно автоматизировать, и очередность их разработки. На этапе обследования следует классифицировать планируемые функции системы по степени важности. Один из возможных форматов представления такой классификации - MuSCoW [ 3.2 ] . Эта аббревиатура расшифровывается так: Must have - необходимые функции; Should have - желательные функции; Could have - возможные функции; Won't have - отсутствующие функции. Функции первой категории обеспечивают критичные для успешной работы системы возможности. Реализация функций второй и третьей категорий ограничивается временными и финансовыми рамками: разрабатывается то, что необходимо, а также максимально возможное в порядке приоритета число функций второй и третьей категорий. Последняя категория функций особенно важна, поскольку необходимо четко представлять границы проекта и набор функций, которые будут отсутствовать в системе. Модели деятельности организации создаются в двух видах:   модель "как есть" ("as-is")- отражает существующие в организации бизнес-процессы; модель "как должно быть" ("to-be") - отражает необходимые изменения бизнеспроцессов с учетом внедрения ИС. На этапе анализа необходимо привлекать к работе группы тестирования для решения следующих задач:   получения сравнительных характеристик предполагаемых к использованию аппаратных платформ, операционных систем, СУБД, иного окружения; разработки плана работ по обеспечению надежности информационной системы и ее тестирования. Привлечение тестировщиков на ранних этапах разработки является целесообразным для любых проектов. Если проектное решение оказалось неудачным и это обнаружено слишком поздно (на этапе разработки или, что еще хуже, на этапе внедрения в эксплуатацию), то исправление ошибки проектирования обходится очень дорого. Чем раньше группы тестирования выявляют ошибки в информационной системе, тем ниже стоимость сопровождения системы. Время на тестирование системы и на исправление обнаруженных ошибок следует предусматривать не только на этапе разработки, но и на этапе проектирования. Для автоматизации тестирования следует использовать системы отслеживания ошибок (bug tracking). Это позволяет иметь единое хранилище ошибок, отслеживать их повторное появление, контролировать скорость и эффективность исправления ошибок, видеть наиболее нестабильные компоненты системы, а также поддерживать связь между группой разработчиков и группой тестирования (уведомления об изменениях по e-mail и т.п.). Чем больше проект, тем сильнее потребность в bug tracking. Результаты обследования представляют объективную формирования технического задания на информационную систему. основу для Техническое задание - это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки автоматизированной системы управления. При разработке технического задания необходимо решить следующие задачи:        установить общую цель создания ИС, определить состав подсистем и функциональных задач; разработать и обосновать требования, предъявляемые к подсистемам; разработать и обосновать требования, предъявляемые к информационной базе, математическому и программному обеспечению, комплексу технических средств (включая средства связи и передачи данных); установить общие требования к проектируемой системе; определить перечень задач создания системы и исполнителей; определить этапы создания системы и сроки их выполнения; провести предварительный расчет затрат на создание системы и определить уровень экономической эффективности ее внедрения. Типовые требования к составу и содержанию технического задания приведены в таблице 3.1. Таблица 3.1. Состав и содержание технического задания (ГОСТ 34.602- 89) № п\п 1 Раздел Общие сведения Содержание        2 полное наименование системы и ее условное обозначение шифр темы или шифр (номер) договора; наименование предприятий разработчика и заказчика системы, их реквизиты перечень документов, на основании которых создается ИС плановые сроки начала и окончания работ сведения об источниках и порядке финансирования работ порядок оформления и предъявления заказчику результатов работ по созданию системы, ее частей и отдельных средств Назначение и цели создания  вид автоматизируемой деятельности (развития) системы  перечень объектов, на которых предполагается использование системы  наименования и требуемые значения технических, технологических, производственно-экономических и др. показателей объекта, которые должны быть достигнуты при внедрении ИС 3 Характеристика объектов  автоматизации  4 Требования к системе     краткие сведения об объекте автоматизации сведения об условиях эксплуатации и характеристиках окружающей среды Требования к системе в целом: требования к структуре и функционированию системы (перечень подсистем, уровни иерархии, степень централизации, способы информационного обмена, режимы функционирования, взаимодействие со смежными системами, перспективы развития системы) требования к персоналу (численность пользователей, квалификация, режим работы, порядок подготовки) показатели назначения (степень приспособляемости системы к изменениям процессов управления и значений параметров) требования к надежности, безопасности, эргономике, транспортабельности, эксплуатации, техническому обслуживанию и ремонту, защите и сохранности информации, защите от внешних воздействий, к патентной чистоте, по стандартизации и унификации Требования к функциям (по подсистемам) :     перечень подлежащих автоматизации задач временной регламент реализации каждой функции требования к качеству реализации каждой функции, к форме представления выходной информации, характеристики точности, достоверности выдачи результатов перечень и критерии отказов Требования к видам обеспечения:         5 Состав и содержание работ по созданию системы  математическому (состав и область применения мат. моделей и методов, типовых и разрабатываемых алгоритмов) информационному (состав, структура и организация данных, обмен данными между компонентами системы, информационная совместимость со смежными системами, используемые классификаторы, СУБД, контроль данных и ведение информационных массивов, процедуры придания юридической силы выходным документам) лингвистическому (языки программирования, языки взаимодействия пользователей с системой, системы кодирования, языки ввода- вывода) программному (независимость программных средств от платформы, качество программных средств и способы его контроля, использование фондов алгоритмов и программ) техническому метрологическому организационному (структура и функции эксплуатирующих подразделений, защита от ошибочных действий персонала) методическому (состав нормативно-технической документации) перечень стадий и этапов работ сроки исполнения     состав организаций — исполнителей работ вид и порядок экспертизы технической документации программа обеспечения надежности программа метрологического обеспечения 6 Порядок контроля и приемки системы    виды, состав, объем и методы испытаний системы общие требования к приемке работ по стадиям статус приемной комиссии 7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие Требования к документированию    преобразование входной информации к машиночитаемому виду изменения в объекте автоматизации сроки и порядок комплектования и обучения персонала 8 9 Источники разработки   перечень подлежащих разработке документов перечень документов на машинных носителях документы и информационные материалы, на основании которых разрабатывается ТЗ и система Эскизный проект предусматривает разработку предварительных проектных решений по системе и ее частям. Выполнение стадии эскизного проектирования не является строго обязательной. Если основные проектные решения определены ранее или достаточно очевидны для конкретной ИС и объекта автоматизации, то эта стадия может быть исключена из общей последовательности работ. Содержание эскизного проекта задается в ТЗ на систему. Как правило, на этапе эскизного проектирования определяются:        функции ИС; функции подсистем, их цели и ожидаемый эффект от внедрения; состав комплексов задач и отдельных задач; концепция информационной базы и ее укрупненная структура; функции системы управления базой данных; состав вычислительной системы и других технических средств; функции и параметры основных программных средств. По результатам проделанной работы оформляется, согласовывается и утверждается документация в объеме, необходимом для описания полной совокупности принятых проектных решений и достаточном для дальнейшего выполнения работ по созданию системы. На основе технического задания (и эскизного проекта ) разрабатывается технический проект ИС. Технический проект системы - это техническая документация, содержащая общесистемные проектные решения, алгоритмы решения задач, а также оценку экономической эффективности автоматизированной системы управления и перечень мероприятий по подготовке объекта к внедрению. На этом этапе осуществляется экспериментальных работ для выбора экономической эффективности системы. комплекс основных научно-исследовательских и проектных решений и расчет Состав и содержание технического проекта приведены в таблице 3.2. Таблица 3.2. Содержание технического проекта № Раздел Содержание п\п 1 Пояснительная записка  основания для разработки системы  перечень организаций разработчиков  краткая характеристика объекта с указанием основных техникоэкономических показателей его функционирования и связей с другими объектами  краткие сведения об основных проектных решениях по функциональной и обеспечивающим частям системы 2 Функциональная  и обоснование выделяемых подсистем, их перечень и назначение организационная  перечень задач, решаемых в каждой подсистеме, с краткой структура системы характеристикой их содержания  схема информационных связей между подсистемами и между задачами в рамках каждой подсистемы 3 Постановка задач  и организационно-экономическая сущность задачи (наименование, цель алгоритмы решения решения, краткое содержание, метод, периодичность и время решения задачи, способы сбора и передачи данных, связь задачи с другими задачами, характер использования результатов решения, в которых они используются)  экономико-математическая модель задачи (структурная и развернутая форма представления)  входная оперативная информация ( характеристика показателей, диапазон изменения, формы представления)  нормативно-справочная информация ( НСИ) (содержание и формы представления)  информация, хранимая для связи с другими задачами  информация, накапливаемая для последующих решений данной задачи  информация по внесению изменений ( система внесения изменений и перечень информации, подвергающейся изменениям)  алгоритм решения задачи ( последовательность этапов расчета, схема, расчетные формулы)  контрольный пример (набор заполненных данными форм входных документов, условные документы с накапливаемой и хранимой информацией, формы выходных документов, заполненные по результатам решения экономико-технической задачи и в соответствии с разработанным алгоритмом расчета) 4 Организация  источники поступления информации и способы ее передачи информационной базы  совокупность показателей, используемых в системе  состав документов, сроки и периодичность их поступления  основные проектные решения по организации фонда НСИ  состав НСИ, включая перечень реквизитов, их определение, диапазон изменения и перечень документов НСИ  перечень массивов НСИ, их объем, порядок и частота корректировки информации  структура фонда НСИ с описанием связи между его элементами; требования к технологии создания и ведения фонда  методы хранения, поиска, внесения изменений и контроля  определение объемов и потоков информации НСИ  контрольный пример по внесению изменений в НСИ  предложения по унификации документации Альбом форм документов 6 Система  обоснование структуры математического обеспечения математического  обоснование выбора системы программирования обеспечения  перечень стандартных программ 7 Принцип построения  описание и обоснование схемы технологического процесса обработки комплекса данных технических средств  обоснование и выбор структуры комплекса технических средств и его функциональных групп  обоснование требований к разработке нестандартного оборудования  комплекс мероприятий по обеспечению надежности функционирования технических средств 8 Расчет экономической  сводная смета затрат, связанных с эксплуатацией систем эффективности  расчет годовой экономической эффективности, источниками которой системы являются оптимизация производственной структуры хозяйства (объединения), снижение себестоимости продукции за счет рационального использования производственных ресурсов и уменьшения потерь, улучшения принимаемых управленческих решений 9 Мероприятия по  перечень организационных мероприятий по совершенствованию подготовке объекта к бизнес-процессов внедрению системы  перечень работ по внедрению системы, которые необходимо выполнить на стадии рабочего проектирования, с указанием сроков и ответственных лиц 10 Ведомость документов 5 В завершение стадии технического проектирования производится разработка документации на поставку серийно выпускаемых изделий для комплектования ИС, а также определяются технические требования и составляются ТЗ на разработку изделий, не изготовляемых серийно. На стадии " рабочая документация " осуществляется создание программного продукта и разработка всей сопровождающей документации. Документация должна содержать все необходимые и достаточные сведения для обеспечения выполнения работпо вводу ИС в действие и ее эксплуатации, а также для поддержания уровня эксплуатационных характеристик (качества) системы. Разработанная документация должна быть соответствующим образом оформлена, согласована и утверждена. Для ИС, которые являются разновидностью автоматизированных систем, устанавливают следующие основные виды испытаний: предварительные, опытная эксплуатация и приемочные. При необходимости допускается дополнительно проведение других видов испытаний системы и ее частей. В зависимости от взаимосвязей частей ИС и объекта автоматизации испытания могут быть автономные или комплексные. Автономные испытания охватывают части системы. Их проводят по мере готовности частей системы к сдаче в опытную эксплуатацию. Комплексные испытания проводят для групп взаимосвязанных частей или для системы в целом. Для планирования проведения всех видов испытаний разрабатывается документ "Программа и методика испытаний". Разработчик документа устанавливается в договоре или ТЗ. В качестве приложения в документ могут включаться тесты или контрольные примеры. Предварительные испытания проводят для определения работоспособности системы и решения вопроса о возможности ее приемки в опытную эксплуатацию. Предварительные испытания следует выполнять после проведения разработчиком отладки и тестирования поставляемых программных и технических средств системы и представления им соответствующих документов об их готовности к испытаниям, а также после ознакомления персонала ИС с эксплуатационной документацией. Опытную эксплуатацию системы проводят с целью определения фактических значений количественных и качественных характеристик системы и готовности персонала к работе в условиях ее функционирования, а также определения фактической эффективности и корректировки, при необходимости, документации. Приемочные испытания проводят для определения соответствия системы техническому заданию, оценки качества опытной эксплуатации и решения вопроса о возможности приемки системы в постоянную эксплуатацию. Типовое проектирование ИС Методы типового проектирования ИС достаточно подробно рассмотрены в литературе [ 3.3 ] . В данном курсе приведены основные определения и представлено задание для разработки проекта ИС методом типового проектирования (кейс "Проектирование ИС предприятия оптовой торговли лекарственными препаратами"). Типовое проектирование ИС предполагает создание системы из готовых типовых элементов.Основополагающим требованием для применения методов типового проектирования является возможность декомпозиции проектируемой ИС на множество составляющих компонентов (подсистем, комплексов задач, программных модулей и т.д.). Для реализации выделенных компонентов выбираются имеющиеся на рынке типовые проектные решения, которые настраиваются на особенности конкретного предприятия. Типовое проектное решение (ТПР) - это тиражируемое (пригодное к многократному использованию) проектное решение. Принятая классификация ТПР основана на уровне декомпозиции системы. Выделяются следующие классы ТПР:    элементные ТПР - типовые решения по задаче или по отдельному виду обеспечения задачи (информационному, программному, техническому, математическому, организационному); подсистемные ТПР - в качестве элементов типизации выступают отдельные подсистемы, разработанные с учетомфункциональной полноты и минимизации внешних информационных связей; объектные ТПР - типовые отраслевые проекты, которые включают полный набор функциональных и обеспечивающих подсистем ИС. Каждое типовое решение предполагает наличие, кроме собственно функциональных элементов (программных или аппаратных), документации с детальным описанием ТПР и процедур настройки в соответствии с требованиями разрабатываемой системы. Основные особенности различных классов ТПР приведены в таблице 3.3. Таблица 3.3. Достоинства и недостатки ТПР Класс ТПРРеализация ТПР Достоинства Недостатки Элементные ТПРБиблиотеки  обеспечивается  методо-ориентированных применение модульного подхода к проектированию программ и документированию ИС  ПодсистемныеТПР Пакеты  достигается высокая  прикладных программ степень интеграции элементов ИС  позволяют осуществлять:  модульное проектирование; параметрическую настройку программных компонентов на различные объекты управления  обеспечивают: сокращение затрат на проектирование и программирование взаимосвязанных компонентов; хорошее документирование отображаемых процессов обработки информации Объектные ТПРОтраслевые  комплексирование всех  проекты ИС компонентов ИС за счет методологического единства и информационной, программной и технической совместимости  открытость архитектуры — позволяет устанавливать ТПР на разных программнотехнических платформах  масштабируемость — допускает конфигурацию ИС для переменного числа рабочих мест  конфигурируемость — позволяет выбирать необходимое подмножество компонентов большие затраты времени на сопряжение разнородных элементов вследствие информационной, программной и технической несовместимости большие затраты времени на доработку ТПРотдельных элементов адаптивность ТПР недостаточна с позиции непрерывного инжиниринга деловых процессов возникают проблемы в комплексировании разных функциональных подсистем, особенно в случае использования решений нескольких производителей программного обеспечения проблемы привязки типового проекта к конкретному объекту управления, что вызывает в некоторых случаях даже необходимость изменения организационно-экономической структуры объекта автоматизации Для реализации типового проектирования используются два подхода: параметрическиориентированное и модельно-ориентированное проектирование. Параметрически-ориентированное проектирование включает следующие этапы: определение критериев оценки пригодности пакетов прикладных программ (ППП) для решения поставленных задач, анализ и оценка доступных ППП по сформулированным критериям, выбор и закупка наиболее подходящего пакета, настройка параметров (доработка) закупленного ППП. Критерии оценки ППП делятся на следующие группы:           назначение и возможности пакета; отличительные признаки и свойства пакета; требования к техническим и программным средствам; документация пакета; факторы финансового порядка; особенности установки пакета; особенности эксплуатации пакета; помощь поставщика по внедрению и поддержанию пакета; оценка качества пакета и опыт его использования; перспективы развития пакета. Внутри каждой группы критериев выделяется некоторое подмножество частных показателей, детализирующих каждый из десяти выделенных аспектов анализа выбираемых ППП. Достаточно полный перечень показателей можно найти в литературе [ 3.3 ] . Числовые значения показателей для конкретных ППП устанавливаются экспертами по выбранной шкале оценок (например, 10-бальной). На их основе формируются групповые оценки и комплексная оценка пакета (путем вычисления средневзвешенных значений). Нормированные взвешивающие коэффициенты также получаются экспертным путем. Модельно-ориентированное проектирование заключается в адаптации состава и характеристик типовой ИС в соответствии с моделью объекта автоматизации. Технология проектирования в этом случае должна обеспечивать единые средства для работы как с моделью типовой ИС, так и с моделью конкретного предприятия. Типовая ИС в специальной базе метаинформации - репозитории - содержит модель объекта автоматизации, на основе которой осуществляется конфигурирование программного обеспечения. Таким образом, модельно-ориентированное проектирование ИСпредполагает, прежде всего, построение модели объекта автоматизации с использованием специального программного инструментария (например, SAP Business Engineering Workbench (BEW), BAAN Enterprise Modeler). Возможно также создание системы на базе типовой модели ИС из репозитория, который поставляется вместе с программным продуктом и расширяется помере накопления опыта проектирования информационных систем для различных отраслей и типов производства. Репозиторий содержит базовую (ссылочную) модель ИС, типовые (референтные) модели определенных классов ИС, модели конкретных ИС предприятий. Базовая модель ИС в репозитории содержит описание бизнес-функций, бизнеспроцессов, бизнес-объектов, бизнес-правил, организационной поддерживаются программными модулями типовой ИС. структуры, которые Типовые модели описывают конфигурации информационной системы для определенных отраслей или типов производства. Модель конкретного предприятия строится либо путем выбора фрагментов основной или типовой модели в соответствии со специфическими особенностями предприятия (BAAN Enterprise Modeler), либо путем автоматизированной адаптации этих моделей в результате экспертного опроса (SAP Business Engineering Workbench). Построенная модель предприятия в виде метаописания хранится в репозитории и при необходимости может быть откорректирована. На основе этой модели автоматически осуществляется конфигурирование и настройка информационной системы. Бизнес-правила определяют условия корректности совместного применения различных компонентов ИС и используются для поддержания целостности создаваемой системы. Модель бизнес-функций представляет собой иерархическую декомпозицию функциональной деятельности предприятия (подробное описание см. в разделе "Анализ и моделирование функциональной области внедрения ИС"). Модель бизнес-процессов отражает выполнение работ для функций самого нижнего уровня модели бизнес-функций (подробное описание см. в разделе "Спецификация функциональных требований к ИС"). Для отображения процессов используется модель управления событиями (ЕРС - Event-driven Process Chain). Именно модель бизнес-процессов позволяет выполнить настройку программных модулей - приложений информационной системы в соответствии с характерными особенностями конкретного предприятия. Модели бизнес-объектов используются для интеграции приложений, поддерживающих исполнение различных бизнес-процессов (подробное описание см. в разделе "Этапы проектирования ИС с применением UML"). Модель организационной структуры предприятия представляет собой традиционную иерархическую структуру подчинения подразделений и персонала (подробное описание см. в разделе "Анализ и моделирование функциональной области внедрения ИС"). Внедрение типовой информационной системы начинается с анализа требований к конкретной ИС, которые выявляются на основе результатов предпроектного обследования объекта автоматизации (см. раздел "Анализ и моделирование функциональной области внедрения ИС"). Для оценки соответствия этим требованиям программных продуктов может использоваться описанная выше методика оценки ППП. После выбора программного продукта на базе имеющихся в нем референтных моделей строится предварительная модель ИС, в которой отражаются все особенности реализации ИС для конкретного предприятия. Предварительная модель является основой для выбора типовой модели системы и определения перечня компонентов, которые будут реализованы с использованием других программных средств или потребуют разработки с помощью имеющихся в составе типовой ИС инструментальных средств (например, ABAP в SAP, Tools в BAAN). Реализация типового проекта предусматривает выполнение следующих операций:     установку глобальных параметров системы; задание структуры объекта автоматизации; определение структуры основных данных; задание перечня реализуемых функций и процессов;     описание интерфейсов; описание отчетов; настройку авторизации доступа; настройку системы архивирования.

Рекомендованные лекции

Смотреть все
Программирование

Процесс создания программного обеспечения

2. Процесс создания программного обеспечения Цели Цель настоящей главы – представить основные идеи, лежащие в основе процесса создания программного об...

Информационные технологии

Проектирование и архитектура программных систем

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Омский государственный технический университе...

Автор лекции

Белик А.Г., Цыганенко В.Н.

Авторы

Автоматизация технологических процессов

Общие сведения о системах автоматизированного проектирования и управления

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЕГАЗОВЫЙ УНИВЕРСИТЕТ Кафедра «Автоматизации и управления»           Методические ук...

Автор лекции

Соловьев Ю. Л., Евдокименко А. А.

Авторы

Программирование

Технология разработки ПО.

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

Программирование

Программная инженерия

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ УРАЛЬСКИЙ Г...

Автор лекции

Карасева О. А.

Авторы

Информатика

Программная инженерия; понятие модели архитектуры ПО

Введение ПРОГРАММНАЯ ИНЖЕНЕРИЯ КАК СОВОКУПНОСТЬ ИНЖЕНЕРНЫХ МЕТОДОВ И СРЕДСТВ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Программная инженерия. Понятие модели О...

Программирование

Основы программной инженерии

1. Основы программной инженерии 3 2. Модели жизненного цикла 17 3. Качество и эффективность в программной инженерии 27 4. Модели качества процессов ко...

Производственный маркетинг и менеджмент

Совершенствование производства ПО и эволюция программного обеспечения

Лекция 7. СОВЕРШЕНСТВОВАНИЕ ПРОИЗВОДСТВА ПО И ЭВОЛЮЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Цели Цель настоящей лекции - ознакомление с тем, как усовершенствовать...

Информационные технологии

Технология программирования. Проектирование программного обеспечения

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образ...

Автор лекции

Бугаков П. Ю.

Авторы

Информационные технологии

Системный подход к подготовке специалистов в сфере информационных системы и технологий

Кафедра «Прикладная и бизнес-информатика» ВВЕДЕНИЕ В ПРОФЕССИОНАЛЬНУЮ ДЕЯТЕЛЬНОСТЬ По направлению подготовки «Информационные системы и технологии» Мос...

Смотреть все