software development diagrams
TRANSCRIPT
-
8/6/2019 Software Development Diagrams
1/32
SOFTWARE DEVELOPMENT DIAGRAMS
What is UML?UML stands for Unified Modeling Language. This object-oriented system ofnotation has evolved from the work ofGrady Booch, James Rumbaugh, Ivar
http://www.smartdraw.com/tutorials/software/booch.htmhttp://www.smartdraw.com/tutorials/software/omt.htmhttp://www.smartdraw.com/tutorials/software/oose.htmhttp://www.smartdraw.com/tutorials/software/booch.htmhttp://www.smartdraw.com/tutorials/software/omt.htmhttp://www.smartdraw.com/tutorials/software/oose.htm -
8/6/2019 Software Development Diagrams
2/32
-
8/6/2019 Software Development Diagrams
3/32
Class Diagrams
Class diagrams are the backbone of almostevery object oriented method, including UML.
They describe the static structure of a system.
Package DiagramsPackage diagrams are a subset of class
diagrams, but developers sometimes treatthem as a separate technique. Package
diagrams organize elements of a system intorelated groups to minimize dependencies
between packages.
Object DiagramsObject diagrams describe the static structureof a system at a particular time. They can be
used to test class diagrams for accuracy.
Use Case Diagrams
Use case diagrams model the functionality ofsystem using actors and use cases.
http://www.smartdraw.com/tutorials/software-uml/uml2.htm#whatclasshttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatpackhttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatobjhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatusehttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatusehttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatobjhttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatpackhttp://www.smartdraw.com/tutorials/software-uml/uml2.htm#whatclasshttp://www.smartdraw.com/tutorials/software-uml/uml2.htm#whatclasshttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatpackhttp://www.smartdraw.com/tutorials/software-uml/uml3.htm#whatobjhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatuse -
8/6/2019 Software Development Diagrams
4/32
What is a UML Class Diagram?Class diagrams are the backbone of almost every object-oriented methodincluding UML. They describe the static structure of a system.
Basic Class Diagram Symbols and NotationsClasses represent an abstraction of entities with common characteristics.Associations represent the relationships between classes.
Classes
Illustrate classes with rectanglesdivided into compartments. Place the
name of the class in the first partition(centered, bolded, and capitalized), listthe attributes in the second partition,and write operations into the third.
Learn how to create this symbol.
Active ClassActive classes initiate and control theflow of activity, while passive classesstore data and serve other classes.Illustrate active classes with a thickerborder.
Visibility
Use visibility markers to signify whocan access the information contained
within a class. Private visibility hidesinformation from anything outside theclass partition. Public visibility allows allother classes to view the markedinformation. Protected visibility allowschild classes to access information theyinherited from a parent class.Learn how to edit text.
Sequence DiagramsSequence diagrams describe interactionsamong classes in terms of an exchange ofmessages over time.
Collaboration Diagrams
Collaboration diagrams represent interactionsbetween objects as a series of sequenced
messages. Collaboration diagrams describeboth the static structure and the dynamic
behavior of a system.
Statechart DiagramsStatechart diagrams describe the dynamicbehavior of a system in response to external
stimuli. Statechart diagrams are especiallyuseful in modeling reactive objects whosestates are triggered by specific events.
Activity Diagrams
Activity diagrams illustrate the dynamic natureof a system by modeling the flow of control
from activity to activity. An activity representsan operation on some class in the system that
results in a change in the state of the system.Typically, activity diagrams are used to modelworkflow or business processes and internaloperation.
Component Diagrams
http://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatcollhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#tableshttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatstatehttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatacthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatcollhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#tableshttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatstatehttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatacthttp://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatcomponenthttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatacthttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatstatehttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatcollhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml4.htm#whatseqhttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatcollhttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatstatehttp://www.smartdraw.com/tutorials/software-uml/uml5.htm#whatacthttp://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatcomponenthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#tableshttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtext -
8/6/2019 Software Development Diagrams
5/32
AssociationsAssociations represent staticrelationships between classes. Placeassociation names above, on, or belowthe association line. Use a filled arrowto indicate the direction of therelationship. Place roles near the end ofan association. Roles represent the way
the two classes see each other.Note:It's uncommon to name both the
association and the class roles.Learn how to connect two classes.
Multiplicity (Cardinality)Place multiplicity notations near the
ends of an association. These symbolsindicate the number of instances of oneclass linked to one instance of the other
class. For example, one company willhave one or more employees, but each
employee works for one company only.
Complex Constraint
Constraint
Place constraints inside curly braces {}.
Simple Constraint
organ za on o p ys ca so ware componen s,including source code, run-time (binary) code,
and executables.
Deployment DiagramsDeployment diagrams depict the physicalresources in a system, including
http://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatdeplhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatdeplhttp://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatdeplhttp://www.smartdraw.com/tutorials/software-uml/uml6.htm#whatdeplhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#conn -
8/6/2019 Software Development Diagrams
6/32
Composition and Aggregation
Composition is a special type ofaggregation that denotes a strong
ownership between Class A, the whole,and Class B, its part. Illustrate
composition with a filled diamond.Use a hollow diamond to represent asimple aggregation relationship, inwhich the "whole" class plays a moreimportant role than the "part" class,but the two classes are not dependenton each other. The diamond end inboth a composition and aggregationrelationship points toward the "whole"class or the aggregate.
GeneralizationGeneralization is another name forinheritance or an "is a" relationship. Itrefers to a relationship between twoclasses where one class is a specializedversion of another. For example, Hondais a type of car. So the class Hondawould have a generalization
relationship with the class car.
In real life coding examples, thedifference between inheritance andaggregation can be confusing. If youhave an aggregation relationship, theaggregate (the whole) can access only
the PUBLIC functions of the part class.On the other hand, inheritance allows
the inheriting class to access both thePUBLIC and PROTECTED functions of
the superclass.
Learn how to draw a generalizationrelationship.
What is a UML Package Diagram?Package diagrams organize the elements of a system into related groups tominimize dependencies among them
http://www.smartdraw.com/tutorials/software-uml/uml9.htmhttp://www.smartdraw.com/tutorials/software-uml/uml9.htmhttp://www.smartdraw.com/tutorials/software-uml/uml9.htmhttp://www.smartdraw.com/tutorials/software-uml/uml9.htm -
8/6/2019 Software Development Diagrams
7/32
Basic Package Diagram Symbols and Notations
PackagesUse a tabbed folder to illustrate packages.Write the name of the package on the tab orinside the folder. Similar to classes, you canalso list the attributes of a package.
Learn how to resize a grouped object like apackage.
VisibilityVisibility markers signify who can access theinformation contained within a package.Private visibility means that the attribute orthe operation is not accessible to anythingoutside the package. Public visibility allows anattribute or an operation to be viewed by otherpackages. Protected visibility makes anattribute or operation visible to packages that
inherit it only.
Learn how to edit text on a symbol.
DependencyDependency defines a relationship in whichchanges to one package will affect anotherpackage. Importing is a type of dependency
that grants one package access to the contentsof another package.
Learn how to draw dependencies and add
arrows to your diagram.
What is a UML Object Diagram?Object diagrams are also closely linked to class diagrams. Just as an object is
http://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarrhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarrhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarrhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarr -
8/6/2019 Software Development Diagrams
8/32
an instance of a class, an object diagram could be viewed as an instance of aclass diagram. Object diagrams describe the static structure of a system at aparticular time and they are used to test the accuracy of class diagrams.
Basic Object Diagram Symbols and Notations
Object namesEach object is represented as a rectangle,
which contains the name of the object and itsclass underlined and separated by a colon.
Learn how to edit text on a symbol.
Object attributesAs with classes, you can list object attributesin a separate compartment. However, unlikeclasses, object attributes must have valuesassigned to them.
Active objectObjects that control action flow are calledactive objects. Illustrate these objects with athicker border.
MultiplicityYou can illustrate multiple objects as onesymbol if the attributes of the individualobjects are not important.
http://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtext -
8/6/2019 Software Development Diagrams
9/32
LinksLinks are instances of associations. You candraw a link using the lines used in classdiagrams.
Learn how to connect objects.
Self-linkedObjects that fulfill more than one role can beself-linked. For example, if Mark, anadministrative assistant, also fulfilled the roleof a marketing assistant, and the twopositions are linked, Mark's instance of the
two classes will be self-linked.What is a UML Use Case Diagram?Use case diagrams model the functionality of a system using actors and usecases. Use cases are services or functions provided by the system to its
users.
Basic Use Case Diagram Symbols and Notations
SystemDraw your system's boundries using a
rectangle that contains use cases. Placeactors outside the system's boundries.
Use CaseDraw use cases using ovals. Label with ovalswith verbs that represent the system'sfunctions.
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#conn -
8/6/2019 Software Development Diagrams
10/32
ActorsActors are the users of a system. When onesystem is the actor of another system, labelthe actor system with the actor stereotype.
RelationshipsIllustrate relationships between an actor and
a use case with a simple line. Forrelationships among use cases, use arrows
labeled either "uses" or "extends." A "uses"
relationship indicates that one use case isneeded by another in order to perform atask. An "extends" relationship indicatesalternative options under a certain use case.Learn how to draw relationships.
What is a UML Sequence Diagram?Sequence diagrams describe interactions among classes in terms of anexchange of messages over time.
Basic Sequence Diagram Symbols and Notations
Class roles
Class roles describe the way an object willbehave in context. Use the UML object symbolto illustrate class roles, but don't list objectattributes.Learn how to edit text on a symbol.
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtext -
8/6/2019 Software Development Diagrams
11/32
-
8/6/2019 Software Development Diagrams
12/32
LifelinesLifelines are vertical dashed lines that indicatethe object's presence over time.Learn how to attach activation boxes tolifelines.
Destroying ObjectsObjects can be terminated early using an arrow
labeled "< < destroy > >" that points to an X.
LoopsA repetition or loop within a sequence diagramis depicted as a rectangle. Place the condition
for exiting the loop at the bottom left corner in
square brackets [ ].Learn how to arrange objects on a page.
What is a UML Collaboration Diagram?A collaboration diagram describes interactions among objects in terms of
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#dropshaphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#dropshaphttp://www.smartdraw.com/tutorials/software-uml/uml11.htm#sendbackhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#dropshaphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#dropshaphttp://www.smartdraw.com/tutorials/software-uml/uml11.htm#sendback -
8/6/2019 Software Development Diagrams
13/32
sequenced messages. Collaboration diagrams represent a combination ofinformation taken from class, sequence, and use case diagrams describingboth the static structure and dynamic behavior of a system.
Basic Collaboration Diagram Symbols and Notations
Class rolesClass roles describe how objects behave. Use the
UML object symbol to illustrate class roles, but don'tlist object attributes.
Association rolesAssociation roles describe how an association willbehave given a particular situation. You can drawassociation roles using simple lines labeled with
stereotypes.Learn how to draw associations.
MessagesUnlike sequence diagrams, collaboration diagrams donot have an explicit way to denote time and insteadnumber messages in order of execution. Sequence
numbering can become nested using the Deweydecimal system. For example, nested messages
under the first message are labeled 1.1, 1.2, 1.3,
and so on. The a condition for a message is usuallyplaced in square brackets immediately following thesequence number. Use a * after the sequence
number to indicate a loop.Learn how to add arrows to your lines.
What is a UML Statechart Diagram?A statechart diagram shows the behavior of classes in response to externalstimuli. This diagram models the dynamic flow of control from state to statewithin a system.
Basic Statechart Diagram Symbols and Notations
StatesStates represent situations during the lifeof an object. You can easily illustrate astate in SmartDraw by using a rectanglewith rounded corners.
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarrhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#addarr -
8/6/2019 Software Development Diagrams
14/32
Transition
A solid arrow represents the pathbetween different states of an object.
Label the transition with the event thattriggered it and the action that results
from it.Learn how to draw lines and arrows inSmartDraw.
Initial StateA filled circle followed by an arrowrepresents the object's initial state.Learn how to rotate objects.
Final StateAn arrow pointing to a filled circle nestedinside another circle represents the
object's final state.
Synchronization and Splitting ofControlA short heavy bar with two transitionsentering it represents a synchronizationof control. A short heavy bar with twotransitions leaving it represents a splittingof control that creates multiple states.
What is a UML Activity Diagram?An activity diagram illustrates the dynamic nature of a system by modelingthe flow of control from activity to activity. An activity represents an
operation on some class in the system that results in a change in the state ofthe system. Typically, activity diagrams are used to model workflow or
business processes and internal operation. Because an activity diagram is aspecial kind of statechart diagram, it uses some of the same modeling
conventions.
Basic Activity Diagram Symbols and Notations
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml11.htm#rotateobjhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml11.htm#rotateobj -
8/6/2019 Software Development Diagrams
15/32
Action statesAction states represent the noninterruptibleactions of objects. You can draw an actionstate in SmartDraw using a rectangle withrounded corners.
Action Flow
Action flow arrows illustrate the relationshipsamong action states.
Learn how to draw action flows.
Object FlowObject flow refers to the creation andmodification of objects by activities. An objectflow arrow from an action to an object meansthat the action creates or influences theobject. An object flow arrow from an object toan action indicates that the action state usesthe object.Learn how to draw object flows.
Initial State
A filled circle followed by an arrow representsthe initial action state.
Final StateAn arrow pointing to a filled circle nestedinside another circle represents the final
action state.
http://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#conn -
8/6/2019 Software Development Diagrams
16/32
BranchingA diamond represents a decision withalternate paths. The outgoing alternatesshould be labeled with a condition or guardexpression. You can also label one of thepaths "else."
SynchronizationA synchronization bar helps illustrate paralleltransitions. Synchronization is also called
forking and joining.
SwimlanesSwimlanes group related activities into onecolumn.Read this this flowchart tutorial to learn howto create swimlanes in SmartDraw.
What is a UML Component Diagram?A component diagram describes the organization of the physical componentsin a system.
Basic Component Diagram Symbols and Notations
http://www.smartdraw.com/tutorials/flowcharts/tutorial2.htm#tablehttp://www.smartdraw.com/tutorials/flowcharts/tutorial2.htm#tablehttp://www.smartdraw.com/tutorials/flowcharts/tutorial2.htm#tablehttp://www.smartdraw.com/tutorials/flowcharts/tutorial2.htm#table -
8/6/2019 Software Development Diagrams
17/32
ComponentA component is a physical building block ofthe system. It is represented as a rectanglewith tabs.Learn how to resize grouped objects likecomponents.
Interface
An interface describes a group of operationsused or created by components.
DependenciesDraw dependencies among componentsusing dashed arrows.
Learn about line styles in SmartDraw.
What is a UML Deployment Diagram?Deployment diagrams depict the physical resources in a system including
nodes, components, and connections.
Basic Deployment Diagram Symbols and Notations
Node
A node is a physical resource that executescode components.
Learn how to resize grouped objects likenodes.
AssociationAssociation refers to a physical connectionbetween nodes, such as Ethernet.Learn how to connect two nodes.
http://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#connhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#grouphttp://www.smartdraw.com/tutorials/software-uml/uml8.htm#conn -
8/6/2019 Software Development Diagrams
18/32
Components and NodesPlace components inside the node thatdeploys them.
DATAFLOW DIAGRAM
What are Data Flow Diagrams?Data flow diagrams illustrate how data is processed by a system in terms ofinputs and outputs.
A data flow diagram
Data Flow Diagram NotationsYou can use two different types of notations on your data flow diagrams:Yourdon & Coad or Gane & Sarson.
-
8/6/2019 Software Development Diagrams
19/32
Process Notations
Yourdon and CoadProcess Notations
Gane and SarsonProcess Notation
ProcessA process transforms incoming dataflow into outgoing data flow.Learn how to edit text on this object.
Datastore Notations
Yourdon and CoadDatastore Notation
Gane and Sarson
Datastore Notations
DataStoreDatastores are repositories of data inthe system. They are sometimes alsoreferred to as files.Learn how to edit text on this object.
Dataflow Notations DataflowDataflows are pipelines through whichpackets of information flow. Label thearrows with the name of the data thatmoves through it.Learn how to connect objects.
http://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#connerdhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#connerd -
8/6/2019 Software Development Diagrams
20/32
External Entity Notations External EntityExternal entities are objects outside thesystem, with which the systemcommunicates. External entities aresources and destinations of the
system's inputs and outputs.Learn how to edit text on this
Data Flow Diagram LayersDraw data flow diagrams in several nested layers. A single process node on a
high level diagram can be expanded to show a more detailed data flowdiagram. Draw the context diagram first, followed by various layers of dataflow diagrams.
http://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtext -
8/6/2019 Software Development Diagrams
21/32
The nesting of data flow layers
Context DiagramsA context diagram is a top level (also known as Level 0) data flow diagram.
It only contains one process node (process 0) that generalizes the function of
the entire system in relationship to external entities.
DFD levels
The first level DFD shows the main processes within the system. Each ofthese processes can be broken into further processes until you reachpseudocode.
-
8/6/2019 Software Development Diagrams
22/32
An example first-level data flow diagram
Drawing Nested DFDs in SmartDrawYou can easily nest data flow diagrams in SmartDraw. Draw the high-leveldiagrams first, then select the process you want to expand, go to the Tools
menu, and select Insert Hyperlink. Link the selected process notation toanother SmartDraw diagram or a web page.
Once linked, a small plus sign will appear in the object, and clicking on itopens the linked file.
-
8/6/2019 Software Development Diagrams
23/32
-
8/6/2019 Software Development Diagrams
24/32
Browse on your network to find the files you want to link to
You can use this hyperlink function to open any kind of file, including textdocuments, spreadsheets, web pages, or even to launch a program!
What are ERDs?Entity Relationship Diagrams (ERDs) illustrate the logical structure ofdatabases.
An ER Diagram
-
8/6/2019 Software Development Diagrams
25/32
Entity Relationship Diagram NotationsPeter Chen developed ERDs in 1976. Since then Charles Bachman and JamesMartin have added some sligh refinements to the basic ERD principles.
EntityAn entity is an object or concept aboutwhich you want to store information.Learn how to edit text on an entity.
Weak EntityA weak entity is dependent on anotherentity to exist. Learn how to edit text on thisobject.
AttributesAttributes are the properties orcharacteristics of an entity.Learn how to edit text on this object.
Key attributeA key attribute is the unique, distinguishingcharacteristic of the entity. For example, anemployee's social security number might bethe employee's key attribute.
Multivalued attributeA multivalued attribute can have more thanone value. For example, an employee entitycan have multiple skill values.
Derived attributeA derived attribute is based on anotherattribute. For example, an employee'smonthly salary is based on the employee'sannual salary.
Relationships
Relationships illustrate how two entitiesshare information in the database structure.
Learn how to draw relationships:First, connect the two entities, then drop the
relationship notation on the line.
http://www.csc.lsu.edu/~chen/chen.htmlhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#connecthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#droprelhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#droprelhttp://www.csc.lsu.edu/~chen/chen.htmlhttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-uml/uml10.htm#addtexthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#connecthttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#droprelhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#droprel -
8/6/2019 Software Development Diagrams
26/32
Weak relationshipTo connect a weak entity with others, youshould use a weak relationship notation.
Click here for morecardinality notations
CardinalityCardinality specifies how many instances ofan entity relate to one instance of anotherentity.
Ordinality is also closely linked to cardinality.While cardinality specifies the occurences ofa relationship, ordinality describes therelationship as either mandatory or optional.In other words, cardinality specifies the
maximum number of relationships andordinality specifies the absolute minimumnumber of relationships.
To learn how to express cardinality in
SmartDraw, click here.
Recursive relationshipIn some cases, entities can be self-linked.For example, employees can supervise otheremployees.
Drawing ER Diagrams in SmartDrawYou can draw E-R diagrams in SmartDraw easily and quickly.
ERD LibraryUse the SmartDraw explorer to find the ERD library located under SoftwareDesign and ERD & DFD.
http://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#drawcardordhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#drawcardordhttp://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#drawcardordhttp://www.smartdraw.com/tutorials/software-erd/erd2.htm#drawcardord -
8/6/2019 Software Development Diagrams
27/32
The SmartDraw ERD library
To open the library, double-click on it or drag it to the drawing area.
Adding an ERD Symbol to Your PageTo add an ERD symbol to your page, click on it and without releasing the
mouse, drag it to the page.
-
8/6/2019 Software Development Diagrams
28/32
-
8/6/2019 Software Development Diagrams
29/32
Placing the Relationship SymbolTo add a relationship symbol between two entities, first draw the lineconnecting the two entities. Then, drag a relationship symbol from the ERD
library and drop it on the line. (Make sure that Allow Shapes to Link to
Lines is turned on under the Arrange menu.)
Dropping a relationship symbol on a line
If you're dropping a relationship symbol on a vertical line, it might not attachcorrectly. To make sure the symbol retains its original angle of rotation,right-click on the line and select Horizontally under Align Shapes andText to Line.
Drawing Cardinality and Ordinality RelationshipsYou can express cardinality and ordinality on an E-R diagram in a number of
-
8/6/2019 Software Development Diagrams
30/32
ways. For a quick look at the different types of notations, click here.
Adding ArrowsYou can represent cardinality and ordinality by adding arrowheads to the
lines connecting entities. To do so, select a line, go to Arrowheads under
the Lines menu, and go to More Styles under Arrowheads. Choose theappropriate arrowhead for the type of relationship you want to illustrate.
Choose the arrowhead that represents the appropriate cardinality andordinality
Tips for Effective ER Diagrams1) Make sure that each entity only appears once per diagram.
2) Name every entity, relationship, and attribute on your diagram.
3) Examine relationships between entities closely. Are they necessary? Arethere any relationships missing? Eliminate any redundant relationships. Don't
connect relationships to each other.
4) Use colors to highlight important portions of your diagram.
http://www.smartdraw.com/tutorials/software-erd/erdcardinality.htmhttp://www.smartdraw.com/tutorials/software-erd/erdcardinality.htm -
8/6/2019 Software Development Diagrams
31/32
Using colors can help you highlight important features in your diagram
5) SmartDraw makes it easy to share your software design diagram with
others in a business presentation or on the web.
Export as GIF or JPEG for the webPublish to your free SmartDrawNet web space with just one click. Any
hyperlinksin your drawings become working hyperlinks on the weband interlinked
pagesbecome interlinked web sites! More infoExport as HTML with working hyperlinksCopy & Paste into PowerPoint or other Office Suite programs More info
When you paste your diagram into another program (such as PowerPoint),you can edit it by simply double-clicking on the diagram in the otherprogram. This opens the diagram in SmartDraw for editing, and your
changes will be updated in the other program automatically.
6) Create a polished diagram by adding shadows and color. You can choosefrom a number of ready-made styles in the Edit menu under Colors andShadows, or you can create your own.
http://www.smartdraw.com/net/http://www.smartdraw.com/exp/ste/tutorials/office.htmhttp://www.smartdraw.com/net/http://www.smartdraw.com/exp/ste/tutorials/office.htm -
8/6/2019 Software Development Diagrams
32/32
An ER diagram created using the Blues style in SmartDraw
To hide the shadow on an individual object, go to the Arrange menu andselect Hide Shadow.