You are on page 1of 39

Software

Tools
Software tool
Software  tool  or Programming tool is a
computer program that software developers use to
create, debug, maintain, or otherwise support other
programs and applications.

Software tools are as critical to system performance


as the hardware
Specification Methods
The first asset in making designs is a good notation
to record and discuss alternate possibilities.

The default language for specifications in any field


is the designers natural language, such as English
and a sketchpad or blackboard.
But natural-language specifications tend to be
lengthy, vague and ambiguous and therefore often
are difficult to prove correct, consistent or
complete.
Grammars
Formal and semiformal languages have proved their
value in many areas, including mathematics, physics,
circuit design, and music.
Formal languages have a specified grammar and
effective procedures exist to determine whether a string
adheres to the language’s grammar.
Grammars for command languages are effective, but for
GUIs the amount of syntax is small.
Formal language is a set of strings of symbols that may be constrained
by rules that are specific to it.
Source language composed chiefly of a set of commands or operators, used
especially for communicating with the operating system of a computer.
Examples of formal languages.
Programming languages are the best examples of
formal languages.
Formal languages are defined by two sets of
rules:
Syntax: precise rules that tell you the symbols you
are allowed to use and how to put them together into
legal expressions.
Semantics: precise rules that tell you the meanings
of the symbols and legal expressions.
In GUIs, a grammar might be used to describe
sequences of actions but these grammars tend to be
short, making transition diagrams and graphical
specifications more appealing.
The Backus-Naur Form (BNF) is used to specify the
syntax of the programming languages while playing
no attention to the semantics of the languages.
All the components can either be described as non-
terminals or as terminals.
About Backus-Naur Form (BNF)
• Backus-Naur Form is used to describe the grammar
(usually of programming languages).
• It was introduced in the 1950s by John Backus, the
lead designer of the Fortran programming Language
at IBM.
• The purpose of Backus-Naur Form is to describe a
programming language in a simple and concise
manner.
1) Non-Terminals
Non-terminals are higher level components.
They are defined in terms of other non-terminals.
Only non-terminals may appear on the left side of
a definition.
They are written in angular brackets.
2) Terminals
Terminals are particular strings.
They denote the lowest level of user behaviour.
Examples:
Pressing a key, clicking a mouse button or moving
the mouse.
The terminals are expressed in the following form:
Name :: = Expression
Where, the symbol ‘:: =’ is read as ‘is defined
as’
Example:
<address> ::= <flat no.>,<City name>
Non Terminals <State name>,<Country name>
Terminals
BNF Notation for a Telephone Book Entry
Basically, a telephone book entry contains the
information about various persons names and their
corresponding telephone numbers.
A persons name comprise of last name, middle
name and first name.
The telephone number consists of three-digit area
code, a four-digit exchange number and a four-digit
local number.
The BNF notation for a telephone book entry is as
follows:
<Telephone book entry> ::=<Name><Telephone number>
<Name>::=<Last Name>,<Middle Name>,<First Name>
<Last Name>::= <String> Specifies alternatives
<Middle Name>::= <String>
<First Name>::= <String>
<String>::=<Character>|<Character><String>
<Character>::= a|b|c|d|........................................|x|y|z
<Telephone number>::=(<area code>)<exchange number>-<Local
number>
<Area code>::= <digit><digit><digit>
<exchange number>::= <digit><digit><digit><digit>
<Local number>::=<digit><digit><digit><digit>
<digit>::= 0|1|2|3|4|5|6|7|8|9
Menu-Selection Trees
Menu selection tree is a simple structural
component that provides help to its users and
designers.
Its superb selection style is used in many
applications.
In case of large collection of items which keeps on
increasing and the users find difficulty in
maintaining control over them the classes of similar
items are formed by the designers.
These classes make a tree structure.
The content of menu selection tree is based upon the
following rules.
1) Menus must be built on the meaning of an activity to be
carried.
2) Opt for wide-allow to small-deep.
3) Graphics, numbers or headings must be used to display
a location
4) Sub trees must have items as headings
5) Classify items on the basis of the meaning
6) Keep a proper order of items
7) Start with keywords and utilize short items
8) Grammar, layout and terminology must be consistent.
9) Shortcuts like type ahead, jump ahead and other must
be permitted.
10) Movement to before, after and main menu
should be provided
11) View online help, new selection techniques and
ideal response time for determining the speed and
screen size.

