Dec
9,
2025
Event
Driven
Programming
1
Introduction to EDP
Chapter One
2
What is Event-driven programming?
• 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
What is Event-driven programming?
• 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.
Dec
9,
2025
Event
Driven
Programming
4
Introduction to Software Development
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
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
Dec
9,
2025
Event
Driven
Programming
6
Cont’d…
Attributes of good software
 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.
Dec
9,
2025
Event
Driven
Programming
7
Cont’d…
What is a Software 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
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?
Dec
9,
2025
Event
Driven
Programming
9
Cont’d…
1. Structured
 involves the 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.
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
11
Cont’d…
Structured Approach
Dec
9,
2025
Event
Driven
Programming
12
Cont’d…
2. Prototyping
 Is the 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
13
Cont’d…
Design
Prototy
pe
Custom
er
Evaluati
on
Revie
w &
Updat
e
Initial
Requireme
nts
Developme
nt
Test
Maintain
Custome
r
Satisfact
ion
Prototyping
To validate the user requirements for new
software before progressing too far in the
development process, prototypes of the
software system may be developed.
Whether a low-fidelity prototype that
illustrates the look-and-feel of the
design or a high-fidelity prototype that
implements part of the system’s
functionality, approval by the customer
is required before full system
implementation is begun.
Dec
9,
2025
Event
Driven
Programming
14
Cont’d…
 Characteristics
 Prototypes focus 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
Dec
9,
2025
Event
Driven
Programming
15
Cont’d…
Advantages
 Potential for changing 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
Dec
9,
2025
Event
Driven
Programming
16
Cont’d…
3. Rapid Application Development (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
17
Cont’d…
Dec
9,
2025
Event
Driven
Programming
18
Cont’d…
 Characteristics
 Extremely good 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)
Event
Driven
Programming
19
Cont’d…
Advantages
 Systems can be 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
Dec
9,
2025
Event
Driven
Programming
20
Cont’d…
4. Joint Application Design (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
21
Cont’d…
 Objective: to analyze the existing system, obtain user input and
expectations, and document user requirements for the new system
Dec
9,
2025
Event
Driven
Programming
22
Cont’d…
Advantages
 Allows key users 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.
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
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)
Dec
9,
2025
Event
Driven
Programming
25
RAD Phases
• Requirements Planning 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
26
RAD Phases and Activities
Dec
9,
2025
Event
Driven
Programming
27
Cont’d…
RAD=Speed,
Quality
&
Productivity
Dec
9,
2025
Event
Driven
Programming
28
When to Use RAD
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
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."
Dec
9,
2025
Event
Driven
Programming
30
Cont’d…
3rd
Principle: Maintain the Vision
 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.
Dec
9,
2025
Event
Driven
Programming
31
Cont’d…
4th
Principle: What You Produce, 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.
Dec
9,
2025
Event
Driven
Programming
32
Cont’d…
5th
Principle: Be Open to 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.
Dec
9,
2025
Event
Driven
Programming
33
Cont’d…
6th
Principle: Plan Ahead for 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.
Dec
9,
2025
Event
Driven
Programming
34
Cont’d…
7th
Principle: Think!
 This last 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.
Dec
9,
2025
Event
Driven
Programming
35
Thank You

Chapter one introduction to event driven programming .pptx

  • 1.
  • 2.
    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
  • 11.
  • 12.
    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
  • 13.
    Dec 9, 2025 Event Driven Programming 13 Cont’d… Design Prototy pe Custom er Evaluati on Revie w & Updat e Initial Requireme nts Developme nt Test Maintain Custome r Satisfact ion Prototyping To validatethe user requirements for new software before progressing too far in the development process, prototypes of the software system may be developed. Whether a low-fidelity prototype that illustrates the look-and-feel of the design or a high-fidelity prototype that implements part of the system’s functionality, approval by the customer is required before full system implementation is begun.
  • 14.
    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
  • 17.
  • 18.
    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
  • 21.
    Dec 9, 2025 Event Driven Programming 21 Cont’d…  Objective: toanalyze the existing system, obtain user input and expectations, and document user requirements for the new system
  • 22.
    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
  • 26.
  • 27.
  • 28.
    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.
  • 35.

Editor's Notes

  • #29 Haphazard=random hazard
  • #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.