Учебный курс Объектно-ориентированный анализ и программирование Лекция 1 Программа как модель предметной области Лекции читает кандидат технических наук.

Презентация:



Advertisements
Похожие презентации
Учебный курс Объектно-ориентированный анализ и программирование Лекция 2 Функциональная модель, структурная модель и модель взаимодействия Лекции читает.
Advertisements

Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
2. UML – унифицированный язык моделирования систем.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
1 Диаграммы реализации (implementation diagrams).
Презентация дисциплины по выбору Для студентов, обучающихся по направлению «Прикладная информатика» (магистерская программа «Прикладная информатика.
Моделирование на UML Денис Иванов. Ай Ти Консалтинг.
Microsoft Solutions Framework Технологии программирования. Курс на базе Microsoft Solutions Framework Семинар 2. Знакомство с построением диаграмм вариантов.
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Разработка программного обеспечения (Software Engineering) Часть 1. Введение.
Диаграммы UML Диаграмма вариантов использования. Основные вопросы Назначение диаграммы вариантов использования Компоненты диаграммы вариантов использования.
Этапы решения задач на компьютерах Постановка задачи Формальное построение модели задачи Формальное построение модели задачи Построение математической.
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МЕТОДОЛОГИЯ ПРОЕКТИРОВАНИЯ программных систем Rational Unified Process фирмы Rational Software Corporation.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
3.3. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ КАК СИСТЕМА Успешное внедрение информационных технологий связано с возможностью их типизации. Конкретная информационная.
Транксрипт:

Учебный курс Объектно-ориентированный анализ и программирование Лекция 1 Программа как модель предметной области Лекции читает кандидат технических наук Курак Михаил Валерьянович

2 Информационные процессы Информационный процесс - процесс получения, хранения, обработки и передачи информации с помощью компьютерных и других технических средств Данные - информация любой природы, зафиксированная тем или иным способом АлгоритмАлгоритм – это точное описание последовательности действий над входными данными, выполнение которых исполнителем приводит к получению выходных данных. Множество входных данных X Выполнение операций над элементами X Множество выходных данных Y Алгоритм Исполнитель

3 Жизненный цикл программы Заказчик Реальный мир Предметная область Логическая модель Разработчик Физическая модель Среда исполнения Прагматика Семантика Модель – формализованное описание предметной области. Логическая модель отражает взгляд на предметную область со стороны заказчика Физическая модель отражает взгляд на предметную область со стороны разработчика Жизненный цикл программы - совокупность взаимосвязанных и следующих во времени этапов, начиная от разработки требований к программе и заканчивая полным отказом от ее использования Жизненный цикл программы формально можно рассматривать как переход от логической модели предметной области к физической модели предметной области через промежуточные модели. Каждая из моделей отражает точку зрения на разрабатываемую программу определенного участника процесса разработки.

4 Каскадная модель жизненного цикла АнализПроектированиеРазработкаВнедрениеЭксплуатация Сопровождение Анализ – разработка логической модели и определение спецификации. Проектирование – определение структуры программы и распределение функциональности по элементам этой структуры. Разработка – определение способа реализации требуемой функциональности в каждом из элементов структуры и разработка физической модели предметной области на некотором языке программирования. Внедрение – конфигурирование программы под конкретную среду исполнения и проведение испытаний на соответствие программы требованиям заказчика. Эксплуатация – применение программы по назначению. Сопровождение – модификация программы с целью исправления ошибок, выявленных при эксплуатации. ГОСТ

5

6 Каскадная модель жизненного цикла АнализПроектированиеРазработкаВнедрениеЭксплуатация Сопровождение Анализ – разработка логической модели и определение спецификации. Проектирование – определение структуры программы и распределение функциональности по элементам этой структуры. Разработка – определение способа реализации требуемой функциональности в каждом из элементов структуры и разработка физической модели предметной области на некотором языке программирования. Внедрение – конфигурирование программы под конкретную среду исполнения и проведение испытаний на соответствие программы требованиям заказчика. Эксплуатация – применение программы по назначению. Сопровождение – модификация программы с целью исправления ошибок, выявленных при эксплуатации. ГОСТ

7 Завершение фазы Начало фазы Итерационная модель жизненного цикла Rational Unified Process (RUP) Анализ и определение требований Проектирование Разработка Фазы -Инициализация программа -Усовершенствование программа -Создание программа - Переход программа Заказчик Время

8 Понятие парадигмы программирования Парадигма программирования - понятийный аппарат, используемый для разработки модели предметной области Парадигмы программирования Процедурно- ориентированное (Fortran, Pascal, C, Basic) Объектно- ориентированное (Java, C#) Логическое (Prolog) Функциональное (Lisp) Object Pascal C++ Visual Basic

9 Процедурно-ориентированное программирование Предметная область – множество процессов, воздействующих на входные данные с целью их преобразования в выходные данные Логическая модель ( диаграмма потоков данных) определят: - Входные данные - Источники входных данных - Выходные данные - Потребители выходных данных - Данные, подлежащие долговременному хранению (накопители данных) - Процессы преобразования входных данных в выходные данные

10 Структура процедурно-ориентированной программы Начало Вызов P1 Завершение Вход Возврат Вход Возврат Пересчитать в 5-ти бальную оценку Главная подпрограмма Main Подпрограмма P1 Подпрограмма P2 Вычислить 10-ти бальную оценку Вызов P2 1.Запуск Main 2.Вызов P1 3.Обработка данных в Р1 и возврат в Main 4.Вызов P2 5.Обработка данных в Р2 и возврат в Main 6.Завершение программы ГОСТ

11 Объектно-ориентированное программирование Предметная - множество взаимодействующих объектов. Цель взаимодействия – достижение заданной функциональности Объект - мыслимая или реальная сущность, обладающая характерным поведением и характеристикой и являющаяся важной для данной предметной области. Поведение – набор операций, которые может выполнять объект Характеристика – атрибуты, отличающие данный объект от других объектов Класс объектов - множество объектов, которые имеют одинаковый набор операций и одинаковый набор атрибутов Модель системы Модель системы – совокупность логически взаимосвязанных диаграмм. Диаграммы разрабатываются в нотации языка UML (Unified Modeling Language)

12 Интегрированная модель системы Интегрированная модель Функциональность Диаграмма вариантов использования use case diagram Структура Диаграмма классов class diagram Поведение Диаграмма состояний statechart diagram Диаграмма кооперации collaboration diagram Диаграмма последовательности sequence diagram Диаграмма деятельности activity diagram Реализация Диаграмма компонентов component diagram Диаграмма развертывания deployment diagram

13 Диаграмма вариантов использования Определяет функциональность программы в терминах актеров и вариантов использования. Актер - инициатор выполнения варианта использования Вариант использования - заданная функциональность

14 Диаграмма классов Определяет структуру предметной области (программы) в виде набора классов, находящихся между собой в определенных отношенияхотношениях Имя класса Операции (Методы) Атрибуты (Поля) Объектные языки UMLПроцедурные языки ПолеАтрибутДанные МетодОперацияПодпрограмма Только в составе объекта или класса ( ИНКАПСУЛЯЦИЯ ) Самостоятельные сущности

15 Отношения между классами Предок Потомки Контейнер Части Ассоциация Классы относятся к одной предметной области Наследование Классы-потомки являются разновидностями класса-предка Агрегация Класс-контейнер включает классы- части

16 Интегрированная модель системы Интегрированная модель Функциональность Диаграмма вариантов использования use case diagram Структура Диаграмма классов class diagram Поведение Диаграмма состояний statechart diagram Диаграмма кооперации collaboration diagram Диаграмма последовательности sequence diagram Диаграмма деятельности activity diagram Реализация Диаграмма компонентов component diagram Диаграмма развертывания deployment diagram

17 Диаграмма кооперации Определяет динамические свойства предметной области в виде взаимодействия между объектами в конкретном варианте использования Взаимодействие - передача сообщений между объектами. В ответ на полученное сообщение объект выполняет операцию и может изменить свое состояние. Состояние объекта – текущее значение его атрибутов. Изменение состояния объекта может привести к передаче сообщения другому объекту UMLСообщение Объектные языкиВызов метода

18 Интегрированная модель системы Интегрированная модель Функциональность Диаграмма вариантов использования use case diagram Структура Диаграмма классов class diagram Поведение Диаграмма состояний statechart diagram Диаграмма кооперации collaboration diagram Диаграмма последовательности sequence diagram Диаграмма деятельности activity diagram Реализация Диаграмма компонентов component diagram Диаграмма развертывания deployment diagram

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

20 Интегрированная модель системы Интегрированная модель Функциональность Диаграмма вариантов использования use case diagram Структура Диаграмма классов class diagram Поведение Диаграмма состояний statechart diagram Диаграмма кооперации collaboration diagram Диаграмма последовательности sequence diagram Диаграмма деятельности activity diagram Реализация Диаграмма компонентов component diagram Диаграмма развертывания deployment diagram