- •Минобрнауки россии
- •Оглавление
- •Введение
- •1 Требования к оформлению и содержанию курсовой работы
- •Методические аспекты автоматизированного проектирования ис
- •2.1 Автоматизированные информационные системы
- •2.2 Назначение case-технологий
- •Понятие о структурном анализе
- •Средства структурного анализа и их взаимоотношения
- •3 Проектирование информационной системы с использованием структурного подхода
- •3.1 Функциональная модель idef0
- •Моделирование потоков данных
- •3.3 Workrflow-модели
- •3.4 Поведенческие модели
- •Проектирование информационной системы с использованием объектно-ориентированного подхода
- •4.1 Структура Унифицированного языка моделирования
- •4.2 Семантика и синтаксис uml
- •4.3 Нотация uml
- •5 Моделирование использования
- •6 Моделирование структуры
- •6.1 Диаграммы классов
- •6.2 Диаграммы реализации
- •7 Моделирование поведения
- •7.1 Диаграмма автомата
- •7.2 Диаграмма деятельности
- •7.3 Диаграммы взаимодействия
- •Заключение
- •Библиографический список
- •Приложение а «Задания к курсовой работе»
- •1 Информационная система конструкторского бюро
- •2 Информационная система завуча школы
- •3 Информационная система выставки собак
- •4 Информационная система птицефабрики
- •5 Информационная система почты
- •6 Информационная система футбольных соревнований
- •Информационная система методиста
- •8 Информационная система диспетчера техобслуживания
- •9 Информационная система технического архива
- •10 Информационная система менеджера музыкальной групп
- •Приложение б «Примеры библиографических описаний»
- •1 Однотомные издания
- •1.1 Книги одного, двух и трех авторов
- •1.2 Книги четырех авторов
- •1.3 Книги более четырех авторов
- •5.2 Материалы, подготовленные составителями. Сборники с общим названием. Словари, справочники.
- •5.3 Сборники научных трудов. Тезисы докладов
- •5.4 Официальные документальные материалы. Материалы съездов, пленумов, конференций
- •6 Нормативно-технические и технические документы (госТы, стандарты, нормативы, нормы, инструкции, типовые проекты, чертежи, прейскуранты, каталоги и др.)
- •7 Патентные документы
- •Краткое описание
- •8 Депонированные работы и препринты
- •9 Неопубликованные документы
- •9.1 Отчет о научно-исследовательской работе
- •10.3 Статьи из сериального (периодического) издания (журнала, газеты)
- •10.4 ... Из трудов, ученых записок
- •10.5 Из материалов конференций, семинаров и т.Д.
- •Приложение в «Шаблон технического задания на разработку по» Техническое задание
Проектирование информационной системы с использованием объектно-ориентированного подхода
После построения модели предметной области «как есть» необходимо перейти к построению модели «как должно быть». А для этого необходимо провести модернизацию организации.
Модернизацию в рамках курсовой работы предлагается осуществить путем создания и внедрения новой или развития существующей автоматизированной информационной системы.
Следует отметить, что данный проект не предполагает реинжиниринга, а ограничивается лишь модернизацией, поскольку предполагается провести усовершенствования, основанные на внедрении средств автоматизации, без кардинальной перестройки самих процессов и без изменения структуры и функций организации.
Предполагается, что конечная программная реализация автоматизированной информационной системы будет осуществляться средствами какого-либо объектно-ориентированного языка программирования. Поэтому является логичным использование во второй части курсовой работы объектно-ориентированного подхода к проектированию информационной системы на основе Унифицированный язык моделирования (Unified Modeling Language, UML).
4.1 Структура Унифицированного языка моделирования
Унифицированный язык моделирования (UML) в настоящий момент является стандартом де-факто при описании (документирования) результатов проектирования и разработки объектно-ориентированных систем. Последнюю официальную спецификацию языка можно найти на сайте www.omg.org.
Общая структура UML показана на следующем рисунке 38.
Рисунок 38 - Структура UML
4.2 Семантика и синтаксис uml
Семантика – раздел языкознания, изучающий значение единиц языка, прежде всего его слов и словосочетаний.
Синтаксис – способы соединения слов и их форм в словосочетания и предложения, соединения предложений в сложные предложения, способы создания высказываний как части текста.
Т.о. семантика и синтаксис UML определяют стиль изложения (построения моделей), который объединяет естественный и формальный языки для представления базовых понятий (элементов модели) и механизмов их расширения.
4.3 Нотация uml
Нотация представляет собой графическую интерпретацию семантики для ее визуального представления. Нотация классов в языке UML проста и интуитивно понятна всем, кто когда-либо имел опыт работы с CASE-инструментариями.
Нотация использует объектно-ориентированные методы. Моделирование в данной нотации позволяет последовательно пройти концептуальный, логический и физический уровни моделирования систем.
В UML определено три типа сущностей, т.е. абстракций, являющихся основными элементами модели:
структурная – абстракция, являющаяся отражением концептуального или физического объекта;
группирующая – элемент, используемый для некоторого смыслового объединения элементов диаграммы;
поясняющая (аннотационная) – комментарий к элементу диаграммы.
В таблице 5 приведено краткое описание сущностей, используемых в графической нотации. Сущности являются основными объектно-ориентированными элементами языка, которые находятся на первом уровне иерархии языка UML. С их помощью можно создавать корректные модели.
Таблица 5 - Сущности
Тип |
Наименование |
Обозначение |
Определение (семантика) |
структурная |
класс (class) |
|
множество объектов, имеющих общую структуру и поведение |
объект (object) |
|
абстракция реальной или воображаемой сущности с четко выраженными концептуальными границами, индивидуальностью (идентичностью), состоянием и поведением. С точки зрения UML объекты являются экземплярами класса (экземплярами сущности). |
|
структурная |
интерфейс (interface) |
iРасчет |
совокупность операций, определяющая сервис (набор услуг), предоставляемый классом или компонентом |
актер (actor) |
Инженер службы пути |
внешняя по отношению к системе сущность, которая взаимодействует с системой и использует ее функциональные возможности для достижения определенных целей или решения частных задач. Т.о. актер – это внешний источник или приемник информации. |
|
вариант использования (use case) |
Расчет движения поезда
|
описание последовательности выполняемых системой действий, которая приводит к значимому для актера результату |
|
состояние (state) |
|
описание момента в ходе жизни сущности, когда она удовлетворяет некоторому условию, выполняет некоторую деятельность или ждет наступления некоторого события |
|
кооперация (collaboration) |
Расчет движения поезда
|
описание совокупности экземпляров актеров, объектов и их взаимодействия в процессе решения некоторой задачи |
|
компонент (component) |
|
физическая часть системы (файл), в т.ч. модули системы, обеспечивающие реализацию согласованного набора интерфейсов |
|
узел (node) |
|
физическая часть системы (компьютер, принтер и т.д.), предоставляющая ресурсы для решения задачи |
|
группирующая |
пакет (packages) |
|
общий механизм группировки элементов. В отличие от компонента, пакет – чисто концептуальное (абстрактное) понятие. Частными случаями пакета являются система и модель |
поясня- ющая |
примечание (comment) |
Скорость передачи 500 Mбит/с
|
комментарий к элементу |
исправен
Сервер
В таблице 6 приведено описание всех видов отношений UML, используемых на диаграммах для указания связей между сущностями.
Таблица 6 - Отношения
Наименование |
Обозначение |
Определение (семантика) |
ассоциация (association) |
|
отношение, описывающее значимую связь между двумя и более сущностями. Наиболее общий вид отношения |
агрегация (aggregation) |
|
подвид ассоциации, описывающей связь «часть»-«целое», в котором «часть» может существовать отдельно от «целого». Ромб указывается со стороны «целого». Отношение указывается только между сущностями одного типа |
композиция (composition) |
|
подвид агрегации, в которой «части» не могут существовать отдельно от «целого». Как правило, «части» создаются и уничтожаются одновременно с «целым» |
зависимость (dependency) |
|
отношение между двумя сущностями, в котором изменение в одной сущности (независимой) может влиять на состояние или поведение другой сущности (зависимой). Со стороны стрелки указывается независимая сущность |
обобщение (generalization) |
|
отношение между обобщенной сущностью (предком, родителем) и специализированной сущностью (потомком, дочкой). Треугольник указывается со стороны родителя. Отношение указывается только между сущностями одного типа |
реализация (realization) |
|
отношение между сущностями, где одна сущность определяет действие, которое другая сущность обязуется выполнить. Отношения используется в двух случаях: между интерфейсами и классами (или компонентами), между вариантами использования и кооперациями. Со стороны стрелки указывается сущность, определяющее действие (интерфейс или вариант использования) |
Для ассоциации, агрегации и композиции может указываться кратность (multiplicity), характеризующая общее количество экземпляров сущностей, участвующих в отношении. Она, как правило, указывается с каждой стороны отношения около соответствующей сущности. Кратность может указываться следующими способами:
* – любое количество экземпляров, в т.ч. и ни одного;
целое неотрицательное число – кратность строго фиксирована и равна указанному числу (например: 1, 2 или 5);
диапазон целых неотрицательных чисел «первое число .. второе число» (например: 1..5, 2..10 или 0..5);
диапазон чисел от конкретного начального значения до произвольного конечного «первое число .. *» (например: 1..*, 5..* или 0..*);
перечисление целых неотрицательных чисел и диапазонов через запятую (например: 1, 3..5, 10, 15..*).
Если кратность не указана, то принимается ее значение, равное 1. Кратность экземпляров сущностей, участвующих в зависимости, обобщении и реализации всегда принимается равной 1.
В таблице 7 приведено описание механизмов расширения, применяемых для уточнения семантики сущностей и отношений. Обычно механизм расширения представляет собой строку текста, заключенную в скобки или кавычки.
Таблица 7 - Механизмы расширения
Наименование |
Обозначение |
Определение (семантика) |
стереотип (stereotype) |
« » |
обозначение, уточняющее семантику элемента нотации (например: зависимость со стереотипом «include» рассматривается, как отношение включения, а класс со стереотипом «boundary» – граничный класс) |
сторожевое условие (guard condition) |
[ ] |
логическое условие (например: [A > B] или [идентификация выполнена]) |
ограничение (constraint) |
{ } |
правило, ограничивающее семантику элемента модели (например, {время выполнения менее 10 мс}) |
помеченное значение (tagged value) |
{ } |
новое или уточняющее свойство элемента нотации (например: {version = 3.2} или {время выполнения менее 10 мс}) |
Помимо стереотипов, указываемых в виде строки текста в кавычках, на диаграммах могут использоваться графические стереотипы.
На рисунке 9 приведены примеры стандартного и стереотипного отображения класса-сущности.
Стрелочная
горловина
a) стандартное б) стандартное в) графический
обозначение обозначение стереотип
с текстовым
стереотипом
Рисунок 39 - Примеры стандартного и стереотипного отображения класса
Диаграмма представляет собой группировку элементов нотации для отображения некоторого аспекта разрабатываемой информационной системы.
Диаграммы представляют собой, как правило, связных граф, в котором сущности являются вершинами, а отношения – дугами. В следующей таблице дана краткая характеристика диаграмм UML.
Таблица 8 - Диаграммы
Диаграмма |
Назначение |
Тип диаграммы (модели ИС) |
||||||||
по степени физической реализации |
по отображению динамики |
по отображаемому аспекту |
||||||||
Вариантов использования (use case) |
отображает функции системы, взаимодействие между актерами и функциями |
логическая |
динамическая |
функциональная |
||||||
Классов (class) |
отображает набор классов, интерфейсов и отношений между ними |
логическая или физическая |
статическая |
функционально-информационная |
||||||
Поведения (behavior) |
Состояний (statechart) |
отображает состояния сущности и переходы между ними в процессе ее жизненного цикла |
логическая |
динамическая |
поведенческая |
|||||
Деятельности (activity) |
отображает бизнес-процессы в системе (описание алгоритмов поведения) |
|||||||||
Взаимодействия (interaction) |
Последова-тельности (sequence) |
отображает последовательность передачи сообщений между объектами и актерами |
||||||||
Кооперации (collaboration) |
аналогична диаграмме последовательности, но основной акцент делается на структуру взаимодействия между объектами |
|||||||||
Реализации (implementation) |
Компонентов (component) |
отображает компоненты системы (программы, библиотеки, таблицы и т.д.) и связей между ними |
физическая |
статическая |
компонентная (структурная) |
|||||
Развертывания (deployment) |
отображает размещение компонентов по узлам сети, а также ее конфигурации |
|||||||||
