Лекция № 3

advertisement
Лекция № 3
Отношения – способы, с помощью которых можно
связать сущности.
В языке UML определены четыре типа отношений:

зависимость;

ассоциация;

обобщение;

реализация.
Зависимость (dependency) – указывает на семантические
отношения, существующие между двумя и более
элементами модели, при котором изменение в независимом
элементе (поставщике) требую изменений в зависимом
элементе (клиенте).
Клиент
Поставщик
Основные структурные сущности:
Ассоциация
(association)
структурное
отношение,
описывающее совокупность связей, где под связью понимается
некоторая смысловая связь между объектами.
Роль1
Роль2
Элемент1
Элемент2
0..1
*
Разновидностью ассоциации является агрегирование (aggregation) так называется структурное отношение между целым и его частями.
Композиция (composition) – более сильная форма агрегации, при
которой агрегат несет полную ответственность за создание/удаление
своих частей.
Агрегат
Часть
Элемент1
Элемент2
0..1
*
Отношения – способы, с помощью которых можно
связать сущности.
Обобщение (generalization) - это отношение
"специализация/обобщение", при котором объект
специализированного элемента (проще говоря, потомок) может
быть подставлен вместо объекта обобщенного элемента
(родителя, предка). Как и положено в объектно-ориентированном
программировании, потомок (child) наследует структуру и
поведение своего предка (parent).
Предок
Потомок
Отношения – способы, с помощью которых можно
связать сущности.
Реализация (realization) - это семантическое отношение между
классификаторами, при котором один классификатор
определяет обязательство, а другой гарантирует его
выполнение. Отношение реализации встречаются в двух
случаях: во-первых, между интерфейсами и реализующими их
классами или компонентами, а во-вторых, между прецедентами
и реализующими их кооперациями.
Спецификация
Реализующий элемент
Отношения – способы, с помощью которых можно
связать сущности.
Представления и диаграммы:
Представление (View) - это проекция модели, сделанная с
определенной точки зрения, в которой опущены все сущности
для данной точки зрения не являющиеся существенными.
Диаграмма (diagram) – графическое изображение подмножества
элементов модели. Как правило, имеет вид графа, который
состоит из дуг (отношений) и вершин (прочих элементов
моделей).
Основных видов диаграмм девять: диаграммы классов,
диаграммы объектов , диаграммы вариантов
использования, диаграммы взаимодействия, диаграммы
состояний , диаграммы деятельности , диаграммы
компонентов , диаграммы развертывания.
Диаграммы классов (class diagram), на которых показывают
классы, интерфейсы, объекты и кооперации, а также их отношения.
При моделировании объектно-ориентированных систем этот тип
диаграмм использует наиболее часто. Диаграммы классов
соответствуют статическому виду системы с точки зрения
проектирования.
obj ect Class Model
«enumeration»
OrderStatus
new
packed
dispatched
delivered
closed
StockItem
+status
+
+
+
+
+
Author: string
catalogNumber: string
costPrice: number
listPrice: number
title: string
Order
+item
Account
+
+
+
+
+
billingAddress: String
closed: Boolean
deliveryAddress: String
emailAddress: String
name: String
+
+
+
+
+
+
createNewAccount() : void
loadAccountDetails() : void
markAccountClosed() : void
retrieveAccountDetails() : void
submitNewAccountDetails() : void
validateUser(String, String)
+
+
+
date: Date
deliveryInstructions: String
orderNumber: String
+
checkForOutstandingOrders() : void
+account
Transaction
+account
+history +
+
+
+
date: Date
orderNumber: String
loadAccountHistory() : void
loadOpenOrders() : void
+basket
ShoppingBasket
-
shoppingBasketNumber: String
+
+
+
+
addLineItem() : void
createNewBasket() : void
deleteItem() : void
processOrder() : void
LineItem
+
quantity: Integer
Диаграммы объектов (object diagram), на которых представляются
объекты и отношения между ними. Это статические снимки
экземпляров сущностей, показанных на диаграммах классов.
Диаграммы объектов, как и диаграммы классов, относятся к
статическому виду системы сточки зрения проектирования или
процессов, но с расчетом на настоящую или макетную реализацию.
obj ect Obj ect
:StockItem
Item01 :LineItem
quantity = 2
Ttile = UML for Beginners
ListPrice = $30.00
Author = Dave Newbie
Ord-2005-10-31-JO01 :Order
Item02 :LineItem
quantity = 1
Joseph Osborne :
Account
:StockItem
ListPrice = $30.00
Ttile = Software Developement with UML
Author = Ken Lunn
Ord-2005-02-11-JO01 :Order
Item03 :LineItem
quantity = 1
:StockItem
ListPrice = $30.00
Ttile = UML Distilled
Author = Martin Fowler
Francis Redfield :
Account
Ord-2005-03-12-FR01 :Order
Item01 :LineItem
quantity = 2
Диаграммы вариантов использования (use case diagram), на
которых представлены прецеденты и актеры (частный случай
классов), а также отношения между ними. Диаграммы прецедентов
относятся к статическому виду системы с точки зрения возможностей
ее использования. Это вид диаграмм особенно важен при
организации и моделирования поведения системы.
uc Manage Users
Login
View History
Create Account
«extend»
Client
(from Actors)
View Account details
Close Account
«include»
Delete User
Administrator
(from Actors)
«extend»
View Open Orders
Диаграммы взаимодействия, на которых представлены связи
между объектами, показаны, в частности, сообщения, которыми
объекты могут обмениваться. Обычно рассматриваются два частных
случая это вида диаграмм: диаграммы последовательностей
(sequence diagram), которые отражают временную упорядоченность
сообщений, и диаграммы кооперации (collaboration diagram), на
которых показана структурная организация обменивающихся
сообщениями объектов. Эти виды диаграмм являются изоморфными,
то есть свободно могут быть трансформированы друг в друга.
sd Close Account
:Account
:Client
:Close Account
loadAccountDetails()
checkForOutstandingOrders()
get confirmation
get confirmation
return confirmation
return confirmation
markAccountClosed()
:Order
sd Close Account
Get Confirmation
Load Account Details
Account
Client
Close Account
Mark Account Closed
Check for Outstanding Orders
Order
Диаграммы состояний (statechart diagram) представляют автомат,
включающий в себя состояния, переходы, события и виды действий.
Эти диаграммы относятся к динамическому виду системы, особенно
важна их роль при моделировании поведения интерфейса, класса или
кооперации. Они заостряют внимание на поведении объекта, которое
в свою очередь зависят от последовательности событий, что очень
полезно при моделировании реактивных систем.
act Customer Process
Customer Enters
Web site
User
Validation
User Logs In
View BookStore
Select Book for
Purchase
Rejected
Add to Shopping
Basket
View Shopping
Basket
Commit Order
Supply Credit Card
Details
Credit Card
Problems
Credit Check
Confirm Purchase
Close Order
Items Deliv ered
Order Complete
Диаграммы деятельности (activity diagram) - это частный случай
диаграмм состояний. На диаграмме этого типа представляются
переходы потока управления от одной деятельности к другой внутри
системы. Этот вид диаграмм относится к динамическим
представлениям системы, и является наиболее полезным при
моделировании ее функционирования, так как отражает передачу
потока управления между объектами.
act Inv oice Payment
Order
«Class»
[Order
Rejected]
Order
Placed
Send Order
[Order
Accepted]
Transaction
«Class»
Package
Order
Process
Payment
Order verified
Send
Inv oice
Invoice Invoice
Customer
Payment
Close Order
Диаграммы компонентов (component diagram), на которых
представлена организация совокупности компонентов и
существующие между ними зависимости. Диаграммы компонентов
относятся к статистическому виду системы с точки зрения
реализации. Они могут быть связаны с диаграммами классов в силу
очень простой причины: один компонент обычно отображается на
один или несколько классов, интерфейсов или коопераций.
cmp Serv er Components
Firew all
+
+
+
AcceptRequest() : HTML Request
ForwardRequest() : HTML Request
ReturnResponse() : HTML Response
+DMZ
COM+ Component Env ironment
«Web Server»
IIS 5.0
+
Business Logic
DoRequest() : HTML Response
ASP Pages
Web
BookStore
Database
XSL Stylesheets
+
TransformXML() : void
Web SQL Serv er
+
+
+
Configure() : void
ProcessSQLRequest() : Recordset
Restart() : void
Диаграммы развертывания (deployment diagram), на которых
представлена конфигурация обрабатывающих узлов системы и
размещенных в них компонентов. Диаграммы развертывания
относятся к статическому виду системы с точки зрения
развертывания. Они связаны с диаграммами компонентов, поскольку
в узле обычно размещаются один или несколько компонентов.
deployment HO Serv ers
DMZ
Web Serv er :Dell
Pow erEdge 2650
RAM = 2 x 1024 MB
Processor = 2 x 2.8 GHZ
Disks = 4 x 80 GB
Disk Controller = RAID 5
216.239.46.96 :
Ethernet Adaptor
FRR01 :Intel 19510
Frame Relay Router
HOES01 :Ethernet
Sw itched Hub
WebDataServ er :Dell
Pow erEdge 6650
RAM = 1024 Mb
Processor = 3.0 GHz
Disks = 3 x 120 GB
Disk Controller = RAID 5
+Internet
+DMZ
HOFW :WatchGuard III
Firew all
216.239.46.95 :
Ethernet Adaptor
+LAN
LAN
192.168.02 :
Ethernet Adaptor
Mail Serv er :HP ProLiant
DL380
RAM = 2048 Mb
Processor = 3.0 Ghz
Disks = 4
Disk Controller = RAID 5
HOES02 :Ethernet
Sw itched Hub
Client Data Serv er :Dell
Pow erEdge 1650
192.168.0.3 :
Ethernet Adaptor
Processor = 3.0 GHZ
RAM = 1024 MB
Disks = 4 x 120 GB
Disk Controller = RAID 5
Download