- •Проектирование информационных систем
- •Содержание
- •Лекция 1. Руководство программным проектом
- •Организация процесса конструирования
- •Модели конструирования по:
- •Модели качества процессов конструирования
- •Процесс руководства процессом (срс)
- •Начало проекта
- •Измерения, меры и метрики
- •Планирование проектных задач
- •Планирование проектных задач
- •Лекция 2. Унифицированный язык визуального программирования uml
- •Понятия uml
- •Предметы поведения
- •Группирующие предметы
- •Поясняющие предметы
- •Отношения uml
- •Диаграммы uml
- •Механизмы расширения uml(срс)
- •Объекты
- •Физическое включение Нефизическое включение
- •Отношения в диаграммах классов
- •Деревья наследования
- •Лекция 5. Динамические модели объектно-ориентированных программных систем
- •Автоматы
- •Диаграмма схем состояний системы охранной сигнализации
- •Действия в состояниях
- •Входные и выходные действия и деятельность в состоянии Активна
- •Диаграмма деятельности покупателя в Интернет-магазине
- •Диаграммы взаимодействия
- •1. Диаграммы сотрудничества
- •Д иаграммы сотрудничества
- •2. Диаграммы последовательности.
- •Диаграммы Use Case
- •Актеры и элементы Use Case
- •Отношения в диаграммах Use Case
- •Лекция 6. Модели реализации объектно-ориентированных программных систем
- •1) Компонентные диаграммы
- •2) Диаграммы размещения (развертывания)
- •Лекция 7. Типовое проектирование ис
- •Понятие типового проектирования ис
- •Классификация типовых ис
- •Методы конфигурирования типовой ис
- •Лекция 9. Разработка алгоритмов ис
- •Понятие алгоритма
- •Правила и этапы построения алгоритмов
- •Виды и структуры алгоритмов
- •Элементы алгоритмов
- •Методы проектирования алгоритмов
- •Степень автоматизации проектных работ:
- •Принятая методология процесса разработки:
Планирование проектных задач
Основной задачей при планировании является определение структуры распределения работ (Структура представлена на сл. стр.).
Первыми выполняются системный анализ и анализ требований, которые закладывают фундамент для последующих параллельных задач.
Системный анализ проводится с целью:
выяснения потребностей заказчика
оценки выполнимости системы
выполнение экономического и технического анализа
распределения функций между элементами системы
определения стоимости и ограничений проекта
Планирование проектных задач
WBS – Work Breakdown Structure (структуры распределения работ)
Результаты
системного анализа сводятся в системную
спецификацию, в которой описываются
функции, характеристики системы, входная
и выходная информация.
Анализ требований дает возможность:
определить функции и характеристики программного продукта
обозначить интерфейса продукта с другими системными элементами
построить модели процесса, данных, режимов функционирования и т.д.
создать такие формы представления информации и функций, которые можно было бы использовать в ходе проектирования
Результатом анализа требований является спецификация требований.
В результате выполнения предварительного проектирования оформляется технический проект, детального проектирования – рабочий проект, кодирования – программный код.
Согласно типовой структуре возможно распараллеливание некоторых работ при создании модулей.
Вехи (ромбики) – это процедуры контроля промежуточных результатов, которые должны быть расставлены через регулярные интервалы.
Правило распределения затрат проекта (рекомендуемое) – 40-20-40:
анализ и проектирование (40%)
кодирование (20%)
тестирование и отладка (40%)
Лекция 2. Унифицированный язык визуального программирования uml
Понятия UML
Предметы UML
Отношения UML
Диаграммы UML
Механизмы расширения UML(СРС)
Понятия uml
UML – это язык для определения, визуализации, конструирования и документирования артефактов программных систем, а также для моделирования экономических процессов и других непрограммных систем.
Артефакт – искусственный объект, любой результат работы.
UML обладает следующими основными характеристиками:
является языком визуального моделирования, который обеспечивает разработку репрезентативных моделей для организации взаимодействия заказчика и разработчика ИС, различных групп разработчиков;
содержит механизмы расширения и специализации базовых концепций языка.
UML – стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем.
UML не визуальный язык программирования, но его модели прямо транслируются в текст на языках программирования Java, C#, C++и другие, и даже в таблицы для реляционных БД.
Словарь UML образует 3 разновидности строительных блоков:
предметы – абстракции, основные элементы в модели;
отношения – связывают элементы;
диаграммы – группируют коллекции предметов.
С
ЛОВАРЬ
UML:
ПРЕДМЕТЫ
Структурные
Поведения
Группирующие
Поясняющие
ОТНОШЕНИЯ
Зависимость
Ассоциация
Обобщение
Реализация
ДИАГРАММЫ
Классов
Объектов
Use Case (прецедентов)
Последовательности
Сотрудничества
Схем состояния
Деятельности
Компонентные
размещения
ПРЕДМЕТЫ UML
Структурные предметы
Структурные предметы являются существительными в UML моделях, представляют статические части модели – понятийные или физические элементы.
Разновидности структурных предметов:
К
ласс
– описание множества объектов,
разделяющих одинаковые свойства,
операции, отношения и смысл. Он реализует
один или несколько интерфейсов.
Класс реализует один или несколько интерфейсов
графически класс отображается в виде прямоугольника, обычно включающего секции с именем, свойствами (атрибутами) и операциями
Интерфейс – набор операций, определяющих услуги класса или компонента. Он описывает поведение элемента, видимое извне, может представлять полные услуги класса или компонента или часть таких услуг.
И
нтерфейс
описывает поведение элемента, видимое
извне
Интерфейс может представлять полные услуги класса или компонента или часть таких услуг
Графически интерфейс изображается в виде кружка с именем
Имя интерфейса обычно начинается с буквы «I»
Кооперация – определяет взаимодействия и является совокупностью ролей и других элементов, которые работают вместе для обеспечения коллективного поведения более сложного, чем простая сумма всех элементов. Имеет как структурное, так и поведенческое измерение, конкретный класс может участвовать в нескольких кооперациях.
Кооперации имеют как структурное, так и поведенческое измерения
Конкретный класс может участвовать в нескольких кооперациях
Графически
кооперация изображается как пунктирный
эллипс, в который вписывается ее имя
Актер – набор согласованных ролей, которые могут играть пользователи при взаимодействии с системой (ее элементами Use Case). Каждая роль требует от системы определенного поведения.
К
аждая
роль требует от системы определенного
поведения
Изображается как проволочный человечек с именем
Элемент Use Case (Прецедент) – описание последовательности действий, выполняемых системой в интересах отдельного актера и производящих видимый для актера результат. В модели элемент Use Case применяется для структурирования предметов поведения, он реализуется кооперацией.
В
модели элемент Use
Case
применяется для структурирования
предметов поведения
Элемент Use Case реализуется кооперацией
Изображается как эллипс, в который вписывается его имя
Активный класс – класс, чьи объекты имеют один или несколько процессов или потоков и поэтому могут инициировать управляющую деятельность. Похож на обычный класс за исключением того, что его объекты действуют одновременно с объектами других классов.
Похож
на обычный класс за исключением того,
что его объекты действуют одновременно
с объектами других классов
Изображается как активный прямоугольник, обычно включающий имя, свойства(атрибуты) и операции
Компонент – физическая и заменяемая часть системы, которая соответствует набору интерфейсов и обеспечивает реализацию этого набора. В систему включаются как компоненты, являющиеся результатами процесса разработки (программный код), так и различные разновидности используемых компонентов (библиотеки, таблицы и т.д.).
Обычно
компонент - это физическая упаковка
различных логических элементов
(классов, интерфейсов и сотрудничеств)
Изображается как прямоугольник с вкладками, обычно включающий имя
У
зел
–
физический элемент, который существует
в период работы системы и представляет
ресурс, обычно имеющий память и
возможности обработки.
В узле размещается набор компонентов, который может перемещаться от узла к узлу
Изображается как куб с именем
