Similar presentations:
Высокоуровневые методы информатики и программирования. UML - язык моделирования и документирования сложных систем
1. Высокоуровневые методы информатики и программирования Лекция 2 UML – язык моделирования и документирования сложных систем
04.09.2020МФ ПГУ им.М.В.Ломоносова
1
2. Содержание
OOP, OOD, OOAЭволюция технологий
История UML
Роль UML
Структура языка UML
04.09.2020
МФ ПГУ им.М.В.Ломоносова
2
3. OOP, OOD, OOA
По определению одного из создателей языка UML (UnifiedModelling Language) Гради Буча:
Объектно-ориентированное программирование (ООP) - это
методология программирования, основанная на
представлении программы в виде совокупности объектов,
каждый из которых является экземпляром определенного
класса, а классы образуют иерархию наследования.
Объектно-ориентированное проектирование (ООD) - это
методология проектирования, соединяющая в себе процесс
объектной декомпозиции и приемы представления
логической и физической, а также статической и
динамической моделей проектируемой системы.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
3
4. OOP, OOD, OOA
Объектно-ориентированный анализ (ООА) - это методология, прииспользовании которой требования к проектируемой
системе воспринимаются с точки зрения классов и
объектов, выявленных в предметной области.
Как соотносятся ООА, ООD и ООP? На результатах ООА
формируются модели, на которых основывается ООD. В
свою очередь OOD создает фундамент для окончательной
реализации компьютерной системы с использованием
методологии ООP.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
4
5. Развитие технологий
Произошедшие существенные изменения в течение последнегодесятилетия в области технологий программирования
обусловлены появлением:
Объектно-ориентированных языков программирования (С++,
Java и др.)
Метода объектно-ориентированного программирования
Метода объектно-ориентированного анализа и проектирования
Языка UML, позволяющего моделировать и документировать
предметные области ИС и коды объектно-ориентированных
программ.
Инструментальных компьютерных программ, помогающих
создавать UML диаграммы. Одной из таких инструментальных
программ является пакет Rational Rose 2000 фирмы Rational
Software Corporation.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
5
6. Эволюция технологий
Посмотрим на эволюцию технологий с позиций повышенияпроизводительности труда программистов и развития
языков программирования.
По мере совершенствования технологий программирования
постоянно повышалась производительность труда
программистов. На заре программирования программы
составлялись на языках машинных кодов и
производительность труда программистов была крайне
низкой.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
6
7. Эволюция технологий
Затем в 1950-1970 гг. появились алгоритмические языкипрограммирования (ALGOL-58, FORNRAN I и др.),
процедурные языки, функциональные языки (ПРОЛОГ) и
языки др.видов. Производительность труда программистов
в этот период значительно увеличилась, но, по
современным меркам, оставалась невысокой. Чтобы
убедиться в этом достаточно вспомнить, что в те далекие
времена результаты труда пр-ов оценивались и
оплачивались по числу написанных ими строк или к-д.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
7
8. Эволюция технологий
Сегодня производительность труда программистов неизмеримовозросла. Ныне, как вы знаете, даже новичок программист
с помощью современных программных инструментов
(например используя, MS Visual C++ или Interprise/Borland
Delphi) нажатием нескольких клавиш диалогового меню
может создать сотни строк программного кода.
Вегнер в статье, посвященной языку АДА, сгруппировал
некоторые из наиболее известных языков
программирования высокого уровня в четыре поколения в
зависимости от их назначений:
04.09.2020
МФ ПГУ им.М.В.Ломоносова
8
9. Эволюция технологий
Первое поколение (1954-1958)FORTRAN I Математические формулы
ALGOL-58
Flowmetic
Второе поколение (1959-1961)
FORTRAN II Подпрограммы, раздельная компиляция
ALGOL-60 Блочная структура, типы данных
COBOL Описание данных, работа с файлами
Lisp Обработка списков, указатели, сборка мусора
04.09.2020
МФ ПГУ им.М.В.Ломоносова
9
10. Эволюция технологий
Третье поколение (1962-1970)PL/1 FORTRAN+ALGOL+COBOL
ALGOL-68 Более строгий приемник ALGOL-60
Pascal Более простой приемник ALGOL-60
Simula Классы, абстрактные данные
Четвертое, потерянное поколение (1970-1980)
Создано много языков (около 2000), но мало выживших (напр.,
Ada, Smaltalk)
ОО языки программирования можно отнести к пятому
поколению.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
10
11. История методов OOA и OOD
Методы объектно-ориентированного анализа и проектирования(ООА и ООD), основанные на использовании графических
языков моделирования, появились сравнительно недавно,
но они имеют долгую предысторию.
Начало разработкам графических языков моделирования
сложных систем положил Дуглас Росс, который в середине
60-х годов создал оригинальный язык визуального
моделирования систем.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
11
12. История методов OOA и OOD
Графический язык Росса послужил стимулом для создания вСША целого семейства методов моделирования и
проектирования сложных систем, обозначаемых
аббревиатурой IDEF.
Все методы IDEF основаны на использовании визуальных
языков. Наиболее известными из многочисленного
семейства методов IDEF являются методы IDEF0, IDEF1X
и IDEF3. Документацию этих и ряда других методов IDEF
вы можете найти на сайте www.idef.org.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
12
13. История методов OOA и OOD
Метод IDEF0 предназначен для моделирования функцийсложных ИС и их процессов. Он поддерживается
инструментальными программами BP-Win (бизнес
процессы и окна).
Метод IDEF1X используется для моделирования реляционных
БД. Он поддерживается программами ER-Win (сущностивзаимосвязи и окна).
Метод IDEF3 предназначен для детального моделирования
бизнес процессов.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
13
14. История методов OOA и OOD
В США методы IDEF0 и IDEF1X оформлены и утверждены какфедеральные стандарты обработки информации (FIPS).
Диаграммы IDEF0 обладают рядом недостатков:
1)
они не имеют математической основы;
2)
отсутствуют визуальные средства для объектноориентированного представления сложных систем.
Метод IDEF0 в сочетании с другими методами моделирования
сложных систем послужил основой для создания методов
объектно-ориентированного моделирования систем и
языка UML.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
14
15. История языка UML
К середине 90-х годов число методов моделирования сложныхсистем возросло до более чем 50-ти. В этой связи возникла
проблема их обобщения и унификации. Частично она была
решена в результате создания языка UML.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
15
16. История языка UML
По определению Гради Буча унифицированный языкмоделирования (Unified Modeling Language, UML) является
графическим языком для визуального представления,
составления спецификаций, проектирования и
документирования систем, в которых большая роль
принадлежит программному обеспечению.
Мы будем называть такие системы автоматизированными
информационными системами (АИС) и полагать, что в
работе АИС участвуют люди. С помощью языка UML
можно разработать общесистемную документацию АИС,
документацию ее программного обеспечения и создать
многократно используемые (т.е. типовые) компоненты
программного обеспечения.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
16
17. История языка UML
Решающую роль в создании языка UML сыграли Гради Буч,Джеймс Рамбо и Айвар Джекобсон и созданные ими
следующие методы моделирования различных сторон
сложных систем:
Метод Буча (Booch'93), ориентированный, в первую
очередь, на моделирование программного обеспечения
сложных систем.
Метод Рамбо (ОМТ-2), ориентированный на анализ
процессов обработки данных в ИС.
Метод Джекобсона (метод OOSE), ориентированный на
анализ требований к бизнес-приложениям.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
17
18. История языка UML
Авторы этих методов объединились с целью созданияунифицированного языка моделирования сложных систем.
Они сформулировали следующие требования к
унифицированному языку, который был назван UML.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
18
19. История языка UML
Язык UML:Позволяет моделировать как программное обеспечение
сложных систем, так и широкие классы самих систем и
бизнес-приложений, с использованием объектноориентированных понятий и методов.
Обеспечивает взаимосвязь между базовыми понятиями
модели концептуального, программного и физического
уровней.
Понятен системным аналитикам и программистам.
Поддерживается специальными инструментальными
программными средствами, реализованными на различных
компьютерных платформах.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
19
20. История языка UML
В 1996 г. была создана первая версия языка UML 0.9. Послеэтого ведущие компьютерные фирмы Microsoft, IBM,
Oracle и многие другие осознали, что язык UML имеет
стратегическое значение для их бизнеса. В результате был
организован консорциум UML, деятельность которого
оплачивается за счет ежегодных денежных взносов фирм
членов консорциума.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
20
21. История языка UML
Важную роль в создании языка UML сыграла его поддержкаГруппой по управлению объектами OMG (Object
Management Groop).
Группа OMG объединяет около 300 ведущих компьютерных
фирм. Она выпускает стандарты в области Интернет/Веб.
Язык UML приобрел статус второго стратегического
направления деятельности OMG. В 1997 г. были созданы
версии языка UML 1.0 и 1.1. В 1998 г была создана версия
UML 1.2, а в 1999 г - версия UML 1.3. В переводной
российской литературе по языку UML описывается его
версия 1.3.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
21
22. История языка UML
В настоящее время разработаны инструментальные программыподдержки языка UML.
Наиболее известной из них является программа
Rational Rose 2000 фирмы Rational Software.
Кроме того создан ряд средств визуального программирования,
обеспечивающую прямую генерацию кода программ из
UML моделей. Эти средства интегрированы с наиболее
распространенными языками программирования Java, C++
и многими другими.
Группа OMG продолжает работы по созданию новых версий
языка UML.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
22
23. Роль UML
Ситуация до создания UML04.09.2020
МФ ПГУ им.М.В.Ломоносова
23
24. Роль UML
04.09.2020МФ ПГУ им.М.В.Ломоносова
24
25. Роль UML
Язык UML помог в решении болезненной для компьютерныхфирм проблемы увольнения программистов с работы.
Действительно, если программист уволится, то другой
программист, пришедший ему на смену, чтобы войти в
курс дела должен разобраться во всех тонкостях исходного
кода программы. Практика показывает, что если программа
сложная, то сделать это трудно, а иногда и невозможно. До
появления языка UML увольнение программиста могло
повлечь за собой потерю его программ.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
25
26. Роль UML
Сегодня, если программы документированы на языке UML, топосле увольнения программиста другой программист,
используя UML диаграммы и спецификации, может понять
исходный код программы и заменить уволившегося.
Помимо решения проблемы увольнения программистов,
документирование исходных кодов программ UML
диаграммами и спецификациями создает единый язык
общения между программистами, а также между
программистами, системными аналитиками и заказчиками
автоматизированной системы.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
26
27. Роль UML
Но самое главное, что дал UML - это возможность широкойстандартизации языков программирования.
Известно, что в разных языках программирования
используются одинаковые операции и методы, но они
имеют разные названия и символьные обозначения. Язык
UML позволяет стандартизовать как сами операции и
методы языков программирования так и их терминологию.
Мы рассмотрели лишь часть проблем, решаемых с помощью
языка UML. Но даже из этого неполного обзора видно
насколько важна роль языка UML в совершенствовании
технологий программирования и методов разработки АИС.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
27
28. Структура языка UML
04.09.2020МФ ПГУ им.М.В.Ломоносова
28
29.
04.09.2020МФ ПГУ им.М.В.Ломоносова
29
30. Примеры пиктограмм UML
04.09.2020МФ ПГУ им.М.В.Ломоносова
30
31. Примеры пиктограмм UML
04.09.2020МФ ПГУ им.М.В.Ломоносова
31
32. Примеры пиктограмм UML
Термин "прецедент" это не очень удачный перевод на русский языканглийского выражения use case (Computer Aided Software
Engineering).
Прецедент это описание множества последовательных событий,
выполняемых компьютерной системой, которые приводят к
наблюдаемому актером результату. Графически прецедент
изображается в виде ограниченного непрерывной линией
эллипса, обычно содержащего только имя прецедента.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
32
33. Примеры пиктограмм UML
Актер - это кто-то (или что-то) внешний по отношению ккомпьютерной системе, кто взаимодействует с ней. Графически
актер изображается в виде пиктограммы, представляющей
человека, поскольку актер это человек или группа людей,
использующих данные, предоставляемые компьютерной
системой. Например, в системе регистрации учебных курсов,
которую мы рассмотрим в следующих лекциях, актером являются
студенты, записывающиеся на курсы преподавателей через АИС
регистрации курсов. Для базы данных федерального бюджета,
функционирующей в Минфине РФ, актерами являются
чиновники, получающие информацию на рабочих местах базы
данных Минфина. На UML диаграммах пиктограммы прецедента
и актера обычно располагаются рядом. В совокупности они могут
описывать внешнюю границу компьютерной системы.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
33
34. Примеры пиктограмм UML
Пиктограмма "пакет" изображает единственную в языке UMLпервичную группирующую сущность. В пакет можно поместить
структурные и поведенческие сущности и даже другие пакеты.
Изображается пакет в виде папки с закладкой. Существуют также
вариации пакетов, например, каркасы, модели и подсистемы.
Последняя пиктограмма - "примечание". Примечание изображается в
виде прямоугольника с загнутым краем. На UML диаграмме
примечание присоединяется к одному или нескольким элементам
диаграммы. Внутри прямоугольника-примечания помещаются
комментарии или ограничения, относящиеся к элементу (или
нескольким элементам) диаграммы. Комментарий может быть
текстовым или графическим.
04.09.2020
МФ ПГУ им.М.В.Ломоносова
34
35. Пиктограммы отношений UML
Работодатель04.09.2020
МФ ПГУ им.М.В.Ломоносова
35
36. Вопросы?
04.09.2020МФ ПГУ им.М.В.Ломоносова
36