尊敬的 微信汇率:1円 ≈ 0.046215 元 支付宝汇率:1円 ≈ 0.046306元 [退出登录]
SlideShare a Scribd company logo
ICT 0801 2/9/2011 S.G.Nambuwasam 1 Software Development Practices
What is Software Software is a general term for the various kinds of programs used to operate computers and related devices.  Software can be thought of as the variable part of a computer and hardware the invariable part.
Software Development Is the act of working to produce/create software. This software could be produced for a variety of purposes.
Reasons to Develop Software to meet specific needs of a specific client/business  to meet a perceived need of some set of potential users  for personal use
Software Development Life Cycle (SDLC) Market research Gathering requirements for the proposed business solution Analyzing the problem Devising a plan or design for the software-based solution Implementation (coding) of the software Testing the software Deployment Maintenance and bug fixing
Popular Software Development Models 	A. System Development Life Cycle (SDLC) Model B. Prototyping Model C. Rapid Application Development Model D. Component Assembly Model
System Development Life Cycle (SDLC) The systems development life cycle (SDLC) is a sequential conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
Activities of SDLC System/Information Engineering and Modeling Software Requirement Analysis System Analysis and Design Code Generation Testing Maintenance
Stages of the Waterfall Model
Requirement Analysis & Definition The requirements are gathered from the end-user by consultation Requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied A Requirement Specification document is created which serves the purpose of guideline for the next phase of the model
Feasibility Study Aims to objectively and rationally uncover the strengths and weaknesses of the existing business or proposed venture, opportunities and threats as presented by the environment, the resources required to carry through, and ultimately the prospects for success Criteria to judge feasibility  Cost required  Value to be attained
Five Common Feasibility Factors Technology and System Feasibility Economic Feasibility Legal Feasibility Operational Feasibility Schedule Feasibility
Other Feasibility Factors Market and real estate feasibility Resource feasibility Cultural feasibility Financial feasibility
Feasibility Study Report The feasibility study outputs the feasibility study report A report detailing the evaluation criteria, the study findings, and the recommendations
System & Software Design The requirement specifications from first phase are studied in this phase and system design is prepared. Helps in specifying hardware and system requirements Helps in defining overall system architecture Serve as input for the next phase of the model
Implementation & Unit Testing the work is divided in modules/units and actual coding is started The system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality;
Integration & System Testing: Units are integrated into a complete system during Integration phase and tested to check if all modules/units coordinate between each other and the system as a whole behaves as per the specifications. After successfully testing the software, it is delivered to the customer.
Operations & Maintenance: virtually never ending phase (Very long) the issues related to the system are solved after deployment of the system
Waterfall development in action create the functional specification When we have a full understanding of the business the functional specification is published and distributed to as many business experts as possible for feedback.   When the functional specification is final we often convey a meeting of business experts and work through the final copy together to iron out any errors prior to sign-off.
produce a non working prototype application along with a user interface specification When everybody is happy that the screens will deliver the functionality required the application can be developed and tested. When the application is complete a beta release is published and provided to the business for testing.  Any  bugs found are rapidly repaired When no significant bugs remain and the client is happy with the application it can go live as release version 1.0.
Advantages of the waterfall method Design errors are captured before any software is written saving time during the implementation phase.  Excellent technical documentation is part of the deliverables and it is easier for new programmers to get up to speed during the maintenance phase.  The approach is very structured and it is easier to measure progress by reference to clearly defined milestones.  The total cost of the project can be accurately estimated after the requirements have been defined (via the functional and user interface specifications).  Testing is easier as it can be done by reference to the scenarios defined in the functional specification.
Disadvantages of the waterfall method Clients will often find it difficult to state their requirements at the abstract level of a functional specification and will only fully appreciate what is needed when the application is delivered.  It then becomes very difficult (and expensive) to re-engineer the application.  The model does not cater for the possibility of requirements changing during the development cycle.  A project can often take substantially longer to deliver than when developed with an iterative methodology such as the agile development method.
Prototyping Model The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. prototype is developed based on the currently known requirements.  By using this prototype, the client can get an "actual feel" of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system.
Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements.  It is also an effective method to demonstrate the feasibility of a certain approach.  might be needed for novel systems where it is not clear that constraints can be met or that algorithms can be developed to implement the requirements.
Prototyping  Model
Stages of the Prototyping Model cyclic version of the linear model once the requirement analysis is done and the design for a prototype is made the development process gets started Once the prototype is created, it is given to the customer for evaluation The customer tests the package and gives his/her feed back to the developer who refines the product according to the customer's exact expectation
After a finite number of iterations, the final software package is given to the customer. In this methodology, the software is evolved as a result of periodic shuttling of information between the customer and developer.  the most popular development model in the contemporary IT industry. Most of the successful software products have been developed using this model
Advantages of Prototyping Users are actively involved in the development It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency. Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. Errors can be detected much earlier as the system is mode side by side.
Quicker user feedback is available leading to better solutions. One of the key advantages a prototype modeled software has is the time frame of development. Instead of concentrating on documentation, more effort is placed in creating the actual software. This way, the actual software could be released in advance.
Disadvantages of the Prototyping Model Leads to implementing and then repairing way of building systems. Since its being built out of concept, most of the models presented in the early stage are not complete. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. integration could be very difficult for a prototype model.
Rapid Application Development Model A linear sequential software development process An extremely short development cycle The RAD model is a "high speed" adaptation of the linear sequential model  Rapid development is achieved by using a component-based construction approach.  Used primarily for information systems applications,
Phases of RAD Business Modeling Data Modeling Process Modeling Application Generation Testing and Turnover
Business Modeling ,[object Object]
What information drives the business process?
What information is generated?
Who generates it?
Where does the information go?
Who processes it? ,[object Object]
Process Modeling The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function.  Processing the descriptions are created for adding, modifying, deleting, or retrieving a data object.
Application Generation Works to reuse existing program components (when possible) or create reusable components (when necessary). In all cases, automated tools are used to facilitate construction of the software.
Testing and Turnover The RAD process emphasizes reuse, many of the program components have already been tested.  This minimizes the testing and development time.
Advantages of RAD Flexible and adaptable to changes. Prototyping applications gives users a tangible description from which to judge whether critical system requirements are being met by the system. Report output can be compared with existing reports. Data entry forms can be reviewed for completeness of all fields, navigation, data access (drop down lists,checkboxes, radio buttons, etc.).  RAD generally incorporates short development cycles - users see the RAD product quickly.

