2
What is Event-drivenprogramming?
• Event-driven programming is a programming paradigm in which the flow
of program execution is determined by events - for example a user action
such as a mouse click, key press, or a message from the operating system
or another program.
• An event-driven application is designed to detect events as they occur,
and then deal with them using an appropriate event-handling procedure.
• Event-driven programs can be written in any programming language,
although some languages (Visual Basic and Visual C++ for example) are
specifically designed to facilitate event-driven programming, and provide
an integrated development environment (IDE) that partially automates
the production of code, and provides a comprehensive selection of built-in
objects and controls, each of which can respond to a range of events
3.
3
What is Event-drivenprogramming?
• Virtually all object-oriented and visual languages support event-driven
programming. Visual Basic, C#, Visual C++ and Java are examples of
such languages.
• A visual programming IDE such as VB.Net provides much of the code
for detecting events automatically when a new application is created.
• The programmer can therefore concentrate on issues such as interface
design, which involves adding controls such as command buttons, text
boxes, and labels to standard forms (a form represents an application's
workspace or window).
• Once the user interface is substantially complete, the programmer can
add event-handling code to each control as required.
4.
Dec
9,
2025
Event
Driven
Programming
4
Introduction to SoftwareDevelopment
What is Software?
Is a computer program used to perform a certain task.
products may be developed for a particular customer or a
general market.
Software products may be
Generic - developed to be sold to a range of different customers.
Custom - developed for a single customer according to their
specification
What is Software Development?
Is the process of creating new software solutions or modifying
existing software solutions
It includes all that is involved between the conception of the
desired software through to the final manifestation of the
software, ideally in a planned and structured process
5.
Dec
9,
2025
Event
Driven
Programming
5
Cont’d…
Software Engineering:- is
concerned with theories, methods and tools for
professional software development.
an engineering discipline which is concerned with all
aspects of software production.
concerned with cost-effective software development.
Software engineers should adopt a systematic and
organised approach to their work and use appropriate
tools and techniques depending on the problem to be
solved, the development constraints and the resources
available
6.
Dec
9,
2025
Event
Driven
Programming
6
Cont’d…
Attributes of goodsoftware
software should deliver the required functionality and
performance to the user and should be maintainable,
dependable and usable.
Maintainability - must evolve to meet changing needs.
Dependability - must be trustworthy.
Efficiency - should not make wasteful use of system resources
Usability - must be usable by the users for which it was
designed.
7.
Dec
9,
2025
Event
Driven
Programming
7
Cont’d…
What is aSoftware Process (software life cycle)?
Coherent sets of activities for specifying, designing, implementing
and testing software systems
Generic activities in all software processes are:
Specification - what the system should do and its development
constraints.
Development - production of the software system
Design and implementation of the software.
Validation - checking that the software is what the customer wants
To ensure that the software does what the customer requires.
Evolution - changing the software in response to changing
demands.
Adaptation and modification of the software to cope with
changing customer and market requirements.
Generic activities may be organized in different ways and described
in different levels of detail for different types of software
8.
Dec
9,
2025
Event
Driven
Programming
8
Software Development Approaches
Software can be designed and developed in many different
ways.
The approach taken to design & develop a software package
can vary from the very simple, limited planning approach to
a very detailed, formal and structured approach
The commonly used approaches are:-
Structured Approach
JAD Approach
Prototyping Approach
Rapid Application Development Approach
Method:-
which approach and language is best?
what happens if you get it wrong?
9.
Dec
9,
2025
Event
Driven
Programming
9
Cont’d…
1. Structured
involvesthe use of the program development cycle:
Defining the problem – necessary to understand the problem in as
much detail as possible.
Planning the solution – involves determining data types, developing
algorithms & diagrams, whether ‘start from scratch approach' needed,
determine the programming language used
Building the solution – converting the specifications and algorithms
developed during the planning stage into code.
Checking the solution – check that is operates correctly.
Modifying the solution – may be necessary if errors are detected, or
the users' feedback means that the program doesn't meet their needs, or
the underlying processes change, or the existing system changes, etc.
Accurate documentation is extremely important because the
modifications may be made by programmer who were not part of the
original team.
10.
Dec
9,
2025
Event
Driven
Programming
10
Cont’d…
1. Structured …
Used when there is a high budget, where there is a long time period
to complete the project, and is where it is preferable for the project
to be completed by teams.
It is characterized by distinct stages, with each stage being
completed before moving onto the next stage
Characteristics
Long time periods from start to implementation of the final product
(can be many months or even years.)
used for large-scale projects, or difficult projects, or new concept
projects
associated with large budgets and large organizations
involves a number of different personnel (analysts, designers,
programmers, users and management)
Eg. Operating Systems
Dec
9,
2025
Event
Driven
Programming
12
Cont’d…
2. Prototyping
Isthe process of designing and building a scaled down version
of the desired information system.
activity of creating prototypes of software applications, i.e.,
incomplete versions of the software program being developed.
developer makes a small scale model of the proposed program
so that users can give feedback and ensure it meets their needs.
Prototypes are useful in seeking user reactions, suggestions,
innovations, and revision plans before the final version of the
system is developed.
Involves development of a working model which may then be
developed further into a fully functioning solution
Dec
9,
2025
Event
Driven
Programming
14
Cont’d…
Characteristics
Prototypesfocus on what the users interacts with, the input
and output requirements only
Prototypes are not interested in the code behind the interfaces
It encourages end user participation
It improves communication between programmer/s and end
user/s
developer can develop typical screens and then quickly modify
them after user feedback
quickly create the look and feel for the proposed/final product
in comparison to other approaches
They typically results in a lower required budget and shorter
development time
They are a good approach for small scale projects
15.
Dec
9,
2025
Event
Driven
Programming
15
Cont’d…
Advantages
Potential forchanging the system early in its development.
Opportunity to stop development on an unworkable system.
Possibility of developing a system that closely addresses users'
needs and expectations.
Disadvantages
Managing the prototyping process is difficult because of its
rapid, iterative nature.
Requires feedback on the prototype.
Incomplete prototypes may be regarded as complete systems.
E.g.: Multimedia, website’s, online enquiry
16.
Dec
9,
2025
Event
Driven
Programming
16
Cont’d…
3. Rapid ApplicationDevelopment (RAD)
Is a methodology created to radically decrease the time needed
to design and build an information system.
Efficient and Cheaper
Allows systems developers and end users work together from
the beginning
Is an object-oriented approach
group (team-based) approach, but goes much further.
Component based construction approach
less emphasis on planning and more on process (Developing
instead of planning)
lack of pre-planning generally allows software to be written
much faster, and makes it easier to change requirements
Dec
9,
2025
Event
Driven
Programming
18
Cont’d…
Characteristics
Extremelygood approach for small scale projects
Reuse of code is encouraged which allowing the program to be
developed quickly
Automated tools are used to make the software
Lacks the formal stages of other approaches
Fast development time
Relatively cheap to develop; relative to Structured approach
incorporate all parts of the development cycle, including project
management, requirement gathering, some code generation, test
documentation, evaluation, etc
Personal (developer & end user)
19.
Event
Driven
Programming
19
Cont’d…
Advantages
Systems canbe developed more quickly with
significant cost savings.
Disadvantages
May try and hurry the project too much.
Loosely documented.
May not address pressing business problems.
Potentially steep learning curve for programmers
inexperienced with RAD tools
16-Sep-23
20.
Dec
9,
2025
Event
Driven
Programming
20
Cont’d…
4. Joint ApplicationDesign (JAD)
Process in which users, managers, and analysts work together
for several days in a series of intensive meetings to specify or
review system requirements.
involves the client or end user in the design and development of
an application, through a succession of collaborative workshops
called JAD sessions
User Involvement
Users have a vital stake in an information system, and they
should participate fully
Successful systems must be user-oriented and users need to be
involved
JAD participants should be insulated from the distraction of
day-to-day operations
Dec
9,
2025
Event
Driven
Programming
22
Cont’d…
Advantages
Allows keyusers to participate effectively.
When properly used, JAD can result in a more accurate
statement of system requirements, a better understanding of
common goals, and a stronger commitment to the success of the
new system.
Disadvantages
More expensive and can be cumbersome if the group is too
large relative to the size of the project.
23.
Dec
9,
2025
Event
Driven
Programming
23
Rapid Application Development
a development life cycle designed to give much faster
development and higher quality results than those achieved with
the traditional life cycle.
Because of rapidly changing business environments, businesses
have to respond to new opportunities and competition.
RAD objective is to cut development time and expense by:
Involving the users in the development process.
Using integrated CASE (computer-aided software engineering)
tools.
Using faster software development techniques.
RAD relies on:
Extensive user involvement
Joint application design session
Prototyping
Integrated CASE tools, Code generators
24.
Dec
9,
2025
Event
Driven
Programming
24
RAD Principles &Phases
RAD Principles
To delay producing detailed system design documents until
often user requirements are clear.
To enable quality products to be developed faster, saving
valuable resources.
To compresses the step by step development of conventional
methods into an iterative process to develop a quality software
RAD Phases - There are three broad phases to RAD:
Requirements planning
RAD design workshop
Implementation (construction)
25.
Dec
9,
2025
Event
Driven
Programming
25
RAD Phases
• RequirementsPlanning Phase
Users and analysts meet to identify objectives of the application or
system
Oriented toward solving business problems
• RAD Design Workshop
Design and refine phase
Use group decision support systems to help users agree on designs
Programmers and analysts can build and show visual representations of
the designs and workflow to users
Users respond to actual working prototypes
Analysts refine designed modules based on user responses
• Implementation Phase
As the systems are built and refined, the new systems or partial systems
are tested and introduced to the organization
When creating new systems, there is no need to run old systems in
parallel
Dec
9,
2025
Event
Driven
Programming
28
When to UseRAD
RAD is used when
Reasonably well-known requirements
User involved throughout the life cycle
Project can be time-boxed
Functionality delivered in increments
High performance not required
Low technical risks
System can be modularized
programmers and analysts who are experienced
There are pressing reasons for speeding up application development
The project involves a novel ecommerce application and needs quick
results
Users are sophisticated and highly engaged with the goals of the
company
29.
Dec
9,
2025
Event
Driven
Programming
29
Software Development Principles
1st
Principle:The Reason It All Exists
A software system exists for one reason: to provide value to its users.
Before anything else ask yourself questions such as:
"Does this add real VALUE to the system?"
If the answer is "no", don't do it.
All other principles support this one.
2nd
Principle: KISS (Keep It Simple, Stupid!)
Software design is not a haphazard process.
There are many factors to consider in any design effort.
All design should be as simple as possible, but no simpler.
This facilitates having a more easily understood, and easily maintained
system.
Note:
- This is not to say that features, even internal features, should be discarded in the
name of simplicity.
- Indeed, the more elegant designs(well-designed) are usually the more simple ones.
- Simple also does not mean "quick and dirty."
30.
Dec
9,
2025
Event
Driven
Programming
30
Cont’d…
3rd
Principle: Maintain theVision
clear vision is essential to the success of a software project
Without conceptual integrity, a system threatens to become a
patchwork of incompatible designs, held together by the wrong
kind of screws.
Conceptual integrity is the most important consideration in
system design.
Compromising the architectural vision of a software system
weakens and will eventually break even the most well designed
systems.
Having an empowered Architect who can hold the vision and
enforce compliance helps ensure a very successful software
project.
31.
Dec
9,
2025
Event
Driven
Programming
31
Cont’d…
4th
Principle: What YouProduce, Others Will Consume
Seldom is an industrial-strength software system constructed and
used in a vacuum.
In some way or other, someone else will use, maintain, document,
or otherwise depend on being able to understand your system.
always specify, design, & implement knowing someone else will have to
understand what you are doing.
audience for any product of software development is potentially
large. Specify with an eye to the users.
Design, keeping the implementers in mind. Code with concern for
those that must maintain and extend the system.
Someone may have to debug the code you write, and that makes
them a user of your code. Making their job easier adds value to the
system.
32.
Dec
9,
2025
Event
Driven
Programming
32
Cont’d…
5th
Principle: Be Opento the Future
A system with a long lifetime has more value.
True "industrial-strength" software systems must endure far
longer.
To do this successfully, these systems must be ready to adapt
future changes.
Systems that do this successfully are those that have been
designed this way from the start.
Never design yourself into a corner.
33.
Dec
9,
2025
Event
Driven
Programming
33
Cont’d…
6th
Principle: Plan Aheadfor Reuse
Reusing saves time and effort.
Achieving a high level of reuse is arguably the hardest goal to
accomplish in developing a software system.
reuse of code and designs has been proclaimed as a major benefit
of using object-oriented technologies.
To leverage the reuse possibilities that OO programming provides
requires forethought and planning.
Planning ahead for reuse reduces the cost and increases the value
of both the reusable components and the systems into which they
are incorporated.
34.
Dec
9,
2025
Event
Driven
Programming
34
Cont’d…
7th
Principle: Think!
Thislast principle is probably the most overlooked.
Placing clear, complete thought before action almost always
produces better results.
When clear thought has gone into a system, value comes out.
Applying the first six principles requires intense thought, for
which the potential rewards are enormous.
#31 Seldom-rarely or SELDOM Technologies is a innovative organization to create a revolution in the field of Software solutions. Seldom Technologies is a proactive organization based in Vijayawada , India.