SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
1
1
2
Agile Languages for Rapid Prototyping
By Tharindu Weerasinghe
3
Software Prototyping
What are software prototypes?
Incomplete versions of the software program being developed.
e.g.: If you develop a simple software package for a customer for the first time,
you build a model of the product, which is NOT the final product; that is the prototype)
What is software prototyping?
...of curse making the software prototypes…
Software prototyping is an activity during a certain software development, is the creation
of prototypes, i.e., incomplete versions of the software program being developed.
A prototype typically simulates only a few aspects of the features of the eventual
program, and may be completely different from the eventual implementation.
4
Software Prototyping
A prototype can be used in:
The requirements engineering process to help with
requirements elicitation and validation.
In design processes to explore options and develop a UI
design.
In the testing process to run back-to-back tests.
Prototyping Process:
5
Software Prototyping
Advantages of Prototyping
➢Reduced time and costs
➢Improved and increased user involvement
➢Improved system usability
➢A closer match to users’ real needs
➢Improved design quality
➢Improved maintainability
Disadvantages of Prototyping
➢Insufficient analysis
➢User confusion of prototype and finished system
➢Developer misunderstanding of user objectives
➢Developer attachment to prototype
➢Excessive development time of the prototype
➢Expense of implementing prototyping
6
Software Prototyping
Categories of Prototyping
Software prototyping has many variants. However, all the methods are in some
way based on two major types of prototyping:
Evolutionary Prototyping
Throwaway(Rapid) Prototyping
This lecture series focus on Rapid Prototyping (Throwaway) But before we go
into Rapid Prototyping in detail, let me brief you both types.
7
Evolutionary prototyping
Build prototype
system
Develop abstract
specification
Use prototype
system
Deliver
system
System
adequate?
YES
N
8
Throwaway(Rapid) prototyping
Outline
requirements
Develop
prototype
Evaluate
prototype
Specify
system
Develop
software
Validate
system
Delivered
software
system
Reusable
components
9
Rapid prototyping (Further…)
Rapid prototyping techniques:
❖Various techniques may be used for rapid development.
Dynamic high-level language development
Database programming
Component and application assembly
❖These techniques are often used together.
❖Visual programming is an inherent part of most prototype development systems.
10
Rapid prototyping (Further…)
Rapid prototyping RISKS…
➢Mistaken concepts of rapid prototyping concerning definitions, objectives and correct
application of the technique.
➢Disagreements with users and customers regarding methodology, standards, tools and so on.
➢Out-of-control users who want to iterate and evolve a prototype into a system that does
everything for everyone all of the time
➢Budget slashes and effort shortcuts - temptations brought about by use of the word ‘rapid’
➢Premature delivery of a prototype instead of a final (thoroughly documented and tuned)
product
➢Over-evolved prototypes - substituting elegance and efficiency for flexibility
11
Python for Rapid Prototyping
Python is an agile language which supports Agile Methodologies. Agile
methodologies helps Rapid Prototyping a lot!
A Japanese Software Engineer KOICHI TAMURA says in his blog:-
“As you know in a project where multiple people are working on, it's quite common that
there are tasks that can be done only after some other tasks is completed, and if you have made a
schedule you'll know for that reason it's difficult to make a schedule. At the last project I often used
Python for rapid prototyping to complete a task to make the team working efficiently, not making a
member bored by just waiting for his workmate finish a task. We could rewrite the script in c++ for
better performance later when there was enough time. If we had been coding only in c++, the
project might have been ended up in failure. Python worked so nice.”
12
Shall we learn Python Basics?
What is Python...?
➢Python is a dynamic object-oriented programming language that can be used for
many kinds of software development.
➢It offers strong support for integration with other languages and tools, comes with
extensive standard libraries, and can be learned in a few days.
➢Many Python programmers report substantial productivity gains and feel the
language encourages the development of higher quality, more maintainable code.
➢Python's core syntax and semantics are minimalistic, while the standard library is
large and comprehensive. Its use of whitespace as block delimiters is unusual among
popular programming languages.
13
Little bit from History…
➢Python was conceived in the late 1980s by Guido van Rossum at CWI [National Research
Institute for Mathematics and Computer Science (Dutch: Centrum voor Wiskunde en Informatica
or CWI)] in the Netherlands as a successor to the ABC programming language (itself inspired by
SETL- a high-level programming language) capable of exception handling and interfacing with the
Amoeba operating system.
➢Van Rossum is Python's principal author, and his continuing central role in deciding the
direction of Python is reflected in the title given to him by the Python community, Benevolent
Dictator for Life (BDFL).
➢Python 2.0 was released on 16 October 2000, with many major new features including a full
garbage collector and support for Unicode. However, the most important change was to the
development process itself, with a shift to a more transparent and community-backed process.
➢Python 3.0, a major, backwards-incompatible release, was released on 3 December 2008
after a long period of testing. Many of its major features have been back ported to the
backwards-compatible Python 2.6.
14
Python Applications used in..,
➢Web and Internet Development
➢Database Access
➢Desktop GUIs
➢Scientific and Numeric
➢Education
➢Network Programming
➢Software Development
➢Game and 3D Graphics
Special mention:
All on-line material referred when preparing these slides.
© 2009 IFS