More Related Content

What's hot

Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
Vivek Gupta
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
KelisKing
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
karthik venkatesh
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
SUBRAHMANYAM SINGH presentation designing
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
Krystal McLean
 
(Software development-life-cycle)
(Software  development-life-cycle)(Software  development-life-cycle)
(Software development-life-cycle)
Abdullah Al Rumy
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
Abhimanyu Mishra
 
Sdlc 4
Sdlc 4Sdlc 4
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
Yaswanth Babu Gummadivelli
 
Session3
Session3Session3
Session3
Jani Kusuma
 
SDLC
SDLCSDLC
Software developement life cycle ppt
Software developement life cycle pptSoftware developement life cycle ppt
Software developement life cycle ppt
OECLIB Odisha Electronics Control Library
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
Atamjitsingh92
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
sourav verma
 
Sdlc
SdlcSdlc
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
Kumar
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
International Islamic University
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
Mubashir Ali
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
Ankita Lachhwani
 

What's hot (20)

Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
SDLC Final (1)
SDLC Final (1)SDLC Final (1)
SDLC Final (1)
 
(Software development-life-cycle)
(Software  development-life-cycle)(Software  development-life-cycle)
(Software development-life-cycle)
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Sdlc 4
Sdlc 4Sdlc 4
Sdlc 4
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
Session3
Session3Session3
Session3
 
SDLC
SDLCSDLC
SDLC
 
Software developement life cycle ppt
Software developement life cycle pptSoftware developement life cycle ppt
Software developement life cycle ppt
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
Sdlc
SdlcSdlc
Sdlc
 
Software development Life Cycle
Software development Life CycleSoftware development Life Cycle
Software development Life Cycle
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 

Viewers also liked

How to Prepare Innovative Feasibility Study in transitional economy
How to Prepare Innovative Feasibility Study in transitional economyHow to Prepare Innovative Feasibility Study in transitional economy
How to Prepare Innovative Feasibility Study in transitional economy
Consulting Group for Development, CGD
 
Feasibility study template
Feasibility study templateFeasibility study template
Feasibility study template
Feasibility Pro
 
Sample contents of a completed feasibility study
Sample contents of a completed feasibility studySample contents of a completed feasibility study
Sample contents of a completed feasibility study
nazcats
 
Software Product Life Cycle
Software Product Life CycleSoftware Product Life Cycle
Software Product Life Cycle
Mahesh Panchal
 
Feasibility report -basic concepts with example
Feasibility report -basic concepts with exampleFeasibility report -basic concepts with example
Feasibility report -basic concepts with example
Abhijeet Bhosale
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Viewers also liked (8)

How to Prepare Innovative Feasibility Study in transitional economy
How to Prepare Innovative Feasibility Study in transitional economyHow to Prepare Innovative Feasibility Study in transitional economy
How to Prepare Innovative Feasibility Study in transitional economy
 
Feasibility study template
Feasibility study templateFeasibility study template
Feasibility study template
 
Sample contents of a completed feasibility study
Sample contents of a completed feasibility studySample contents of a completed feasibility study
Sample contents of a completed feasibility study
 
