UML Notation Guide including DFD & E-R By Mr.venkat · PDF fileUML Notation Guide including...
Transcript of UML Notation Guide including DFD & E-R By Mr.venkat · PDF fileUML Notation Guide including...
www.Chikkanti.wordpress.com
UML Notation Guide
including DFD & E-R
By Mr.venkat
www.Chikkanti.wordpress.com
Data Flow Diagrams
What are Data Flow Diagrams?
Data flow diagrams illustrate how data is processed by a system in terms of inputs
and outputs.
A data flow diagram
Data Flow Diagram Notations
You can use two different types of notations on your data flow diagrams:Yourdon
& Coad or Gane & Sarson.
Process Notations
Process
A process transforms incoming data flow into outgoing data flow.
www.Chikkanti.wordpress.com
Yourdon and Coad Process Notations
Gane and Sarson Process Notation
Datastore Notations
DataStore
Datastores are repositories of data in the system. They are sometimes also referred
to as files.
Yourdon and Coad Datastore Notations
www.Chikkanti.wordpress.com
Gane and Sarson Datastore Notations
Dataflow Notations
Dataflow
Dataflows are pipelines through which packets of information flow. Label the
arrows with the name of the data that moves through it.
External Entity Notations
External Entity
External entities are objects outside the system, with which the system
communicates. External entities are sources and destinations of the system's inputs
and outputs.
www.Chikkanti.wordpress.com
Data Flow Diagram Layers
Draw 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 flow diagram. Draw
the context diagram first, followed by various layers of data flow diagrams.
The nesting of data flow layers
www.Chikkanti.wordpress.com
Context Diagrams
A 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 of these
processes can be broken into further processes until you reach pseudocode.
www.Chikkanti.wordpress.com
An example first-level data flow diagram
Drawing Nested DFDs in SmartDraw
You can easily nest data flow diagrams in SmartDraw. Draw the high-level
diagrams first, then select the process you want to expand, go to the Tools menu,
and select Insert Hyperlink. Link the selected process notation to another
SmartDraw diagram or a web page.
www.Chikkanti.wordpress.com
Once linked, a small plus sign will appear in the object, and clicking on it opens
the linked file.
Clicking on the plus sign will open the linked file
When you link two SmartDraw files, the link created between them is absolute, not
relative. (A link to a file on your hard drive will look something like this:
C://SmartDraw Files/Project X/dataflow2.sdr instead of a relative link:
dataflow2.sdr) In order to share your files with others, you can either save your
files to a network drive or save and publish them as web pages. If you save your
diagrams on a network, make sure you go to Network Neighborhood or My
Network Places to find the appropriate directory instead of using your local
mapped drives.
www.Chikkanti.wordpress.com
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 text
documents, spreadsheets, web pages, or even to launch a program!
Entity Relationship Diagrams
What are Entity Relationship Diagrams?
Entity Relationship Diagrams (ERDs) illustrate the logical structure of databases.
www.Chikkanti.wordpress.com
An ER Diagram
Entity Relationship Diagram Notations
Peter Chen developed ERDs in 1976. Since then Charles Bachman and James
Martin have added some sligh refinements to the basic ERD principles.
Entity
An entity is an object or concept about which you want to store information.
Weak Entity
www.Chikkanti.wordpress.com
A weak entity is an entity that must defined by a foreign key relationship with
another entity as it cannot be uniquely identified by its own attributes alone.
Key attribute
A key attribute is the unique, distinguishing characteristic of the entity. For
example, an employee's social security number might be the employee's key
attribute.
Multivalued attribute
A multivalued attribute can have more than one value. For example, an employee
entity can have multiple skill values.
Derived attribute
A derived attribute is based on another attribute. For example, an employee's
monthly salary is based on the employee's annual salary.
Relationships
www.Chikkanti.wordpress.com
Relationships illustrate how two entities share information in the database
structure.
Learn how to draw relationships:
First, connect the two entities, then drop the relationship notation on the line.
Cardinality
Cardinality specifies how many instances of an entity relate to one instance of
another entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the
occurences of a relationship, ordinality describes the relationship as either
mandatory or optional. In other words, cardinality specifies the maximum number
of relationships and ordinality specifies the absolute minimum number of
relationships.
Recursive relationship
In some cases, entities can be self-linked. For example, employees can supervise
other employees.
www.Chikkanti.wordpress.com
Drawing ER Diagrams in SmartDraw
You can draw E-R diagrams in SmartDraw easily and quickly.
ERD Library
Use the SmartDraw explorer to find the ERD library located under Software
Design and Software.
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 Page
To add an ERD symbol to your page, click on it and without releasing the mouse,
drag it to the page.
www.Chikkanti.wordpress.com
Dragging an ERD symbol to the page
Connecting Entities
To connect two entities, select one of the line tools on the Toolbar by clicking on it
once. Now, your cursor should look like a pencil. Touch the pencil to the edge of
the first shape, click down, and without releasing the mouse, stretch the line to the
edge of the next shape until you see the anchor symbol.
Drawing the line between two entities
Connecting two symbols
If you don't see the anchor symbol, go to the Arrange menu and make sureAllow
Lines to Link is turned on.
Drawing ER Diagrams in SmartDraw - Part 2
Placing the Relationship Symbol
To add a relationship symbol between two entities, first draw the line connecting
the two entities. Then, drag a relationship symbol from the ERD library and drop it
www.Chikkanti.wordpress.com
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 attach
correctly. To make sure the symbol retains its original angle of rotation, right-click
on the line and select Horizontally under Align Shapes and Text to Line.
Dropping a relationship symbol on a line
Drawing Cardinality and Ordinality Relationships
You can express cardinality and ordinality on an E-R diagram in a number of
ways. For a quick look at the different types of notations,
Adding Arrows
You can represent cardinality and ordinality by adding arrowheads to the lines
connecting entities. To do so, select a line, go to Arrowheads under
www.Chikkanti.wordpress.com
the Linesmenu, and go to More Styles under Arrowheads. Choose the appropriate
arrowhead for the type of relationship you want to illustrate.
Choose the arrowhead that represents the appropriate cardinality and ordinality
Cardinality Notations
Cardinality specifies how many instances of an entity relate to one instance of
another entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the
occurances of a relationship, ordinality describes the relationship as either
mandatory or optional. In other words, cardinality specifies the maximum number
of relationships and ordinality specifies the absolute minimum number of
relationships. When the minimum number is zero, the relationship is usually called
optional and when the minimum number is one or more, the relationship is usually
called mandatory.
There are many notation styles that express cardinality and they are all supported
by SmartDraw.
Information Engineering
www.Chikkanti.wordpress.com
Chen
Bachman
www.Chikkanti.wordpress.com
Martin
Tips for Effective ER Diagrams
1) 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? Are there
any relationships missing? Eliminate any redundant relationships. Don't connect
relationships to each other.
4) Use colors to highlight important portions of your diagram.
www.Chikkanti.wordpress.com
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 web
Publish to your free SmartDrawNet web space with just one click. Any
hyperlinks
in your drawings become working hyperlinks on the web—and interlinked
pages
become interlinked web sites!
Export as HTML with working hyperlinks
Copy & Paste into PowerPoint® or other Microsoft Office
® Suite programs.
When you paste your diagram into another program (such as PowerPoint®), you
can edit it by simply double-clicking on the diagram in the other program. 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 choose from a
number of ready-made styles in the Edit menu under Colors and Shadows, or you
can create your own.
www.Chikkanti.wordpress.com
To hide the shadow on an individual object, go to the Arrange menu and
selectHide Shadow.
UML DIAGRAMS
What is UML?
UML stands for Unified Modeling Language. This object-oriented system of
notation has evolved from the work of Grady Booch, James Rumbaugh, Ivar
Jacobson, and the Rational Software Corporation. These renowned computer
scientists fused their respective technologies into a single, standardized model.
Today, UML is accepted by the Object Management Group (OMG) as the standard
for modeling object oriented programs.
Types of UML Diagrams
UML defines nine types of diagrams: class (package), object, use case, sequence,
collaboration, statechart, activity, component, and deployment.
Class Diagrams
Class diagrams are the backbone of almost every object oriented method, including
UML. They describe the static structure of a system.
www.Chikkanti.wordpress.com
Package Diagrams
Package diagrams are a subset of class diagrams, but developers sometimes treat
them as a separate technique. Package diagrams organize elements of a system into
related groups to minimize dependencies between packages.
Object Diagrams
Object diagrams describe the static structure of 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 of system using actors and use cases.
www.Chikkanti.wordpress.com
Sequence Diagrams
Sequence diagrams describe interactions among classes in terms of an exchange of
messages over time.
Collaboration Diagrams
Collaboration diagrams represent interactions between objects as a series of
sequenced messages. Collaboration diagrams describe both the static structure and
the dynamic behavior of a system.
www.Chikkanti.wordpress.com
Statechart Diagrams
Statechart diagrams describe the dynamic behavior of a system in response to
external stimuli. Statechart diagrams are especially useful in modeling reactive
objects whose states are triggered by specific events.
Activity Diagrams
Activity diagrams illustrate the dynamic nature of a system by modeling the 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 of the system. Typically,
activity diagrams are used to model workflow or business processes and internal
operation.
www.Chikkanti.wordpress.com
Component Diagrams
Component diagrams describe the organization of physical software components,
including source code, run-time (binary) code, and executables.
Deployment Diagrams
Deployment diagrams depict the physical resources in a system, including nodes,
components, and connections.
www.Chikkanti.wordpress.com
What is a UML Use Case Diagram?
Use case diagrams model the functionality of a system using actors and use cases.
Use cases are services or functions provided by the system to its users.
Basic Use Case Diagram Symbols and Notations
System
Draw your system's boundaries using a rectangle that contains use cases. Place
actors outside the system's boundaries.
www.Chikkanti.wordpress.com
Use Case
Draw use cases using ovals. Label with ovals with verbs that represent the system's
functions.
Actors
Actors are the users of a system. When one system is the actor of another system,
label the actor system with the actor stereotype.
www.Chikkanti.wordpress.com
Relationships
Illustrate relationships between an actor and a use case with a simple line. For
relationships among use cases, use arrows labeled either "uses" or "extends." A
"uses" relationship indicates that one use case is needed by another in order to
perform a task. An "extends" relationship indicates alternative options under a
certain use case.
What is a UML Class Diagram?
Class diagrams are the backbone of almost every object-oriented method including
UML. They describe the static structure of a system.
www.Chikkanti.wordpress.com
Basic Class Diagram Symbols and Notations
Classes represent an abstraction of entities with common characteristics.
Associations represent the relationships between classes.
Illustrate classes with rectangles divided into compartments. Place the name of the
class in the first partition (centered, bolded, and capitalized), list the attributes in
the second partition, and write operations into the third.
Learn how to create this symbol.
Active Class
Active classes initiate and control the flow of activity, while passive classes store
data and serve other classes. Illustrate active classes with a thicker border.
Visibility
Use visibility markers to signify who can access the information contained within a
class. Private visibility hides information from anything outside the class partition.
Public visibility allows all other classes to view the marked information. Protected
visibility allows child classes to access information they inherited from a parent
class. Learn how to edit text.
www.Chikkanti.wordpress.com
Associations
Associations represent static relationships between classes. Place association
names above, on, or below the association line. Use a filled arrow to indicate the
direction of the relationship. Place roles near the end of an 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 edit text.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. These symbols indicate
the number of instances of one class linked to one instance of the other class. For
example, one company will have one or more employees, but each employee
works for one company only.
Constraint
Place constraints inside curly braces {}.
www.Chikkanti.wordpress.com
Simple Constraint
Composition and Aggregation
Composition is a special type of aggregation 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 a simple aggregation
relationship, in which the "whole" class plays a more important role than the "part"
class, but the two classes are not dependent on each other. The diamond end in
both a composition and aggregation relationship points toward the "whole" class or
the aggregate.
Generalization
Generalization is another name for inheritance or an "is a" relationship. It refers to
a relationship between two classes where one class is a specialized version of
www.Chikkanti.wordpress.com
another. For example, Honda is a type of car. So the class Honda would have a
generalization relationship with the class car.
In real life coding examples, the difference between inheritance and
aggregation can be confusing. If you have an aggregation relationship, the
aggregate (the whole) can access only the PUBLIC functions of the part class.
On the other hand, inheritance allows the inheriting class to access both the
PUBLIC and PROTECTED functions of the superclass.
What is a UML Sequence Diagram?
Sequence diagrams describe interactions among classes in terms of an exchange of
messages over time.
Basic Sequence Diagram Symbols and Notations
Class roles
Class roles describe the way an object will behave in context. Use the UML object
symbol to illustrate class roles, but don't list object attributes.
Activation
Activation boxes represent the time an object needs to complete a task.
www.Chikkanti.wordpress.com
Messages
Messages are arrows that represent communication between objects. Use half-
arrowed lines to represent asynchronous messages. Asynchronous messages are
sent from an object that will not wait for a response from the receiver before
continuing its tasks.
Various message types for Sequence and Collaboration diagrams
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over time.
www.Chikkanti.wordpress.com
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that points
to an X.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place the
condition for exiting the loop at the bottom left corner in square brackets [ ].
www.Chikkanti.wordpress.com
What is a UML Collaboration Diagram?
A collaboration diagram describes interactions among objects in terms of
sequenced messages. Collaboration diagrams represent a combination of
information taken from class, sequence, and use case diagrams describing both the
static structure and dynamic behavior of a system.
Basic Collaboration Diagram Symbols and Notations
Class roles
Class roles describe how objects behave. Use the UML object symbol to illustrate
class roles, but don't list object attributes.
Association roles
Association roles describe how an association will behave given a particular
situation. You can draw association roles using simple lines labeled with
www.Chikkanti.wordpress.com
stereotypes.
Messages
Unlike sequence diagrams, collaboration diagrams do not have an explicit way to
denote time and instead number messages in order of execution. Sequence
numbering can become nested using the Dewey decimal 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 usually placed in square brackets immediately following
the sequence number. Use a * after the sequence number to indicate a loop.
What is a UML Component Diagram?
A component diagram describes the organization of the physical components in a
system.
Basic Component Diagram Symbols and Notations
Component
A component is a physical building block of the system. It is represented as a
rectangle with tabs.
Interface
An interface describes a group of operations used or created by components.
www.Chikkanti.wordpress.com
Dependencies
Draw dependencies among components using dashed arrows.
What is a UML Activity Diagram?
An activity diagram illustrates the dynamic nature of a system by modeling the
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 of the system.
Typically, activity diagrams are used to model workflow or business processes and
internal operation. Because an activity diagram is a special kind of statechart
diagram, it uses some of the same modeling conventions.
Basic Activity Diagram Symbols and Notations
Action states
Action states represent the noninterruptible actions of objects. You can draw an
action state in SmartDraw using a rectangle with rounded corners.
Action Flow
Action flow arrows illustrate the relationships among action states.
Learn how to draw action flows.
www.Chikkanti.wordpress.com
Object Flow
Object flow refers to the creation and modification of objects by activities. An
object flow arrow from an action to an object means that the action creates or
influences the object. An object flow arrow from an object to an action indicates
that the action state uses the object.
Learn how to draw object flows.
Initial State
A filled circle followed by an arrow represents the initial action state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the final
action state.
Branching
A diamond represents a decision with alternate paths. The outgoing alternates
should be labeled with a condition or guard expression. You can also label one of
the paths "else."
www.Chikkanti.wordpress.com
Synchronization
A synchronization bar helps illustrate parallel transitions. Synchronization is also
called forking and joining.
Swimlanes
Swimlanes group related activities into one column.
www.Chikkanti.wordpress.com
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
Component
A node is a physical resource that executes code components.
Association
Association refers to a physical connection between nodes, such as Ethernet.
Components and Nodes
Place components inside the node that deploys them.
What is a UML Object Diagram?
www.Chikkanti.wordpress.com
Object diagrams are also closely linked to class diagrams. Just as an object is an
instance of a class, an object diagram could be viewed as an instance of a class
diagram. Object diagrams describe the static structure of a system at a particular
time and they are used to test the accuracy of class diagrams.
Basic Object Diagram Symbols and Notations
Object names
Each object is represented as a rectangle, which contains the name of the object
and its class underlined and separated by a colon.
Object attributes
As with classes, you can list object attributes in a separate compartment. However,
unlike classes, object attributes must have values assigned to them.
Active object
Objects that control action flow are called active objects. Illustrate these objects
with a thicker border.
www.Chikkanti.wordpress.com
Multiplicity
You can illustrate multiple objects as one symbol if the attributes of the individual
objects are not important.
Links
Links are instances of associations. You can draw a link using the lines used in
class diagrams.
Self-linked
Objects that fulfill more than one role can be self-linked. For example, if Mark, an
administrative assistant, also fulfilled the role of a marketing assistant, and the two
positions are linked, Mark's instance of the two classes will be self-linked.
www.Chikkanti.wordpress.com
What is a UML Package Diagram?
Package diagrams organize the elements of a system into related groups to
minimize dependencies among them.
Basic Package Diagram Symbols and Notations
Packages
Use a tabbed folder to illustrate packages. Write the name of the package on the
tab or inside the folder. Similar to classes, you can also list the attributes of a
package.
Visibility
Visibility markers signify who can access the information contained within a
package. Private visibility means that the attribute or the operation is not accessible
to anything outside the package. Public visibility allows an attribute or an
operation to be viewed by other packages. Protected visibility makes an attribute or
operation visible to packages that inherit it only.
Dependency
Dependency defines a relationship in which changes to one package will affect
another package. Importing is a type of dependency that grants one package access
www.Chikkanti.wordpress.com
to the contents of another package.
What is a UML Statechart Diagram?
A statechart diagram shows the behavior of classes in response to external stimuli.
This diagram models the dynamic flow of control from state to state within a
system.
Basic Statechart Diagram Symbols and Notations
States
States represent situations during the life of an object. You can easily illustrate a
state in SmartDraw by using a rectangle with rounded corners.
Transition
A solid arrow represents the path between different states of an object. Label the
transition with the event that triggered it and the action that results from it.
Initial State
www.Chikkanti.wordpress.com
A filled circle followed by an arrow represents the object's initial state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the
object's final state.
Synchronization and Splitting of Control
A short heavy bar with two transitions entering it represents a synchronization of
control. A short heavy bar with two transitions leaving it represents a splitting of
control that creates multiple states.