Mais conteúdo relacionado

Mais procurados

Overview of Java
Overview of JavaOverview of Java
Overview of Javajosemachoco
 
Training on Core java | PPT Presentation | Shravan Sanidhya
Training on Core java | PPT Presentation | Shravan SanidhyaTraining on Core java | PPT Presentation | Shravan Sanidhya
Training on Core java | PPT Presentation | Shravan SanidhyaShravan Sanidhya
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".SudhanshuVijay3
 
BEAAUTIFUL presentation of java
BEAAUTIFUL  presentation of javaBEAAUTIFUL  presentation of java
BEAAUTIFUL presentation of javarana usman
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in javaJanBask Training
 
Java presentation
Java presentationJava presentation
Java presentationsurajdmk
 
Why java is important in programming language?
Why java is important in programming language?Why java is important in programming language?
Why java is important in programming language?NexSoftsys
 
Java Presentation
Java PresentationJava Presentation
Java Presentationaitrichtech
 
Top 10 programming languages
Top 10 programming languagesTop 10 programming languages
Top 10 programming languagesAman Kumar
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...MCM COmpetitive Classes
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE abile technologies
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)Shwetakant1
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about javakanchanmahajan23
 

Mais procurados (20)

Overview of Java
Overview of JavaOverview of Java
Overview of Java
 
Introduction
IntroductionIntroduction
Introduction
 
Training on Core java | PPT Presentation | Shravan Sanidhya
Training on Core java | PPT Presentation | Shravan SanidhyaTraining on Core java | PPT Presentation | Shravan Sanidhya
Training on Core java | PPT Presentation | Shravan Sanidhya
 
Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".Summer training presentation on "CORE JAVA".
Summer training presentation on "CORE JAVA".
 
BEAAUTIFUL presentation of java
BEAAUTIFUL  presentation of javaBEAAUTIFUL  presentation of java
BEAAUTIFUL presentation of java
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in java
 
Features of java
Features of javaFeatures of java
Features of java
 
Java presentation
Java presentationJava presentation
Java presentation
 
Why java is important in programming language?
Why java is important in programming language?Why java is important in programming language?
Why java is important in programming language?
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Learn java theory presentation
Learn java theory presentationLearn java theory presentation
Learn java theory presentation
 
Top 10 programming languages
Top 10 programming languagesTop 10 programming languages
Top 10 programming languages
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Unit 1
Unit 1Unit 1
Unit 1
 
C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...C,c++,java,php,.net training institute in delhi, best training institute for ...
C,c++,java,php,.net training institute in delhi, best training institute for ...
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
java Features
java Featuresjava Features
java Features
 
Java Intro
Java IntroJava Intro
Java Intro
 

Semelhante a Agile Languages for Rapid Prototyping

An Introduction To Python - Python, Print()
An Introduction To Python - Python, Print()An Introduction To Python - Python, Print()
An Introduction To Python - Python, Print()Blue Elephant Consulting
 
Python Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechPython Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechRamanamurthy Banda
 
Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)Rr
 