Software Product Life Cycle
Software Product Life CycleSoftware Product Life Cycle
Software Product Life Cycle
 
Feasibility report -basic concepts with example
Feasibility report -basic concepts with exampleFeasibility report -basic concepts with example
Feasibility report -basic concepts with example
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Sdpl1

Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
Dr. Anthony Vincent. B
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
ethiouniverse
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
vishal choudhary
 
The process
The processThe process
The process
prakashvs7
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
Rizwan Kabir
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
vishal choudhary
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
HaiderAli252366
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
Software process model
Software process modelSoftware process model
Software process model
Muhammad Yousuf Abdul Qadir
 
SDLC Model
SDLC  ModelSDLC  Model
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
PunitGupta71
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
MuhammadTalha436
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
RayonJ1
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
Delowar hossain
 
Software models
Software modelsSoftware models
Software models
MOULA HUSSAIN KHATTHEWALE
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
VikasRai405977
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
AmnaAhsaan1
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
Compare Infobase Limited
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 

Similar to Sdpl1 (20)

Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
The process
The processThe process
The process
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software process model
Software process modelSoftware process model
Software process model
 
SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
Software Process Model in software engineering
Software Process Model in software engineeringSoftware Process Model in software engineering
Software Process Model in software engineering
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
Software models
Software modelsSoftware models
Software models
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 

Recently uploaded

ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
ScyllaDB
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Ukraine
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Guidelines for Effective Data Visualization
Guidelines for Effective Data VisualizationGuidelines for Effective Data Visualization
Guidelines for Effective Data Visualization
UmmeSalmaM1
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
ThousandEyes
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 

Recently uploaded (20)

ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDBScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
ScyllaDB Leaps Forward with Dor Laor, CEO of ScyllaDB
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsGetting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
Getting the Most Out of ScyllaDB Monitoring: ShareChat's Tips
 
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Guidelines for Effective Data Visualization
Guidelines for Effective Data VisualizationGuidelines for Effective Data Visualization
Guidelines for Effective Data Visualization
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 

