SlideShare une entreprise Scribd logo
1  sur  46
Intro to Software Development
Introduction
• Who are we?
• What do we do?
• Why do we do this?
Agenda
• Software Development Life Cycle
• Discovering Software Requirements
• Programming Languages
• Choosing a Language
• Software Development
• Software Testing
• What next?
SOFTWARE DEVELOPMENT LIFE CYCLE
Waterfall
Waterfall Development
Agile
Agile Development
DISCOVERING SOFTWARE REQUIREMENTS
Traditional Requirements Discovery
Use Cases
Agile Requirements Discovery
Traditional vs. Agile Requirements
SOFTWARE DESIGN
Software Design Process
PROGRAMMING LANGUAGES
Generations
● Machine Language (1GL)
o Very low level, tedious and error-prone
● Assembly Language (2GL)
o Usually specific to a particular processor
family and environment
● High-level Languages (3GL)
o Independent of a particular type of computer
hardware
● Fourth Generation Languages (4GL)
o Provides a higher level of abstraction than
3GLs
o Closer to natural human languages
● Natural Language
o Ambiguous and hard for computer to
understand
Choosing a Language
Useful Criteria
● Best suited to the problem you
are trying to solve
● Widely available
● Widely used
● Problem Domains
o Dynamic web sites and applications
o Web Plugins and widgets
o Web based games
o Automation of system admin tasks
o Popular choices for learning programming
● Communities
o http://phpcommunity.org
o https://www.python.org/community/
o https://www.ruby-
lang.org/en/community/
o https://plus.google.com/communities/100
875929141897651837
● Problem Domains
● Client/server applications and APIs
● Mobile applications and games
● Communities
o http://www.meetup.com/Londonjavaco
mmunity/
o http://www.csharpforums.net
o http://androidcommunity.com
● Problem Domains
o High performance applications
o Complex computations
o Embedded systems
o Computer and console games
o Mobile applications and games
● Communities
o C - http://www.cprogramming.com
o C++ -
https://plus.google.com/communities/11
6007775542700637383
o Objective-C -
https://plus.google.com/communities/10
3997592872376747208
Questions?
SOFTWARE TESTING
Verification vs. Validation
Types of Software Testing
V-Model
Software Testing in the SDLC
Traditional vs. Agile Testing
Why Software Testing?
SUMMARY
In Summary...
● Learning Software Development involves
a lot more than just learning a
programming language…
Aim of this Community
● Build a vibrant community of Software
Professionals
● Help you Learn Software Development via
o Free Programming 101 Sessions
o Low-cost Hands-on Workshops
o Coaching & Mentoring
o Virtual Internships?
Recommended Approach
● Find an interesting problem to solve
● Choose a language and learn the
fundamentals and language features
● Practice, practice, practice…..
● Have fun!
Other Learning Resources
● Intensive Courses
o http://www.makersacademy.com
o https://generalassemb.ly
● Online courses
o https://www.coursera.org/
o https://www.udacity.com/
o https://developers.google.com/university/
● Online tutorials
o https://www.khanacademy.org/
o http://www.codecademy.com
● Other online resources
o http://www.w3schools.com
o http://learncodethehardway.org/
Questions?

Contenu connexe

Tendances

Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
salmankhan570
 
Programming languages
Programming languagesProgramming languages
Programming languages
Akash Varaiya
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
Varun Garg
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 

Tendances (20)

Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Lecture 1-intro-to-software-development
Lecture 1-intro-to-software-developmentLecture 1-intro-to-software-development
Lecture 1-intro-to-software-development
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Introduction to GNU/Linux
Introduction to GNU/LinuxIntroduction to GNU/Linux
Introduction to GNU/Linux
 
History of operating systems
History of operating systemsHistory of operating systems
History of operating systems
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Introduction to Programming Languages
Introduction to Programming LanguagesIntroduction to Programming Languages
Introduction to Programming Languages
 
Mobile application development ppt
Mobile application development pptMobile application development ppt
Mobile application development ppt
 

En vedette (7)

Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
Software Engineering - Intro
Software Engineering - IntroSoftware Engineering - Intro
Software Engineering - Intro
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 

Similaire à Intro to software development

Computing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming LogComputing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming Log
LynellBull52
 