introduction to Python (for beginners)
introduction to Python (for beginners)introduction to Python (for beginners)
introduction to Python (for beginners)guobichrng
 
Type of apps that can be developed using python
Type of apps that can be developed using pythonType of apps that can be developed using python
Type of apps that can be developed using pythonSemidot Infotech
 
Programming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTESProgramming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTESRushikesh Kolhe
 
python Certification Training in marthahalli
python Certification Training in marthahallipython Certification Training in marthahalli
python Certification Training in marthahalliMUDDUKRISHNA14
 
A complete guide to Python app development.pdf
A complete guide to Python app development.pdfA complete guide to Python app development.pdf
A complete guide to Python app development.pdfMoonTechnolabsPvtLtd
 
Why Python in required in Civil Engineering
Why Python in required in Civil EngineeringWhy Python in required in Civil Engineering
Why Python in required in Civil EngineeringRushikesh Kolhe
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming BasicsDhana malar
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answersHopeTutors1
 
A Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProA Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProSofiaCarter4
 
Python Course in Delhi.pdf
Python Course in Delhi.pdfPython Course in Delhi.pdf
Python Course in Delhi.pdftarun
 
Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...Cerebrum Infotech
 
Ways To Become A Good Python Developer
Ways To Become A Good Python DeveloperWays To Become A Good Python Developer
Ways To Become A Good Python DeveloperCodeMonk
 

Semelhante a Agile Languages for Rapid Prototyping (20)

An Introduction To Python - Python, Print()
An Introduction To Python - Python, Print()An Introduction To Python - Python, Print()
An Introduction To Python - Python, Print()
 
Python Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechPython Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & Tech
 
Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)Fantasy cricket game using python(intershala project)
Fantasy cricket game using python(intershala project)
 
introduction to Python (for beginners)
introduction to Python (for beginners)introduction to Python (for beginners)
introduction to Python (for beginners)
 
Type of apps that can be developed using python
Type of apps that can be developed using pythonType of apps that can be developed using python
Type of apps that can be developed using python
 
Programming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTESProgramming in Civil Engineering_UNIT 1_NOTES
Programming in Civil Engineering_UNIT 1_NOTES
 
python Certification Training in marthahalli
python Certification Training in marthahallipython Certification Training in marthahalli
python Certification Training in marthahalli
 
A complete guide to Python app development.pdf
A complete guide to Python app development.pdfA complete guide to Python app development.pdf
A complete guide to Python app development.pdf
 
Why Python in required in Civil Engineering
Why Python in required in Civil EngineeringWhy Python in required in Civil Engineering
Why Python in required in Civil Engineering
 
Introduction to Python Programming Basics
Introduction  to  Python  Programming BasicsIntroduction  to  Python  Programming Basics
Introduction to Python Programming Basics
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answers
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
A Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevProA Comprehensive Guide to App Development with Python - AppsDevPro
A Comprehensive Guide to App Development with Python - AppsDevPro
 
Python
PythonPython
Python
 
Research paper on python by Rj
Research paper on python by RjResearch paper on python by Rj
Research paper on python by Rj
 
Python Course in Delhi.pdf
Python Course in Delhi.pdfPython Course in Delhi.pdf
Python Course in Delhi.pdf
 
Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...Build Real-World Mobile Applications With Python App Development Services Com...
Build Real-World Mobile Applications With Python App Development Services Com...
 
Python Assignment Help
Python Assignment HelpPython Assignment Help
Python Assignment Help
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Ways To Become A Good Python Developer
Ways To Become A Good Python DeveloperWays To Become A Good Python Developer
Ways To Become A Good Python Developer
 

Mais de Tharindu Weerasinghe

Basics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaBasics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaTharindu Weerasinghe
 
Data Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaData Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaTharindu Weerasinghe
 
Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Tharindu Weerasinghe
 
Tips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTharindu Weerasinghe
 
Cloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsCloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsTharindu Weerasinghe
 
Basic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesBasic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesTharindu Weerasinghe
 
Introduction to Enterprise Applications and Tools
Introduction to Enterprise Applications and ToolsIntroduction to Enterprise Applications and Tools
Introduction to Enterprise Applications and ToolsTharindu Weerasinghe
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareTharindu Weerasinghe
 
