Вы находитесь на странице: 1из 32

SOFTWARE DEVELOPMENT 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.

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.

What is a UML Class Diagram? Class diagrams are the backbone of almost every object-oriented method Sequence Diagrams including UML. They describe the static structure of a system. Sequence diagrams describe interactions among classes in terms of an exchange of messages over time. Basic Class Diagram Symbols and Notations Classes represent an abstraction of entities with common characteristics. Associations represent the relationships between classes.

Classes Illustrate classes with rectangles Collaborationinto compartments. Place the divided Diagrams Collaborationof the class in the first partition name diagrams represent interactions between objects as a series ofcapitalized), list (centered, bolded, and sequenced messages. attributes in the second describe the Collaboration diagrams partition, both the static structure and the the third. and write operations into dynamic behavior of ahow to create this symbol. Learn system.

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 Statechart Diagrams border. Statechart diagrams describe the dynamic behavior of a system in response to external stimuli. Statechart diagrams are especially useful in modeling reactive objects whose Visibility states are triggered markers to events.who Use visibility by specific signify

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 Activity Diagrams edit text. 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.

Component Diagrams

organization of physical software components, including source code, run-time (binary) code, and executables.

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 Deployment Diagrams relationship. Place roles near the end of Deployment diagrams depict the physical an association. Roles represent the way resources in a system, including 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 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 {}.

Simple Constraint

Complex 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 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. Learn how to draw a generalization relationship.

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. Learn how to resize a grouped object like 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. Learn how to edit text on a symbol.

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 to the contents of 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

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. Learn how to edit text on a symbol.

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.

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. Learn how to connect objects.

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.

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 boundries using a rectangle that contains use cases. Place actors outside the system's boundries.

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.

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. Learn how to draw relationships.

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. Learn how to edit text on a symbol.

Activation Activation boxes represent the time an object needs to complete a task.

Messages Messages are arrows that represent communication between objects. Use halfarrowed 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. Learn how to draw messages.

Various message types for Sequence and Collaboration diagrams

Lifelines Lifelines are vertical dashed lines that indicate the object's presence over time. Learn how to attach activation boxes to lifelines.

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 [ ]. Learn how to arrange objects on a page.

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 stereotypes. Learn how to draw associations.

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. 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 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. Learn how to draw lines and arrows in SmartDraw.

Initial State A filled circle followed by an arrow represents the object's initial state. Learn how to rotate objects.

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.

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.

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."

Synchronization A synchronization bar helps illustrate parallel transitions. Synchronization is also called forking and joining.

Swimlanes Swimlanes group related activities into one column. Read this this flowchart tutorial to learn how to create swimlanes in SmartDraw.

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. Learn how to resize grouped objects like components.

Interface An interface describes a group of operations used or created by components.

Dependencies Draw dependencies among components using 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 executes code components. Learn how to resize grouped objects like nodes.

Association Association refers to a physical connection between nodes, such as Ethernet. Learn how to connect two nodes.

Components and Nodes Place components inside the node that deploys them.

DATAFLOW DIAGRAM
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. Learn how to edit text on this object.

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. Learn how to edit text on this object.

Yourdon and Coad Datastore Notation

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. Learn how to connect objects.

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. Learn how to edit text on this

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

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.

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.

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.

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!

What are ERDs? Entity Relationship Diagrams (ERDs) illustrate the logical structure of databases.

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. Learn how to edit text on an entity. Weak Entity A weak entity is dependent on another entity to exist. Learn how to edit text on this object. Attributes Attributes are the properties or characteristics of an entity. Learn how to edit text on this object. 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 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.

Weak relationship To connect a weak entity with others, you should use a weak relationship notation.

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. To learn how to express cardinality in SmartDraw, click here.

Click here for more cardinality notations

Recursive relationship In some cases, entities can be self-linked. For example, employees can supervise other employees.

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 ERD & DFD.

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.

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 sure Allow Lines to Link is turned on.

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 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.

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, click here.

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 the Lines menu, 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

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.

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 weband interlinked pages become interlinked web sites! More info Export as HTML with working hyperlinks Copy & 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 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.

An ER diagram created using the Blues style in SmartDraw To hide the shadow on an individual object, go to the Arrange menu and select Hide Shadow.

Вам также может понравиться