Specification methods comprises online tools and


simple drawing tools.
Menu trees are constructed with the help of online
tools.
Dialog Box Trees
A dialog box tree is also a simple structural component
that provides help to users and designers.
It is also one of the selection styles used in several
applications.
The content of the dialog box trees is based upon the
following rules.
1) Uniform style and titles should be meaningful.
2) The order of organization for the dialog boxes must be
from top-left to bottom-right.
3) There should be uniformity in fonts, standards and rules
4) Standard ok and cancel buttons must be used.
5) Direct manipulation should be done in order to avoid
errors.
6) The appearance and disappearance must be smooth.

7) The boundary must be small but easily recognizable.

8) The size of the dialog box should be small in order to


minimize the difficulties of overlapping and visual
disturbance.

9) The dialog boxes must be displayed close to relevant


screen items, with out overlapping with the needed
items.

10) The dialog boxes should be closed easily.


Transition Diagrams
It is a collection of nodes and links where the nodes
represent the system states and links denote the
possible transition between the states.
A state is a condition in the lifecycle of an object
during which it satisfies some conditions, performs
some activity or waits for some event.
A transition is a relation between two states
indicating that an object in the first state has
performed some action and enters into the second
state when a specified event occurs and certain
conditions are satisfied.
A transition is rendered as a direct line from the
source to the target state.
The links which the user selects to perform an
action and the possible feedback generated by the
computer has the associated labels which describes
the action to be performed. ┼


1 <online test>
Login

2
<Evaluation>
3 <Display Result>
start 4
<Suggest Admin>
5
6
Online
Help
Logout Provide
Material

Error
Advantages of the Transition Diagrams
1) These are excellent tools for capturing certain
system requirements.
2) These guide their users by identifying the states,
events, actions and transitions that should be tested.
3) These diagrams define how a system interacts with
the outside world along with the events its
processes and the valid and invalid order of these
events.
4) It gives a clear view of the system and the actions
being carried inside the system to its users.
Disadvantages of the Transition Diagrams
1) All the possible states of the system need to be
defined.
2) The transition diagrams do not support concurrent
states. They follow only sequential transitions from
one state to the next. As the different features of the
system are in different states we cannot model
systems concurrently.
State-Chart Diagrams
A state machine represents the flow of control from
one state to another and is represented by a “state
chart”.
A state machine is a behaviour that specifies the
sequences of states an object goes through during
its lifetime in response to the events, along with the
feedbacks to those events.
State-Chart for telephone system
Dial [ Valid and incomplete]
Pick up
the Dial
phone
Dial Tone Dialing

)
lid
Dial

va
Idle

(in
Complete

al
Invalid

Di
Number Connected
Message
Free

sy
Hang up
The Bu
Phone
Busy Tone Ringing
Advantages of State-Charts
1) Avoids the complexity as they have been
developed to handle the state hierarchies
directly.
2) They can address parallel states.
3) The state can have multiple repeated transitions.
4) Communication is possible between the
substates.
Disadvantages of State-Charts
1) State charts are unaware of the concept of time.

2) Although state charts have knowledge about the


