# data[].attributes.body
Advantages of flowcharts
-Flowcharts are better way of communicating the logic of a system to all concerned or involved.

-With the help of flowchart, problem can be analysed in more effective way therefore reducing cost and wastage of time.

-Program flowcharts serve as a good program documentation, which is needed for various purposes, making things more efficient.

Disadvantages of flowcharts
-Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy. This will become a pain for the user, resulting in a waste of time and money trying to correct the problem.

- As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.

# data[].attributes.body
ity and the formality at
ity and the formality at the architectural level, which discourages the use of UML and has become one of its disadvantages.

Ascending Degree of Complexity

Since its initiation until now, UML has grown in complexity and size. The sheer size of UML makes a lot of people nervo
Flow charts
Flow charts
Advantages of flowcharts 
-Flowcharts are better way of communicating the logic of a system to all concerned or involved.

-With the help of flowchart, problem can be analysed in more effective way therefore reducing cost and wastage of time.

-Program flowcharts serve as a good program documentation, which is needed for various purposes, making things more efficient.

Disadvantages of flowcharts
-Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy. This will become a pain for the user, resulting in a waste of time and money trying to correct the problem.

- As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.

Data flow diagrams
Data flow diagrams
Data-flow diagram
Description:
A data-flow diagram is a way of representing a flow of a data of a process or a system. 
Advantages of data flow diagram:

It aids in describing the boundaries of the system.
It is beneficial for communicating existing system knowledge to the users.
A straightforward graphical technique which is easy to recognise.
DFDs can provide a detailed representation of system components.
It is used as the part of system documentation file.
DFDs are easier to understand by technical and nontechnical audiences
It supports the logic behind the data flow within the system.
Disadvantages of data flow diagram:

It make the programmers little confusing concerning the system.
The biggest drawback of the DFD is that it simply takes a long time to create, so long that the analyst may not receive support from management to complete it.
Physical considerations are left out.



Pseudocode
Pseudocode 
Advantages 

Since it is a language-independent it can be used by most programmers it allows the developer to express the 

# data[].attributes.body
ity and the formality at the architectural level, which discourages the use of UML and has become one of its disadvantages.

Ascending Degree of Complexity

Since its initiation until now, UML has grown in complexity and size. The sheer size of UML makes a lot of people nervo

# data[].attributes.body
Advantages

Since it is a language-independent it can be used by most programmers it allows the developer to express the design in plain and natural language.

It is easier to develop a program from a pseudo code as compared to the flow chart. Programmers do not have to think about syntax, we simply have to concentrate on the underline logic. The focus is on the steps to solve a problem rather than how to use the computer language.

Often it is easy to translate pseudocode into a programming language, a step which can be accomplished by less experienced

The uses of words and phrases in pseudo code, which are in the lines of basic computer operations simplify the translation from the pseudo code algorithm to the specific programming language.

The pseudocode allows programmers to work in different computer languages to talk to others they can be reviewed by groups easier than the real code.

disadvantages

The main disadvantages are that it does not provide a visual representation of the programming logic.

The pseudo code cannot be compiled nor executed and there is no real formative of a syntax of rules. It is simply one step, an important one, in producing the final code.

psudocode would only be used in the planning process to figure out what the code needs to do and how it needs to be layed out in porder to fulfill

# data[].attributes.body
Data-flow diagram

Description:

A data-flow diagram is a way of representing a flow of a data of a process or a system.
Advantages of data flow diagram:

It aids in describing the boundaries of the system.

It is beneficial for communicating existing system knowledge to the users.

A straightforward graphical technique which is easy to recognise.

DFDs can provide a detailed representation of system components.

It is used as the part of system documentation file.

DFDs are easier to understand by technical and nontechnical audiences

It supports the logic behind the data flow within the system.

Disadvantages of data flow diagram:

It make the programmers little confusing concerning the system.

The biggest drawback of the DFD is that it simply takes a long time to create, so long that the analyst may not receive support from management to complete it.

Physical considerations are left out.

# data[].attributes.body
uml helps visualize how a system works and is used to create models of system designs
ADVANTAGES
Most-Used and Flexible

UML is a highly recognized and understood platform for software design. It is a standard notation among software developers. You can safely assume that most software professionals will be at least acquainted with, if not well-versed in, UML diagrams, thus making it the go-to alternative to explain software design models.

What makes UML well-suited to and much-needed for software development is its flexibility. You can customize your modeling elements and interactions in a UML diagram specifically to suit the domain or technologies you are using.

The Software Architecture Must Be Communicated Effectively

The software architecture is the blueprint of the system. It is the framework on which the efficiency of the system and its processes depend. But, this framework is only effective if it is communicated properly to all those using it and working on it. This is where Unified Modeling Language (UML) comes into the picture.

UML is a rich and extensive language that can be used to model not just object-oriented software engineering, but application structure and behavior, and business processes too. Software players have agreed that we cannot do away with documentation of the architecture. It is important. It helps in assessing performance, security, tracking, and provides important guidelines for the assignment under operation.

Because of its wide reach, UML is the perfect visual language to communicate detailed information about the architecture to the largest number of users.

You Need to Know Only a Fraction of the Language to Use It

Though there are 14 different types of UML diagrams for modeling applications, developers use only three or four to document a software system. Class diagrams, sequence diagrams, and use case diagrams remain the most in vogue.

What this implies is that you need to know just 20% of the UML language to explain 80% of your modeling needs. You do not need to know or comprehend the entire notation, to communicate effectively using UML diagrams. Knowing a subset of the notation equips you just fine.

Abundance of UML Tools

UML tools are one of the most important reasons why UML is so widely used. UML tools range from free open-source software to those costing millions of dollars. These tools cover much territory beyond just drawing diagrams. They can generate code from the design, apply design patterns, mine requirements, reverse engineer code, and perform impact and complexity analysis.

These advantages and the abundance of UML tools itself make UML the go-to modeling and developmental language in the field of software engineering.

Despite its myriad uses and benefits, UML is not preferred by all. In fact, a considerable section of software developers, don’t use UML and heap heavy criticism on the same. Let’s look at the arguments against using UML.

Disadvantages:

Formal Notation is Not Necessary

The strongest argument against UML is that you don’t really need a UML diagram to communicate your designs. You can have the same impact and effect with informal, box-and-line diagrams created in PowerPoint, Visio, or a whiteboard. As coding is a formal language by itself, a lot of developers don’t prefer the complexity and the formality at the architectural level, which discourages the use of UML and has become one of its disadvantages.

Ascending Degree of Complexity

Since its initiation until now, UML has grown in complexity and size. The sheer size of UML makes a lot of people nervous right at the onset, and they feel like they won’t be able to learn it, and are better off without it.

Not Necessary in ‘Architecture-Indifferent Design’

A term coined by George Fairbanks, ‘architecture-indifferent design’ is a situation where UML is considered unnecessary.

At its core, an architecture-indifferent design refers to a software architecture that is simple and basic, and does not need any complex diagrams to represent or explain the design. If the firms lay more emphasis on formal coding, and there is a prevalent culture of minimal design documentation, UML is regarded unnecessary.