SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Debre Tabor University
Faculty of Technology
Department of Information Technology
Event-Driven Programming
Prepared By: Gezahegn M.
Email:-gezielove@gmail.com
Saturday, May 7, 2022
DTU, Ethiopia
Chapter One:
Introduction
What is software development?
Software development refers to a set of activities dedicated to the process of creating, designing, deploying and
supporting software.
Software itself is the set of instructions or programs that tell a computer what to do. It is independent of hardware
and makes computers programmable.
Cont.
System software to provide core functions such as operating systems, disk management, utilities, hardware
management, and other operational necessities.
Programming software to give programmers tools such as text editors, compilers, linkers, debuggers, and other
tools to create code.
Application software to help users perform tasks.
Programmers, or coders, write source code to program computers for specific tasks like merging databases,
processing online orders, routing communications, conducting searches, or displaying text and graphics.
Software developers have a less formal role than engineers and can be closely involved with specific project
areas such like writing code.
Steps in the software development process
Developing software typically
involves the following steps:
Selecting a methodology to establish
a framework in which the steps of
software development are applied
Methodologies can include Agile
development, DevOps, Rapid
Application Development , Scaled
Agile Framework , Waterfall and
others
The steps of the software
development process fit
into application lifecycle
management
The IBM Engineering Management
solution is a superset of ALM that
enables the management of parallel
mechanical, electrical, and software
development
Steps in the software development process
Requirements analysis and specification, Maintenance and support Software development process steps can
be grouped into the phases of the lifecycle, but the importance of the lifecycle is that it recycles to enable
continuous improvement.
Q. Understand why developers use
Agile vs Waterfall processes?
Why is software development important?
1. Promote your business:-Software Development takes your business to new heights
incorporation. It helps promote and spread your business as it enables your brand to be
visible for everyone and almost anywhere through a computer smartphone.
2. Improve sales and services:- It is important to know how your customers think about
your brand and products.
3. Direct Communication:- Software development is the only thing that can help you
have direct communication with the clients. It is the fastest way to increase your brand
awareness.
4. Increase Customers Engagement:-you can boost the customer’ engagement with the
help of a mobile app or website and make them come back to you and not to your rival.
5. Helps in marketing your business:-Software development helps to apply on the go
marketing of your business thus promoting your products and service at any places
without any additional money spent or extra time required.
Key features of effective software development
Using software development to
differentiate brands and gain competitive
advantage requires proficiency with the
techniques and technologies that can
accelerate software deployment, quality,
and efficacy
Artificial intelligence : AI enables
software to emulate human decision-
making and learning
Neural networks, machine learning,
natural language processing, and cognitive
capabilities present developers and
businesses with the opportunity to offer
products and services that disrupt
marketplaces and leap ahead of the
competition
IBM Watson offers developers a way to
connect with and use artificial intelligence
services as part of their applications
through application programming
interfaces or APIs
Key features of effective software development
Cloud-native development: Cloud-native development is a way of building
applications to exploit cloud environments
A cloud-native application consists of discrete, reusable components known as
micro services that are designed to integrate into any cloud environment
Block chain: Block chain is a secure, digitally linked ledger that eliminates
the cost and vulnerability introduced by parties like banks, regulatory bodies,
and other intermediaries
Types of Software Development
THERE ARE MANY DIFFERENT TYPES
OF SOFTWARE DEVELOPMENT
OFTEN, THE VARIOUS KINDS OF
DEVELOPERS WORK TOGETHER TO
BRING YOUR PROJECT TO FRUITION
SOME OF THEM OVERLAP AND CAN
BE FOUND IN A SINGLE
PROFESSIONAL, WHILE OTHERS
REQUIRE A DISTINCT SKILL SET
1. Frontend Development
FRONTEND DEVELOPERS WORK ON THE PART OF
THE PRODUCT WITH WHICH THE USER INTERACTS
THEY ARE PRIMARILY CONCERNED WITH THE USER
INTERFACE
THEY MUST BE HIGHLY PROFICIENT IN
PROGRAMMING AND WORK CLOSELY WITH THE
BACKEND DEVELOPERS TO ENSURE THAT THE TWO
ASPECTS OF THE PRODUCT FUNCTION COHESIVELY
2. Backend Development
In contrast, a backend developer works with the part of the
product users can’t see — the back end
This professional builds the infrastructure that powers the
website, app, or program, focusing on functionality, integration
of systems, and core logic
They will also deal with the complex, underlying structure,
ensuring strong performance, scalability, and security
3. Full-Stack
Development
A full-stack developer works on all
aspects of the product, including
both the front and back ends
4. Desktop Development
Desktop developers exclusively create applications that run on a
desktop operating system, such as Windows, Mac, or Linux
This is opposed to developers that create applications that run
on mobile, tablet, or other devices
This type of specialization was more ubiquitous in the early days
of programming, back before the days of mobile applications
5. Web Development
WEB DEVELOPMENT IS THE PROCESS OF
BUILDING WEB APPLICATIONS
THIS IS DIFFERENT FROM A MOBILE APP, WHICH
RUNS ON A PHONE OR TABLET AND DOESN’T
NECESSARILY REQUIRE AN INTERNET
CONNECTION TO RUN
WEB DEVELOPMENT IS AN UMBRELLA TERM
ENCOMPASSING BOTH FRONT AND BACKEND
DEVELOPMENT
6. Database Development
Not to be confused with a database administrator, who typically works with daily database upkeep and
troubleshooting and implements the system, a database developer is responsible for building the database,
modifying and designing existing or new programs, and ensuring that they satisfy the requirements of the
users
Sometimes, the roles of database administrator and developer do overlap — this depends on the needs of
the client or employer
7. Mobile Development
As is probably obvious from the name, a mobile developer builds applications
that run natively on mobile devices, including smartphones, tablets, and
some types of smartwatches
However, many companies will work with developers who are experts in
just one
That’s because they tend to be more knowledgeable about the intricacies
of each type of development than those who dabble in both of them
since the tools, frameworks, and languages tend to be different
8. Cloud Computing
Cloud computing encompasses services, programs, and
applications that run over the cloud
Some developers specialize in cloud computing — that is, the
creation of cloud platforms
They will build cloud applications and facilitate cloud
deployment and migration, as well as manage cloud services
and provide maintenance to users
9. DevOps Engineering
DEVOPS IS A SET OF PRACTICES AND
PHILOSOPHIES THAT ARE FOCUSED ON THE
QUICK, EFFICIENT, AND CUSTOMER-CENTRIC
DELIVERY OF SOFTWARE
RELATED TO AGILE, THIS STYLE HAS BEEN
WIDELY ADOPTED BY SOFTWARE DEVELOPERS
AND TEAMS AROUND THE WORLD
DEVOPS ENGINEERS WORK WITH TEAMS THAT
PRACTICE THE PRINCIPLES
10. Security Engineering
EVERYONE KNOWS HOW
IMPORTANT SECURITY IN SOFTWARE IS IN THIS
DAY AND AGE
ETHICAL HACKERS ARE ONE EXAMPLE OF THIS
TYPE OF PROFESSIONAL
THIS IS BY NO MEANS A COMPREHENSIVE LIST
OF ALL THE TYPES OF SOFTWARE
DEVELOPMENT — THE FIELD IS WIDE AND
VARIED
Software Development Approaches
Waterfall Approach Incremental
Approach
Spiral Approach
Advertisements
The waterfall model is often also referred to as
the linear and sequential model, for the flow of
activities in this model are rather linear and
sequential as the name suggests
In this model, the software development
activities move to the next phase only after the
activities in the current phase are over
However, like is the case with a waterfall, one
cannot return to the previous stage
Incremental Approach
Determines user needs and defines the overall architecture,
but then delivers the system in a series of increments
Spiral Approach
A risk-driven controlled prototyping approach that develops prototypes early in the
development process to specifically address risk areas followed by an assessment of
prototyping results and further determination of risk areas to prototype
Prototyping continues until high-risk areas are resolved and mitigated to an
acceptable level
Appropriate for exploratory projects that are working in an unfamiliar domain or
with unproven technical approaches
What Is Rapid Application Development?
Rapid application development is an agile software development approach that
focuses more on ongoing software projects and user feedback and less on
following a strict plan
Though often mistaken for a specific model, rapid application development is
the idea that we benefit by treating our software projects like clay, rather than
steel, which is how traditional development practices treat them
In this post, we take a deep dive into RAD, examining the methodology,
reviewing its advantages and disadvantages, comparing it to agile, and
exploring the tools
RAD Methodology
Though exact practices and tools vary between specific
methods, the underlying rapid application development phases
remain the same
1. Define Requirements
Rather than making you spend months developing
specifications with users, RAD begins by defining a loose set of
requirements
2. Prototype
In this rapid application development phase, the developer’s goal is to build something that they can
demonstrate to the client
3. Absorb Feedback
WITH A RECENT PROTOTYPE PREPARED, RAD
DEVELOPERS PRESENT THEIR WORK TO THE
CLIENT OR END-USERS
THEY COLLECT FEEDBACK ON EVERYTHING
FROM INTERFACE TO FUNCTIONALITY—IT IS
HERE WHERE PRODUCT REQUIREMENTS MIGHT
COME UNDER SCRUTINY
CLIENTS MAY CHANGE THEIR MINDS OR
DISCOVER THAT SOMETHING THAT SEEMED
RIGHT ON PAPER MAKES NO SENSE IN
PRACTICE
4. Finalize Product
DURING THIS STAGE,
DEVELOPERS MAY OPTIMIZE
OR EVEN RE-ENGINEER
THEIR IMPLEMENTATION TO
IMPROVE STABILITY,
MAINTAINABILITY, AND A
THIRD WORD ENDING IN ‘-
ILITY.’ THEY MAY ALSO
SPEND THIS PHASE
CONNECTING THE BACK-END
TO PRODUCTION DATA,
WRITING THOROUGH
DOCUMENTATION, AND
DOING ANY OTHER
MAINTENANCE TASKS
REQUIRED BEFORE HANDING
THE PRODUCT OVER WITH
CONFIDENCE
BOTH BOEHM’S SPIRAL
MODEL AND JAMES
MARTIN’S RAD MODEL MAKE
USE OF THESE FOUR STEPS
TO HELP DEVELOPMENT
TEAMS REDUCE RISK AND
BUILD EXCELLENT PRODUCTS
HOWEVER, RAPID APP
DEVELOPMENT HAS ITS
DRAWBACKS AS WELL
What is rapid application development, and
what are its benefits?
Enhanced flexibility and
adaptability as
developers can make
adjustments quickly
during the development
process
Quick iterations that
reduce development
time and speed up
delivery
Encouragement of code
reuse, which means less
manual coding, less room
for errors, and shorter
testing times
Increased customer
satisfaction due to high-
level collaboration and
coordination between
stakeholders
Better risk management
as stakeholders can
discuss and address code
vulnerabilities while
keeping development
processes going
Fewer surprises as, unlike
the Waterfall method,
RAD includes integrations
early on in the software
development process
5 steps or
phases in RAD
Step 1. Define and finalize
project requirements
During this step, stakeholders sit together to define and finalize
project requirements such as project goals, expectations,
timelines, and budget
Step 2: Begin building prototypes
As soon as you finish scoping the project, you can begin
development
Designers and developers will work closely with clients to create and
improve upon working prototypes until the final product is ready
Step 3: Gather user
feedback
In this step, prototypes and beta systems are converted into
working models
Step 4: Test, test, test
This step requires you to test your software product and ensure
that all its moving parts work together as per client expectations
Continue incorporating client feedback as the code is tested and
retested for its smooth functioning
Step 5: Present your system
THIS IS THE FINAL STEP BEFORE THE
FINISHED PRODUCT GOES TO LAUNCH
IT INVOLVES DATA CONVERSION AND
USER TRAINING
Questions!!
Thank You!