time taken by the transitions, they do not have
any idea about the amount of time required by
states.
Interface Building Tools
Interface Building Tools are growing rapidly as
software tools which help designers and software
engineers in fulfilling their design goals.
The tools come in small sized, colorfully wrapped
boxes which guide the users to quickly construct on
screen elements.
The designers can instantly analyze the “look and
feel” of the system and can simply transform fonts,
colors and layout with the help of interface building
tools.
This is called “visual editing”.
Programming languages are tools consisting of tool
kits which facilitate experianced software engineers
to construct a variety of features that frequently
require more code and work.
The use of these software tools bring great
advantage and are widely used because of the
improvements being made in their successive
versions.
The names of the products differ with respect to the
seller.
Some of the commonly used names are :
User Interface Management System,
Rapid Prototypes,
Rapid Application Developer,
User Interface Development Environment
and
User Interface Builder
etc.
Software Engineering Tools
Software engineering tools permit architects to
make more powerful systems.
But these systems are very complex, costly and take
much time for development.
Toolkits are the program libraries given by some
products.
Toolkits supply widgets like scrollbars, dialog-
boxes, windows, data-entry fields, pop-up menus,
pull-down menus and buttons.
Experianced programmers have knowledge about
the programming language and user-interface
libraries associated with it and hence easily used by
programmers.
Programmers need months of training in order to
become expert in using toolkits such as Microsoft
windows developers toolkit, X-windows
toolkit(XTK) and apple Macintosh MacApp as they
are complex.
The disadvantage with complex toolkits is that it
imposes heavy burden and difficulty for making
applications and managing them.
However, the programmers have extensive
management and many options in creating the
interface, which serves as a benefit.
An easy and successful way to reduce the burden of
programming, scripting languages were introduced.

1) TCL Scripting Language

2) Galaxy Scripting Language

3) JavaScript
• Tcl is a general purpose multi-paradigm system
programming language.
• Tcl is a scripting language that aims at providing the
ability for applications to communicate with each
other.
• Tk is a cross platform widget toolkit used for
building GUI in many languages.
• Tcl is shortened form of Tool Command Language.
John Ousterhout of the University of California,
Berkeley, designed it. It is a combination of a scripting
language and its own interpreter that gets embedded to
the application we develop with it.
• Tcl was developed initially for Unix. It was then ported
to Windows, DOS, OS/2 and Mac OSX. Tcl is much
similar to other unix shell languages like Bourne Shell
(Sh), the C Shell (csh), the Korn Shell (sh), and Perl.
• It aims at providing ability for programs to interact
with other programs and also for acting as an
embeddable interpreter. Even though, the original aim
was to enable programs to interact, you can find full-
fledged applications written in Tcl/Tk.
Features of Tcl
• The features of TCL are as follows:
• Reduced development time.
• Powerful and simple user interface kit with integration of TK.
• Write once, run anywhere. It runs on Windows, Mac OS X and
almost every Unix platform.
• Quite easy to get started for experienced programmers since
the language is so simple that they can learn Tcl in few hours
or days.
• You can easily extend existing applications with Tcl. Also, it is
possible to include Tcl in C,C++ or Java to Tcl or vice versa.
• Have a powerful set of networking functions.
• Finally, its open source, free and can be used for commercial
applications without any limit.
Applications
– Tcl is a general-purpose language and you can
find Tcl everywhere. It includes,
– Scalable websites that are often backed by
databases.
– High performance web servers build with
TclHttpd.
– Tcl with CGI based websites.
– Desktop GUI applications.
– Embedded applications.
Galaxy Scripting Language
Galaxy is another scripting language which was
developed as a commercial substitute for TCL.
It also provides a cross-platform support by
modeling GUIs on Macintosh, Motif, Windows and
other platforms.
Since the visual editor provides a very high
functionality, the users are capable of defining the
layouts with the help of springs and struts.
Due to this, the designers intent can be preserved
even when modifications are done to the screen
sizes.
Galaxy possess some advanced object oriented
libraries which can be used and called from many c
or c++ programs.
Certain tools used for controlling network services
and file directories are also present in Galaxy.
Galaxy needs software engineering skills to be used
in the development process but the availability of
visual editor helps in the construction of prototypes.
JavaScript
JavaScript is a scripting language which is used in
HTML (Hypertext Markup Language) so as to
develop web pages.
It is also considered as the most simplest and
efficient language.
Due to this, the objectives and capabilities of
network distribution and cross-platform are
achieved by the JavaScript.
With the help of clients browser on the local
machine such as windows, Unix or Macintosh,
JavaScript is interpreted.
JavaScript can be learned easily by HTML users.
It provides some functionalities common to HTML.
“The Secret
in education
lies in
Thank you respecting
And the student”
Wishing you
all the best for Dr Manjunath
final exams

You might also like