Visual Programming and Program Visualization
Towards an Ideal Visual Software Engineering
System
Presented by:
Prasish Dhakal
Programming
• A set of statements that can be submitted as a unit to some computer system and
used to direct the behavior of that system.
• While the ability to compute ‘’everything’’ is not required, the system must
include the ability to handle variables, conditionals and iteration, at least
implicitly.
Interpretive vs. Compiled
• Any programming language system may either be ‘’interpretive’’ or ‘’compiled.’’
A compiled system has a large processing delay before statements can be run
while they are converted into a lower-level representation in a batch fashion.
• characterization is actually more of a continuum rather than a dichotomy since
even interpretive languages like Lisp typically require groups of statements (such
as an entire procedure) to be specified before they are executed.
Visual Programming
• It is a programming language that have a visual representation (such as graphics,
drawings, animation, buttons or icons etc.).
• It refers to creating or developing windows-based applications or graphical user
interface GUI applications.
• Visual basic and Visual C++ are examples .
For Visual Programming
• Helping to teach programming
• Allowing non-programmers to enter information in limited
• domains (OPAL, spread-sheets),
• Allowing non-programmers to construct animations
• (PLAY) and simple computerized lessons for computer-
• aided instruction (Rehearsal World),
• Helping with the construction of user interfaces and
• Most significantly, financial planning with spreadsheets.
Merits
• Easy to learn and use.
• It provide many built-in objects that can be used in developing the new programs.
New objects can also be created.
• The user-interface can be designed very easily by using mouse.
• The components are placed on the main interface component like forms.
• Used components can be resized and moved easily
Demerits
• It requires computer with more memory, high storage capacity of hard disk, and
faster processor.
• These languages can only be implemented on graphical operating systems like
Linux and windows.
Program Visualization
• The program is specified in a conventional, textual manner, and the graphics.
• Animations is used to illustrate some aspects of the program or its run-time
execution.
• Whether they illustrate the code, data or algorithm of the program, and whether
they are dynamic or static.
Program Visualization
• Helping to teach algorithms involving data structures
• Helping to teach program concepts, such as Prolog code execution (TPM), and
• Helping to debug programs.
Merits
• Debugging
• Evaluating and improving program performance
• Evaluating and reducing resource utilization
• Evaluation of algorithms in the context of complete programs and real data
• Understanding program behavior
Demerits
• It is generally much harder to get necessary data for visualization.
• The aspect of program behavior to be visualized must be identified.
• A suitable visual representation for the behavior must be found.
• The effects of the visualization on the behavior of the program being visualized
must be considered.
• Limited screen space often creates problems in presenting information from real
programs.
Visual Programming vs. Program Visualization
• Visual Programming (VP) or Program Visualization (PV), both of which are
subclasses of Visual Languages.
• VP interfaces allow for the creation of programs from graphical elements
representing specific static-code procedures, whereas PV interfaces permit
graphical viewing of arbitrary (though finite in range) procedures within a
program without any capability to change the program.
• VP and PV, are not useful for a reconfigurable system when taken separately; the
system in fact requires both.
Round-trip engineering
• It is a software development tools that synchronizes two or more related software
artifacts, such as, source code, models, configuration files, and even
documentation.
• The need for round-trip engineering arises when the same information is present
in multiple artifacts and therefore an inconsistency may occur if not all artifacts
are consistently updated to reflect a given change.
• For example, some piece of information was added to/changed in only one
artifact and, as a result, it became missing in/inconsistent with the other artifacts.
Conceptual Model
• It is a representation of a system, made of the composition of concepts which are
used to help people know, understand or simulate a subject the model represents.
• It is also a set of concepts. for example, a toy model which may be assembled,
and may be made to work like the object it represents.
• It refer to models which are formed after a conceptualization
or generalization process.
• Conceptual models are often abstractions of things in the real world whether
physical or social.
THANK YOU!!!!