Weitere ähnliche Inhalte

Ähnlich wie Introducton of event-driven edited.pptx

Software Development Today Everything You Need To Know.pdf
Software Development Today Everything You Need To Know.pdfSoftware Development Today Everything You Need To Know.pdf
Software Development Today Everything You Need To Know.pdfchristiemarie4
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSeasiaInfotech2
 
Software Development 101 A Comprehensive Introduction
Software Development 101 A Comprehensive IntroductionSoftware Development 101 A Comprehensive Introduction
Software Development 101 A Comprehensive IntroductionBitCot
 
SciPy Technologies.pdf
SciPy Technologies.pdfSciPy Technologies.pdf
SciPy Technologies.pdfshanscipy
 
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfMaximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfJamesEddie2
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
application development complete knoeledge
application development complete knoeledgeapplication development complete knoeledge
application development complete knoeledgesthlmteachpartner
 
Comprehensive Guide on Software Development Process.pdf
Comprehensive Guide on Software Development Process.pdfComprehensive Guide on Software Development Process.pdf
Comprehensive Guide on Software Development Process.pdfSmith Daniel
 
Cross-Platform App Development
Cross-Platform App DevelopmentCross-Platform App Development
Cross-Platform App DevelopmentTechAhead Corp
 
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdfMobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdfPolyxer Systems
 