How to make screens and the internet safe for Children
How to make screens and the internet safe for Children How to make screens and the internet safe for Children
How to make screens and the internet safe for Children Tharindu Weerasinghe
 
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsA Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsTharindu Weerasinghe
 
A Survey Study on Higher Education Trends among Information Technology Prof...
A Survey Study  on  Higher Education Trends among Information Technology Prof...A Survey Study  on  Higher Education Trends among Information Technology Prof...
A Survey Study on Higher Education Trends among Information Technology Prof...Tharindu Weerasinghe
 

Mais de Tharindu Weerasinghe (20)

C Propgramming.pdf
C Propgramming.pdfC Propgramming.pdf
C Propgramming.pdf
 
Basics of Computer Networks in Sinhala
Basics of Computer Networks in SinhalaBasics of Computer Networks in Sinhala
Basics of Computer Networks in Sinhala
 
Data Structures & Algorithms in Sinhala
Data Structures & Algorithms in SinhalaData Structures & Algorithms in Sinhala
Data Structures & Algorithms in Sinhala
 
Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala Object Oriended Programming in Sinhala
Object Oriended Programming in Sinhala
 
Tips For A Better Undergraduate Research
Tips For A Better Undergraduate ResearchTips For A Better Undergraduate Research
Tips For A Better Undergraduate Research
 
Basics of Block Chain
Basics of Block ChainBasics of Block Chain
Basics of Block Chain
 
Basics of IoT
Basics of IoTBasics of IoT
Basics of IoT
 
REST API Basics
REST API BasicsREST API Basics
REST API Basics
 
Cloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research TopicsCloud Conputing Basics and some Related Research Topics
Cloud Conputing Basics and some Related Research Topics
 
Basic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging TechnologiesBasic Concepts and Trends in Emerging Technologies
Basic Concepts and Trends in Emerging Technologies
 
Introduction to Enterprise Applications and Tools
Introduction to Enterprise Applications and ToolsIntroduction to Enterprise Applications and Tools
Introduction to Enterprise Applications and Tools
 
Things to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] softwareThings to ponder before you start building [cooperate] software
Things to ponder before you start building [cooperate] software
 
How to make screens and the internet safe for Children
How to make screens and the internet safe for Children How to make screens and the internet safe for Children
How to make screens and the internet safe for Children
 
Different Concepts on Databases
Different Concepts on DatabasesDifferent Concepts on Databases
Different Concepts on Databases
 
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT ProfessionalsA Survey Study on Higher Education Trends among Sri Lankan IT Professionals
A Survey Study on Higher Education Trends among Sri Lankan IT Professionals
 
A Survey Study on Higher Education Trends among Information Technology Prof...
A Survey Study  on  Higher Education Trends among Information Technology Prof...A Survey Study  on  Higher Education Trends among Information Technology Prof...
A Survey Study on Higher Education Trends among Information Technology Prof...
 
Triggers and Stored Procedures
Triggers and Stored ProceduresTriggers and Stored Procedures
Triggers and Stored Procedures
 
Database Intergrity
Database IntergrityDatabase Intergrity
Database Intergrity
 
Cursors in MySQL
Cursors in MySQL Cursors in MySQL
Cursors in MySQL
 
Business Rules in Databases
Business Rules in DatabasesBusiness Rules in Databases
Business Rules in Databases
 

