Nothing Special   »   [go: up one dir, main page]

Visual Programming and Program Visualization Towards An Ideal Visual Software Engineering System

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 15

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 actu­ally 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!!!!

You might also like