S cube's mobile application development
S cube's mobile application developmentS cube's mobile application development
S cube's mobile application developmentarti yadav
 
Scube's mobile application development
Scube's mobile application developmentScube's mobile application development
Scube's mobile application developmentarti yadav
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobile
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobileMobilizing Enterprise Data - Strategies to succeed in enterprise mobile
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobileAlex Zaltsman
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
Mobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key DifferencesMobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key DifferencesPolyxer Systems
 
14 Software Development Trends to Follow in 2022
14 Software Development Trends to Follow in 202214 Software Development Trends to Follow in 2022
14 Software Development Trends to Follow in 202275waytechnologies
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Mobilizing Enterprise Data for mobile apps and platforms
Mobilizing Enterprise Data for mobile apps and platformsMobilizing Enterprise Data for mobile apps and platforms
Mobilizing Enterprise Data for mobile apps and platformsAlex Zaltsman
 

Ähnlich wie Introducton of event-driven edited.pptx (20)

Software Development Today Everything You Need To Know.pdf
Software Development Today Everything You Need To Know.pdfSoftware Development Today Everything You Need To Know.pdf
Software Development Today Everything You Need To Know.pdf
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdf
 
Software Development 101 A Comprehensive Introduction
Software Development 101 A Comprehensive IntroductionSoftware Development 101 A Comprehensive Introduction
Software Development 101 A Comprehensive Introduction
 