Último

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Último (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

Agile Languages for Rapid Prototyping

  • 1. 1 1
  • 2. 2 Agile Languages for Rapid Prototyping By Tharindu Weerasinghe
  • 3. 3 Software Prototyping What are software prototypes? Incomplete versions of the software program being developed. e.g.: If you develop a simple software package for a customer for the first time, you build a model of the product, which is NOT the final product; that is the prototype) What is software prototyping? ...of curse making the software prototypes… Software prototyping is an activity during a certain software development, is the creation of prototypes, i.e., incomplete versions of the software program being developed. A prototype typically simulates only a few aspects of the features of the eventual program, and may be completely different from the eventual implementation.
  • 4. 4 Software Prototyping A prototype can be used in: The requirements engineering process to help with requirements elicitation and validation. In design processes to explore options and develop a UI design. In the testing process to run back-to-back tests. Prototyping Process:
  • 5. 5 Software Prototyping Advantages of Prototyping ➢Reduced time and costs ➢Improved and increased user involvement ➢Improved system usability ➢A closer match to users’ real needs ➢Improved design quality ➢Improved maintainability Disadvantages of Prototyping ➢Insufficient analysis ➢User confusion of prototype and finished system ➢Developer misunderstanding of user objectives ➢Developer attachment to prototype ➢Excessive development time of the prototype ➢Expense of implementing prototyping
  • 6. 6 Software Prototyping Categories of Prototyping Software prototyping has many variants. However, all the methods are in some way based on two major types of prototyping: Evolutionary Prototyping Throwaway(Rapid) Prototyping This lecture series focus on Rapid Prototyping (Throwaway) But before we go into Rapid Prototyping in detail, let me brief you both types.
  • 7. 7 Evolutionary prototyping Build prototype system Develop abstract specification Use prototype system Deliver system System adequate? YES N
  • 9. 9 Rapid prototyping (Further…) Rapid prototyping techniques: ❖Various techniques may be used for rapid development. Dynamic high-level language development Database programming Component and application assembly ❖These techniques are often used together. ❖Visual programming is an inherent part of most prototype development systems.
  • 10. 10 Rapid prototyping (Further…) Rapid prototyping RISKS… ➢Mistaken concepts of rapid prototyping concerning definitions, objectives and correct application of the technique. ➢Disagreements with users and customers regarding methodology, standards, tools and so on. ➢Out-of-control users who want to iterate and evolve a prototype into a system that does everything for everyone all of the time ➢Budget slashes and effort shortcuts - temptations brought about by use of the word ‘rapid’ ➢Premature delivery of a prototype instead of a final (thoroughly documented and tuned) product ➢Over-evolved prototypes - substituting elegance and efficiency for flexibility
  • 11. 11 Python for Rapid Prototyping Python is an agile language which supports Agile Methodologies. Agile methodologies helps Rapid Prototyping a lot! A Japanese Software Engineer KOICHI TAMURA says in his blog:- “As you know in a project where multiple people are working on, it's quite common that there are tasks that can be done only after some other tasks is completed, and if you have made a schedule you'll know for that reason it's difficult to make a schedule. At the last project I often used Python for rapid prototyping to complete a task to make the team working efficiently, not making a member bored by just waiting for his workmate finish a task. We could rewrite the script in c++ for better performance later when there was enough time. If we had been coding only in c++, the project might have been ended up in failure. Python worked so nice.”
  • 12. 12 Shall we learn Python Basics? What is Python...? ➢Python is a dynamic object-oriented programming language that can be used for many kinds of software development. ➢It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. ➢Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code. ➢Python's core syntax and semantics are minimalistic, while the standard library is large and comprehensive. Its use of whitespace as block delimiters is unusual among popular programming languages.
  • 13. 13 Little bit from History… ➢Python was conceived in the late 1980s by Guido van Rossum at CWI [National Research Institute for Mathematics and Computer Science (Dutch: Centrum voor Wiskunde en Informatica or CWI)] in the Netherlands as a successor to the ABC programming language (itself inspired by SETL- a high-level programming language) capable of exception handling and interfacing with the Amoeba operating system. ➢Van Rossum is Python's principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community, Benevolent Dictator for Life (BDFL). ➢Python 2.0 was released on 16 October 2000, with many major new features including a full garbage collector and support for Unicode. However, the most important change was to the development process itself, with a shift to a more transparent and community-backed process. ➢Python 3.0, a major, backwards-incompatible release, was released on 3 December 2008 after a long period of testing. Many of its major features have been back ported to the backwards-compatible Python 2.6.
  • 14. 14 Python Applications used in.., ➢Web and Internet Development ➢Database Access ➢Desktop GUIs ➢Scientific and Numeric ➢Education ➢Network Programming ➢Software Development ➢Game and 3D Graphics
  • 15. Special mention: All on-line material referred when preparing these slides. © 2009 IFS