lecture 10 uml vs. erd
DESCRIPTION
Software Engineering. Lecture 10 UML vs. ERD. UML vs. ERD. UML is not a replacement for Entity Relationship Diagramming. Despite its advantages over ER diagramming, UML is not without its weaknesses. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/1.jpg)
Slide 12.1
1
Software Engineering
Lecture 10
UML vs. ERD
![Page 2: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/2.jpg)
Slide 12.2
2
UML vs. ERD
• UML is not a replacement for Entity Relationship Diagramming.
• Despite its advantages over ER diagramming, UML is not without its weaknesses.
• In some ways, UML diagrams have more symbols making them more cluttered and therefore less easily understood by users.
![Page 3: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/3.jpg)
Slide 12.3
3
UML vs. ERD
• Class diagrams in UML are a superset of entity relationship modeling.
• There is nothing that can be expressed with ERDs that cannot be expressed in UML notation.
• There are many more structures and relationships possible to express in UML that are not possible with ERD notation.
![Page 4: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/4.jpg)
Slide 12.4
4
Shifting from ERD to UML
ERD Term UML Term
Entity Class
Instance of an entity Object
Relationship Association
Attributes Attributes
![Page 5: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/5.jpg)
Slide 12.5
5
Mapping ERD to UML
• Any ER diagram can be easily mapped to a UML diagram.
• Many structures that cannot be represented in an ERD can be represented in UML.
• In ERDs, there were two sides of a relationship to name.• In UML, you also have the option of placing a name and
a direction on the relationship itself.• In UML the ends of the relationship are called
“Association roles.”
![Page 6: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/6.jpg)
Slide 12.6
6
Roles in UML
Between Department and Person, for the employmentrelationship between the two using the full UML notation would be as shown as:
“The department acting as employer may employ any number of persons as employees.”
![Page 7: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/7.jpg)
Slide 12.7
7
UML Roles Not Part of ERD
• UML notation includes the role that each object in the class is assuming in the relationship expressed with a noun on each side. ERD diagrams do not include role information.
• The relationship itself is expressed with a verb and preposition. This notational scheme holds up fairly well.
• Sometimes it is difficult to determine the appropriate word to describe the roles of the objects.
• If you are creating abstract models where the same relationship might represent more than one type of association, the naming becomes somewhat more complex.
![Page 8: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/8.jpg)
Slide 12.8
8
Diagrams Compared
“ERD” – style representation of many-to-many relationship
UML diagram showing the same.
![Page 9: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/9.jpg)
Slide 12.9
9
Recursive Relationships
In UML, you can explicitly constrain the relationship in a very precise way. For example, a recursive relationship on the class Employee can be indicated by the constraint {tree} as:
![Page 10: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/10.jpg)
Slide 12.10
10
Comments in UML
In the class diagram, comments are graphically represented text objects that can be attached to any UML object. No comments in ER diagrams
![Page 11: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/11.jpg)
Slide 12.11
11
Naming Associations
Rather than naming both sides with verb phrases as in ERDs, in UML, the relationship is named once and a directionality arrow is added, usually pointing from the “many” side to the “one” side of the relationship.
![Page 12: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/12.jpg)
Slide 12.12
12
Generalizations in UML
• Generalizations in UML are somewhat more flexible than relationships in ERDs.
• There need not be only one generalization structure from a given class. You are able to have multiple generalizations operating on the same classes
![Page 13: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/13.jpg)
Slide 12.13
13
Example Generalization
A consulting contract, which can be Time and Materials or Fixed Cost and independently classified as Government or Private.
![Page 14: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/14.jpg)
Slide 12.14
14
Beyond ERD
UML allows for the creation of all sorts of relations types beyond the general Entity or Class relationships
Interaction diagrams: set of objects and their relationships including messages that may be dispatched among them
• Sequence diagrams: time ordering of messages
• Collaboration diagrams: structural organization of objects that send and receive messages
Activity diagram: flow chart showing flow of control from activity to activity
State chart diagram: models a state machine
![Page 15: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/15.jpg)
Slide 12.15
15
UML can show Actions on Objects
call
return
send
create
destroy
returnCopy(c)
okToBorrow()
status
notifyReturn(b)
<<create>>
<<destroy>>
![Page 16: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/16.jpg)
Slide 12.16
16
UML can show Links
CopyLibraryMember
+borrowCopy()+returnCopy()
1 0..*on loan
libMem:LibraryMember c:CopyborrowCopy(c)
association
message
link
class
object
![Page 17: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/17.jpg)
Slide 12.17
17
UML Sequence Diagram
:MEngStudent
1 : getName()
sequence numbers added to messages
:Student
1.1 : name
2: new Student(name)
3: <<destroy>>
![Page 18: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/18.jpg)
Slide 12.18
18
Sequence Diagram: Borrow copy of a Book
libMem: LibraryMember
theCopy:Copy
theBook:Book
borrow(theCopy)okToBorrow
borrow borrow
![Page 19: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/19.jpg)
Slide 12.19
19
Class Inheritance Diagram
Object
Component
Container
Panel
Applet
HelloWorld
interface
![Page 20: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/20.jpg)
Slide 12.20
20
Activity Diagram: Process Modeling
Release work order
Assign tasks
Reschedule[materials not ready]
[materials ready]
![Page 21: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/21.jpg)
Slide 12.21
21
Activity Diagram: Parallel Activities
Decompress
Stream audioStream video
fork
join
start state
stop state
![Page 22: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/22.jpg)
Slide 12.22
22
State Diagram
State diagram for class Book
not borrowable
returned()
returned()
borrowable
borrowed()[not last copy]
borrowed()[last copy]
![Page 23: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/23.jpg)
Slide 12.23
23
Implementing UML Models
Subsystem (ERD Term)
A grouping of elements that specifies what a part of a system should do.
Component (UML Term)
A distributable piece of implementation of a system, including software code (source, binary, or executable)
A component can be thought of as an implementation of a subsystem.
![Page 24: Lecture 10 UML vs. ERD](https://reader035.vdocuments.site/reader035/viewer/2022062500/56815a17550346895dc75fd7/html5/thumbnails/24.jpg)
Slide 12.24
24
Project Work
• Your Analysis Document is due soon!
This week…
• Discuss Software Testing• Begin discussions on the Design Specification
Requirements• Review and prepare for the midterm exam
• Midterm Exam, very soon!