SciPy Technologies.pdf
SciPy Technologies.pdfSciPy Technologies.pdf
SciPy Technologies.pdf
 
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfMaximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
application development complete knoeledge
application development complete knoeledgeapplication development complete knoeledge
application development complete knoeledge
 
Comprehensive Guide on Software Development Process.pdf
Comprehensive Guide on Software Development Process.pdfComprehensive Guide on Software Development Process.pdf
Comprehensive Guide on Software Development Process.pdf
 
Cross-Platform App Development
Cross-Platform App DevelopmentCross-Platform App Development
Cross-Platform App Development
 
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdfMobile App Development V_S Software Development_ 7 Key Differences.pdf
Mobile App Development V_S Software Development_ 7 Key Differences.pdf
 
S cube's mobile application development
S cube's mobile application developmentS cube's mobile application development
S cube's mobile application development
 
Scube's mobile application development
Scube's mobile application developmentScube's mobile application development
Scube's mobile application development
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
DevOps
DevOps DevOps
DevOps
 
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobile
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobileMobilizing Enterprise Data - Strategies to succeed in enterprise mobile
Mobilizing Enterprise Data - Strategies to succeed in enterprise mobile
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Mobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key DifferencesMobile App Development Vs Software Development 7 Key Differences
Mobile App Development Vs Software Development 7 Key Differences
 
14 Software Development Trends to Follow in 2022
14 Software Development Trends to Follow in 202214 Software Development Trends to Follow in 2022
14 Software Development Trends to Follow in 2022
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Mobilizing Enterprise Data for mobile apps and platforms
Mobilizing Enterprise Data for mobile apps and platformsMobilizing Enterprise Data for mobile apps and platforms
Mobilizing Enterprise Data for mobile apps and platforms
 

Kürzlich hochgeladen

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Introducton of event-driven edited.pptx

  • 1. Debre Tabor University Faculty of Technology Department of Information Technology Event-Driven Programming Prepared By: Gezahegn M. Email:-gezielove@gmail.com Saturday, May 7, 2022 DTU, Ethiopia
  • 3. What is software development? Software development refers to a set of activities dedicated to the process of creating, designing, deploying and supporting software. Software itself is the set of instructions or programs that tell a computer what to do. It is independent of hardware and makes computers programmable.
  • 4. Cont. System software to provide core functions such as operating systems, disk management, utilities, hardware management, and other operational necessities. Programming software to give programmers tools such as text editors, compilers, linkers, debuggers, and other tools to create code. Application software to help users perform tasks. Programmers, or coders, write source code to program computers for specific tasks like merging databases, processing online orders, routing communications, conducting searches, or displaying text and graphics. Software developers have a less formal role than engineers and can be closely involved with specific project areas such like writing code.
  • 5. Steps in the software development process Developing software typically involves the following steps: Selecting a methodology to establish a framework in which the steps of software development are applied Methodologies can include Agile development, DevOps, Rapid Application Development , Scaled Agile Framework , Waterfall and others The steps of the software development process fit into application lifecycle management The IBM Engineering Management solution is a superset of ALM that enables the management of parallel mechanical, electrical, and software development
  • 6. Steps in the software development process Requirements analysis and specification, Maintenance and support Software development process steps can be grouped into the phases of the lifecycle, but the importance of the lifecycle is that it recycles to enable continuous improvement.
  • 7. Q. Understand why developers use Agile vs Waterfall processes?
  • 8. Why is software development important? 1. Promote your business:-Software Development takes your business to new heights incorporation. It helps promote and spread your business as it enables your brand to be visible for everyone and almost anywhere through a computer smartphone. 2. Improve sales and services:- It is important to know how your customers think about your brand and products. 3. Direct Communication:- Software development is the only thing that can help you have direct communication with the clients. It is the fastest way to increase your brand awareness. 4. Increase Customers Engagement:-you can boost the customer’ engagement with the help of a mobile app or website and make them come back to you and not to your rival. 5. Helps in marketing your business:-Software development helps to apply on the go marketing of your business thus promoting your products and service at any places without any additional money spent or extra time required.
  • 9. Key features of effective software development Using software development to differentiate brands and gain competitive advantage requires proficiency with the techniques and technologies that can accelerate software deployment, quality, and efficacy Artificial intelligence : AI enables software to emulate human decision- making and learning Neural networks, machine learning, natural language processing, and cognitive capabilities present developers and businesses with the opportunity to offer products and services that disrupt marketplaces and leap ahead of the competition IBM Watson offers developers a way to connect with and use artificial intelligence services as part of their applications through application programming interfaces or APIs
  • 10. Key features of effective software development Cloud-native development: Cloud-native development is a way of building applications to exploit cloud environments A cloud-native application consists of discrete, reusable components known as micro services that are designed to integrate into any cloud environment Block chain: Block chain is a secure, digitally linked ledger that eliminates the cost and vulnerability introduced by parties like banks, regulatory bodies, and other intermediaries
  • 11. Types of Software Development THERE ARE MANY DIFFERENT TYPES OF SOFTWARE DEVELOPMENT OFTEN, THE VARIOUS KINDS OF DEVELOPERS WORK TOGETHER TO BRING YOUR PROJECT TO FRUITION SOME OF THEM OVERLAP AND CAN BE FOUND IN A SINGLE PROFESSIONAL, WHILE OTHERS REQUIRE A DISTINCT SKILL SET
  • 12. 1. Frontend Development FRONTEND DEVELOPERS WORK ON THE PART OF THE PRODUCT WITH WHICH THE USER INTERACTS THEY ARE PRIMARILY CONCERNED WITH THE USER INTERFACE THEY MUST BE HIGHLY PROFICIENT IN PROGRAMMING AND WORK CLOSELY WITH THE BACKEND DEVELOPERS TO ENSURE THAT THE TWO ASPECTS OF THE PRODUCT FUNCTION COHESIVELY
  • 13. 2. Backend Development In contrast, a backend developer works with the part of the product users can’t see — the back end This professional builds the infrastructure that powers the website, app, or program, focusing on functionality, integration of systems, and core logic They will also deal with the complex, underlying structure, ensuring strong performance, scalability, and security
  • 14. 3. Full-Stack Development A full-stack developer works on all aspects of the product, including both the front and back ends
  • 15. 4. Desktop Development Desktop developers exclusively create applications that run on a desktop operating system, such as Windows, Mac, or Linux This is opposed to developers that create applications that run on mobile, tablet, or other devices This type of specialization was more ubiquitous in the early days of programming, back before the days of mobile applications
  • 16. 5. Web Development WEB DEVELOPMENT IS THE PROCESS OF BUILDING WEB APPLICATIONS THIS IS DIFFERENT FROM A MOBILE APP, WHICH RUNS ON A PHONE OR TABLET AND DOESN’T NECESSARILY REQUIRE AN INTERNET CONNECTION TO RUN WEB DEVELOPMENT IS AN UMBRELLA TERM ENCOMPASSING BOTH FRONT AND BACKEND DEVELOPMENT
  • 17. 6. Database Development Not to be confused with a database administrator, who typically works with daily database upkeep and troubleshooting and implements the system, a database developer is responsible for building the database, modifying and designing existing or new programs, and ensuring that they satisfy the requirements of the users Sometimes, the roles of database administrator and developer do overlap — this depends on the needs of the client or employer
  • 18. 7. Mobile Development As is probably obvious from the name, a mobile developer builds applications that run natively on mobile devices, including smartphones, tablets, and some types of smartwatches However, many companies will work with developers who are experts in just one That’s because they tend to be more knowledgeable about the intricacies of each type of development than those who dabble in both of them since the tools, frameworks, and languages tend to be different
  • 19. 8. Cloud Computing Cloud computing encompasses services, programs, and applications that run over the cloud Some developers specialize in cloud computing — that is, the creation of cloud platforms They will build cloud applications and facilitate cloud deployment and migration, as well as manage cloud services and provide maintenance to users
  • 20. 9. DevOps Engineering DEVOPS IS A SET OF PRACTICES AND PHILOSOPHIES THAT ARE FOCUSED ON THE QUICK, EFFICIENT, AND CUSTOMER-CENTRIC DELIVERY OF SOFTWARE RELATED TO AGILE, THIS STYLE HAS BEEN WIDELY ADOPTED BY SOFTWARE DEVELOPERS AND TEAMS AROUND THE WORLD DEVOPS ENGINEERS WORK WITH TEAMS THAT PRACTICE THE PRINCIPLES
  • 21. 10. Security Engineering EVERYONE KNOWS HOW IMPORTANT SECURITY IN SOFTWARE IS IN THIS DAY AND AGE ETHICAL HACKERS ARE ONE EXAMPLE OF THIS TYPE OF PROFESSIONAL THIS IS BY NO MEANS A COMPREHENSIVE LIST OF ALL THE TYPES OF SOFTWARE DEVELOPMENT — THE FIELD IS WIDE AND VARIED
  • 22. Software Development Approaches Waterfall Approach Incremental Approach Spiral Approach
  • 23. Advertisements The waterfall model is often also referred to as the linear and sequential model, for the flow of activities in this model are rather linear and sequential as the name suggests In this model, the software development activities move to the next phase only after the activities in the current phase are over However, like is the case with a waterfall, one cannot return to the previous stage
  • 24. Incremental Approach Determines user needs and defines the overall architecture, but then delivers the system in a series of increments
  • 25. Spiral Approach A risk-driven controlled prototyping approach that develops prototypes early in the development process to specifically address risk areas followed by an assessment of prototyping results and further determination of risk areas to prototype Prototyping continues until high-risk areas are resolved and mitigated to an acceptable level Appropriate for exploratory projects that are working in an unfamiliar domain or with unproven technical approaches
  • 26. What Is Rapid Application Development? Rapid application development is an agile software development approach that focuses more on ongoing software projects and user feedback and less on following a strict plan Though often mistaken for a specific model, rapid application development is the idea that we benefit by treating our software projects like clay, rather than steel, which is how traditional development practices treat them In this post, we take a deep dive into RAD, examining the methodology, reviewing its advantages and disadvantages, comparing it to agile, and exploring the tools
  • 27. RAD Methodology Though exact practices and tools vary between specific methods, the underlying rapid application development phases remain the same
  • 28. 1. Define Requirements Rather than making you spend months developing specifications with users, RAD begins by defining a loose set of requirements
  • 29. 2. Prototype In this rapid application development phase, the developer’s goal is to build something that they can demonstrate to the client
  • 30. 3. Absorb Feedback WITH A RECENT PROTOTYPE PREPARED, RAD DEVELOPERS PRESENT THEIR WORK TO THE CLIENT OR END-USERS THEY COLLECT FEEDBACK ON EVERYTHING FROM INTERFACE TO FUNCTIONALITY—IT IS HERE WHERE PRODUCT REQUIREMENTS MIGHT COME UNDER SCRUTINY CLIENTS MAY CHANGE THEIR MINDS OR DISCOVER THAT SOMETHING THAT SEEMED RIGHT ON PAPER MAKES NO SENSE IN PRACTICE
  • 31. 4. Finalize Product DURING THIS STAGE, DEVELOPERS MAY OPTIMIZE OR EVEN RE-ENGINEER THEIR IMPLEMENTATION TO IMPROVE STABILITY, MAINTAINABILITY, AND A THIRD WORD ENDING IN ‘- ILITY.’ THEY MAY ALSO SPEND THIS PHASE CONNECTING THE BACK-END TO PRODUCTION DATA, WRITING THOROUGH DOCUMENTATION, AND DOING ANY OTHER MAINTENANCE TASKS REQUIRED BEFORE HANDING THE PRODUCT OVER WITH CONFIDENCE BOTH BOEHM’S SPIRAL MODEL AND JAMES MARTIN’S RAD MODEL MAKE USE OF THESE FOUR STEPS TO HELP DEVELOPMENT TEAMS REDUCE RISK AND BUILD EXCELLENT PRODUCTS HOWEVER, RAPID APP DEVELOPMENT HAS ITS DRAWBACKS AS WELL
  • 32. What is rapid application development, and what are its benefits? Enhanced flexibility and adaptability as developers can make adjustments quickly during the development process Quick iterations that reduce development time and speed up delivery Encouragement of code reuse, which means less manual coding, less room for errors, and shorter testing times Increased customer satisfaction due to high- level collaboration and coordination between stakeholders Better risk management as stakeholders can discuss and address code vulnerabilities while keeping development processes going Fewer surprises as, unlike the Waterfall method, RAD includes integrations early on in the software development process
  • 34. Step 1. Define and finalize project requirements During this step, stakeholders sit together to define and finalize project requirements such as project goals, expectations, timelines, and budget
  • 35. Step 2: Begin building prototypes As soon as you finish scoping the project, you can begin development Designers and developers will work closely with clients to create and improve upon working prototypes until the final product is ready
  • 36. Step 3: Gather user feedback In this step, prototypes and beta systems are converted into working models
  • 37. Step 4: Test, test, test This step requires you to test your software product and ensure that all its moving parts work together as per client expectations Continue incorporating client feedback as the code is tested and retested for its smooth functioning
  • 38. Step 5: Present your system THIS IS THE FINAL STEP BEFORE THE FINISHED PRODUCT GOES TO LAUNCH IT INVOLVES DATA CONVERSION AND USER TRAINING

Hinweis der Redaktion

  1. DevOps (a portmanteau of “development” and “operations”) is the combination of practices and tools designed to increase an organization’s ability to deliver applications and services faster than traditional software development processes. Application Lifecycle management:-coordination of development activates to produce software application or component and supports the life cycle managements of assets and their relationships.