Similaire à Intro to software development (20)

Computer Programming Overview
Computer Programming OverviewComputer Programming Overview
Computer Programming Overview
 
What is the best programming language for your web product?
What is the best programming language for your web product?What is the best programming language for your web product?
What is the best programming language for your web product?
 
Golang, Python or C/C++, who wins
Golang, Python or C/C++, who wins Golang, Python or C/C++, who wins
Golang, Python or C/C++, who wins
 
Os hardware meets os software
Os hardware meets os softwareOs hardware meets os software
Os hardware meets os software
 
Start your open source project
Start your open source projectStart your open source project
Start your open source project
 
IT Career Planning v2
IT Career Planning v2IT Career Planning v2
IT Career Planning v2
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?What are your Programming Language's Energy-Delay Implications?
What are your Programming Language's Energy-Delay Implications?
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)
 
Day1 before getting_started
Day1 before getting_startedDay1 before getting_started
Day1 before getting_started
 
Real World Application of Development
Real World Application of DevelopmentReal World Application of Development
Real World Application of Development
 
Shaping the Future of Automatic Programming
Shaping the Future of Automatic ProgrammingShaping the Future of Automatic Programming
Shaping the Future of Automatic Programming
 
Generation of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptxGeneration of Computer language by arya dutta (1).pptx
Generation of Computer language by arya dutta (1).pptx
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Android
 
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
 
Computing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming LogComputing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming Log
 
What Programming Language Do You Require for Your Next Project & How to Hire ...
What Programming Language Do You Require for Your Next Project & How to Hire ...What Programming Language Do You Require for Your Next Project & How to Hire ...
What Programming Language Do You Require for Your Next Project & How to Hire ...
 

Plus de Hawkman Academy

Plus de Hawkman Academy (12)

Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
What is the secret to great Agile leadership?
What is the secret to great Agile leadership?What is the secret to great Agile leadership?
What is the secret to great Agile leadership?
 
Agile Retrospectives
Agile RetrospectivesAgile Retrospectives
Agile Retrospectives
 
C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#C# 101: Intro to Programming with C#
C# 101: Intro to Programming with C#
 
Web 102 INtro to CSS
Web 102  INtro to CSSWeb 102  INtro to CSS
Web 102 INtro to CSS
 
Java 101 intro to programming with java
Java 101  intro to programming with javaJava 101  intro to programming with java
Java 101 intro to programming with java
 
Web 101 intro to html
Web 101  intro to htmlWeb 101  intro to html
Web 101 intro to html
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Introduction to Agile & Scrum
Introduction to Agile & ScrumIntroduction to Agile & Scrum
Introduction to Agile & Scrum
 
Agile Requirements Discovery
Agile Requirements DiscoveryAgile Requirements Discovery
Agile Requirements Discovery
 
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software RequirementsDesign 101 : Beyond ideation - Transforming Ideas to Software Requirements
Design 101 : Beyond ideation - Transforming Ideas to Software Requirements
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Intro to software development

Notes de l'éditeur

  1. https://www.linkedin.com/pulse/defining-requirement-types-traditional-vs-use-cases-galal-pmp-itil
  2. http://www.slideshare.net/OliverStadie/software-architecture-and-design-an-overview-44135795
  3. http://dasunhegoda.com/software-design-patterns/158/
  4. http://www.slideshare.net/OliverStadie/software-architecture-and-design-an-overview-44135795
  5. Natural Language Examples Kids Make Nutritious Snacks Red Tape Holds Up New Bridge Police Squad Helps Dog Bite Victim Local High School Dropouts Cut in Half [ real news paper headlines, compiled by Rich Pattis ]
  6. Python - great first language for beginners available on multiple platforms Ruby - “...focus on simplicity and productivity with an elegant syntax that is natural to read and easy to write” - www.ruby-lang.org PHP - Usually for web programming and “hackers” language of choice
  7. http://arihant427.blogspot.co.uk/2014/12/overview-of-c-language.html
  8. http://www.slideshare.net/OliverStadie/software-architecture-and-design-an-overview-44135795
  9. http://www.mooc-list.com/course/programming-everybody-coursera https://www.coursera.org/course/pythonlearn