Você está na página 1de 13

Hernandez, John Kenneth M.

May 8, 2018

BSIT – III

What is a diagram?

- a simplified drawing showing the appearance, structure, or workings of something; a


schematic representation.
- a symbolic representation of information according to some visualization technique.
Diagrams have been used since ancient times, but became more prevalent during the
Enlightenment. Sometimes, the technique uses a three-dimensional visualization which is
then projected onto a two-dimensional surface. The word graph is sometimes used as a
synonym for diagram.

Advantages of a Diagram

 Makes planning easier – Because you can visualize the structure it helps in future plans. You can
allocate resources better; quickly find competencies of individuals and much more.
 Increased Accuracy - can provide on-going debugging and error checking which is very vital for
early defect removal, which actually played a major role in shaping modern software.
 Better Documentation - vast amounts of documentation are produced along the way. Most
tools have revisions for comments and notes on systems development and maintenance.
 Programming in the hands of non-programmers - with the increased movement towards object
oriented technology and client server bases, programming can also be done by people who
don't have a complete programming background. It would be important to understand the logic
of the program and possess the ability to analyse the organization of the program and all the
intricate details involved in generating good software.) By using the lower case tools, it could be
possible to develop software from the initial design and analysis phase.
 Intangible Benefits - can be used to allow for greater user participation, which can lead to
better acceptance of the new system. This can reduce the initial learning curve.
Disadvantages of a Diagram

 They do not capture the non-functional requirements easily.


 There might be a learning curve for the developer and/or specially, the client in using these
use cases.
 they are usually not documents that are kept up to date so they don't work well as long-term
documentation
 Needs proper plan to integrate the components
 More expansive as compared to waterfall model. More expansive as compared to waterfall
model.

Different Types of Diagrams and its usage

 Use Case Diagram - A cornerstone part of the system is the functional requirements that the
system fulfils. Use Case diagrams are used to analyse the system’s high-level requirements.
These requirements are expressed through different use cases.
 Interaction Overview Diagram - interaction Overview UML diagrams are probably some of the
most complex ones. So, the interaction overview diagram is an activity diagram made of
different interaction diagrams. Let’s say that it is a mix of activity diagrams with interaction
diagrams, however, most websites like to regard them as specialized activity diagrams. What
this means is that you can use most annotations that are used within an activity diagram, with
the addition of elements such as interaction, interaction use, time constraint, duration etc…

 State Machine UML diagram - State machine UML diagrams, also referred to as Statechart
diagrams, are used to describe the different states of a component within a system. It takes the
name state machine because the diagram is essentially a machine that describes the several
states of an object and how it changes based on internal and external events.A very simple state
machine diagram would be that of a chess game. A typical chess game consists of moves made
by White and moves made by Black. White gets to have the first move and thus initiates the
game. The conclusion of the game can occur regardless of whether it is the White’s turn or the
Black’s. The game can end with a checkmate, resignation or in a draw (different states of the
machine).

 Sequence UML Diagram - Sequence diagrams are probably the most important UML diagrams

among not only the computer science community but also as design-level models for business

application development. Lately, they have become popular in depicting business processes,

because of their visually self-explanatory nature.

As the name suggests, sequence diagrams describe the sequence of messages and
interactions that happen between actors and objects. Actors or objects can be active only when
needed or when another object wants to communicate with them. All communication is
represented in a chronological manner. To get a better idea, check the example of a UML
sequence diagram below.
As the name suggests, structural diagrams are used to depict the structure of a system.
More specifically, it is used in software development to represent the architecture of the system
and how the different components are interconnected (not how they behave or communicate,
simply where they stand).

Below you can see an example of a sequence diagram, depicting a course registration
system.

 Communication UML diagram - communication diagrams used to be called collaborative

diagrams. As the name suggests, the main focus of this type of UML diagram is on
communication between objects.
 Class Diagram - Class UML diagram is the most common diagram type for software
documentation. Since most software being created nowadays is still based on the Object-
Oriented Programming paradigm, using class diagrams to document the software turns out to
be a common-sense solution. This happens because OOP is based on classes and the relations
between them.

In a nutshell, class diagrams contain classes, alongside with their attributes (also
referred to as data fields) and their behaviours (also referred to as member functions). More
specifically, each class has 3 fields: the class name at the top, the class attributes right below the
name, the class operations/behaviours at the bottom. The relation between different classes
(represented by a connecting line), makes up a class diagram.
 Object Diagram - Object UML diagrams help software developers check whether the generic
abstract structure that they have created (class diagram), represents a viable structure when put
into practice, i.e: when the objects of a class are instantiated. Some developers see it as a
secondary level of accuracy checking.

 Component Diagram - When dealing with documentation of complex systems, component UML
diagrams can help break down the system into smaller components. Sometimes it is hard to
depict the architecture of a system because it might encompass several departments or it might
employ different technologies.

For example, Lambda architecture is the typical example of a complex architecture that
can be represented using a component UML diagram. Lambda architecture is a data-processing
architecture employed by several companies for storing and processing data in a distributed
system. It is made up of three different layers: the speed layer, the batch layer and the serving
one.

 Composite Structure Diagram - This type of UML diagram is not commonly used because its
function is very specific. It only represents the internal structure of a class and the relations
between different class components.

Business professionals are not generally interested in composite structure diagrams


because their main focus is on the top level view of components and how they communicate
with one the other. It is almost irrelevant for a manager to know how a specific data member of
a class is related to a data member of another class.

Below, you can find a simplified example for getting a general idea of how it looks.
 Deployment Diagram - Deployment diagrams are used to visualize the relation between

software and hardware. To be more specific, with deployment diagrams we can construct a

physical model of how software components (artifacts) are deployed on hardware components,

known as nodes.
Diagrams used in software development

1. Entity Relationship Diagram

An entity–relationship model (ER model for short) describes interrelated things of interest
in a specific domain of knowledge. A basic ER model is composed of entity types (which
classify the things of interest) and specifies relationships that can exist between instances of
those entity types.

In software engineering, an ER model is commonly formed to represent things that a


business needs to remember in order to perform business processes. Consequently, the ER
model becomes an abstract data model that defines a data or information structure which
can be implemented in a database, typically a relational database.

Entity–relationship modelling was developed for database design by Peter Chen and
published in a 1976 paper. However, variants of the idea existed previously. Some ER
models show super and subtype entities connected by generalization-specialization
relationships, and an ER model can be used also in the specification of domain-specific
ontologies.
2. Unified Modeling Language

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling


language in the field of software engineering that is intended to provide a standard way to
visualize the design of a system

UML is a way of visualizing a software program using a collection of diagrams. The notation
has evolved from the work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the
Rational Software Corporation to be used for object-oriented design, but it has since been
extended to cover a wider variety of software engineering projects. Today, UML is accepted
by the Object Management Group (OMG) as the standard for modeling software
development.
3. Data Flow Model Diagram

Data Flow Model Diagram is a significant modeling technique for analyzing and constructing
information processes. DFD literally means an illustration that explains the course or
movement of information in a process. DFD illustrates this flow of information in a process
based on the inputs and outputs. A DFD can be referred to as a Process Model.

Você também pode gostar