Sdpl1

  • 1. ICT 0801 2/9/2011 S.G.Nambuwasam 1 Software Development Practices
  • 2. What is Software Software is a general term for the various kinds of programs used to operate computers and related devices. Software can be thought of as the variable part of a computer and hardware the invariable part.
  • 3. Software Development Is the act of working to produce/create software. This software could be produced for a variety of purposes.
  • 4. Reasons to Develop Software to meet specific needs of a specific client/business to meet a perceived need of some set of potential users for personal use
  • 5. Software Development Life Cycle (SDLC) Market research Gathering requirements for the proposed business solution Analyzing the problem Devising a plan or design for the software-based solution Implementation (coding) of the software Testing the software Deployment Maintenance and bug fixing
  • 6. Popular Software Development Models A. System Development Life Cycle (SDLC) Model B. Prototyping Model C. Rapid Application Development Model D. Component Assembly Model
  • 7. System Development Life Cycle (SDLC) The systems development life cycle (SDLC) is a sequential conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.
  • 8. Activities of SDLC System/Information Engineering and Modeling Software Requirement Analysis System Analysis and Design Code Generation Testing Maintenance
  • 9. Stages of the Waterfall Model
  • 10. Requirement Analysis & Definition The requirements are gathered from the end-user by consultation Requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied A Requirement Specification document is created which serves the purpose of guideline for the next phase of the model
  • 11. Feasibility Study Aims to objectively and rationally uncover the strengths and weaknesses of the existing business or proposed venture, opportunities and threats as presented by the environment, the resources required to carry through, and ultimately the prospects for success Criteria to judge feasibility Cost required Value to be attained
  • 12. Five Common Feasibility Factors Technology and System Feasibility Economic Feasibility Legal Feasibility Operational Feasibility Schedule Feasibility
  • 13. Other Feasibility Factors Market and real estate feasibility Resource feasibility Cultural feasibility Financial feasibility
  • 14. Feasibility Study Report The feasibility study outputs the feasibility study report A report detailing the evaluation criteria, the study findings, and the recommendations
  • 15. System & Software Design The requirement specifications from first phase are studied in this phase and system design is prepared. Helps in specifying hardware and system requirements Helps in defining overall system architecture Serve as input for the next phase of the model
  • 16. Implementation & Unit Testing the work is divided in modules/units and actual coding is started The system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality;
  • 17. Integration & System Testing: Units are integrated into a complete system during Integration phase and tested to check if all modules/units coordinate between each other and the system as a whole behaves as per the specifications. After successfully testing the software, it is delivered to the customer.
  • 18. Operations & Maintenance: virtually never ending phase (Very long) the issues related to the system are solved after deployment of the system
  • 19. Waterfall development in action create the functional specification When we have a full understanding of the business the functional specification is published and distributed to as many business experts as possible for feedback.  When the functional specification is final we often convey a meeting of business experts and work through the final copy together to iron out any errors prior to sign-off.
  • 20. produce a non working prototype application along with a user interface specification When everybody is happy that the screens will deliver the functionality required the application can be developed and tested. When the application is complete a beta release is published and provided to the business for testing.  Any  bugs found are rapidly repaired When no significant bugs remain and the client is happy with the application it can go live as release version 1.0.
  • 21. Advantages of the waterfall method Design errors are captured before any software is written saving time during the implementation phase. Excellent technical documentation is part of the deliverables and it is easier for new programmers to get up to speed during the maintenance phase. The approach is very structured and it is easier to measure progress by reference to clearly defined milestones. The total cost of the project can be accurately estimated after the requirements have been defined (via the functional and user interface specifications). Testing is easier as it can be done by reference to the scenarios defined in the functional specification.
  • 22. Disadvantages of the waterfall method Clients will often find it difficult to state their requirements at the abstract level of a functional specification and will only fully appreciate what is needed when the application is delivered.  It then becomes very difficult (and expensive) to re-engineer the application. The model does not cater for the possibility of requirements changing during the development cycle. A project can often take substantially longer to deliver than when developed with an iterative methodology such as the agile development method.
  • 23. Prototyping Model The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. prototype is developed based on the currently known requirements. By using this prototype, the client can get an "actual feel" of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system.
  • 24. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements. It is also an effective method to demonstrate the feasibility of a certain approach. might be needed for novel systems where it is not clear that constraints can be met or that algorithms can be developed to implement the requirements.
  • 26. Stages of the Prototyping Model cyclic version of the linear model once the requirement analysis is done and the design for a prototype is made the development process gets started Once the prototype is created, it is given to the customer for evaluation The customer tests the package and gives his/her feed back to the developer who refines the product according to the customer's exact expectation
  • 27. After a finite number of iterations, the final software package is given to the customer. In this methodology, the software is evolved as a result of periodic shuttling of information between the customer and developer. the most popular development model in the contemporary IT industry. Most of the successful software products have been developed using this model
  • 28. Advantages of Prototyping Users are actively involved in the development It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency. Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. Errors can be detected much earlier as the system is mode side by side.
  • 29. Quicker user feedback is available leading to better solutions. One of the key advantages a prototype modeled software has is the time frame of development. Instead of concentrating on documentation, more effort is placed in creating the actual software. This way, the actual software could be released in advance.
  • 30. Disadvantages of the Prototyping Model Leads to implementing and then repairing way of building systems. Since its being built out of concept, most of the models presented in the early stage are not complete. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. integration could be very difficult for a prototype model.
  • 31. Rapid Application Development Model A linear sequential software development process An extremely short development cycle The RAD model is a "high speed" adaptation of the linear sequential model Rapid development is achieved by using a component-based construction approach. Used primarily for information systems applications,
  • 32. Phases of RAD Business Modeling Data Modeling Process Modeling Application Generation Testing and Turnover
  • 33.
  • 34. What information drives the business process?
  • 35. What information is generated?
  • 37. Where does the information go?
  • 38.
  • 39. Process Modeling The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing the descriptions are created for adding, modifying, deleting, or retrieving a data object.
  • 40. Application Generation Works to reuse existing program components (when possible) or create reusable components (when necessary). In all cases, automated tools are used to facilitate construction of the software.
  • 41. Testing and Turnover The RAD process emphasizes reuse, many of the program components have already been tested. This minimizes the testing and development time.
  • 42. Advantages of RAD Flexible and adaptable to changes. Prototyping applications gives users a tangible description from which to judge whether critical system requirements are being met by the system. Report output can be compared with existing reports. Data entry forms can be reviewed for completeness of all fields, navigation, data access (drop down lists,checkboxes, radio buttons, etc.). RAD generally incorporates short development cycles - users see the RAD product quickly.
  • 43. RAD involves user participation thereby increasing chances of early user community acceptance. RAD realizes an overall reduction in project risk. Reduce the cost to create custom system.
  • 44. Disadvantages of RAD Unknown cost of product. As mentioned above, this problem can be alleviated by the customer agreeing to a limited amount of rework in the RAD process. It may be difficult for many important users to commit the time required for success of the RAD process.
  • 45. Component Assembly Model leads to software reusability The integration/assembly of the already existing software components accelerate the development process. is an iterative development model It works like the Prototype model, constantly creating a prototype until a software that will cater the need of businesses and consumers is realized. has a close resemblance with the Rapid Application Development (RAD) model.
  • 46. 7 uses the available tools and GUIs to build software. 8 If the right components are chosen, the integration aspect is made much simpler.
  翻译: