SlideShare a Scribd company logo
1 of 45
Information Systems 371
Lecture 3, January 29, 2019
Topic: Software Development Methodologies
Lecturer: Nicholas Davis
Let’s Start With Some
Humor Related to RAD
(Rapid Application Development)
1/28/2019 UNIVERSITY OF WISCONSIN 2
Housekeeping
• Did everyone get the email I sent on Monday? If
not, please write down your email address and
give it to me at the end of class
• Is the installation of Visual Studio going OK
• Programming assignments: What is the best way
to learn? How do we avoid having anyone left
behind?
• Is class going OK? Would you tell me if it wasn’t.
I don’t want to learn about it at the end of the
semester
• How about a visit from Epic?
1/28/2019 UNIVERSITY OF WISCONSIN 3
Interesting Article
Does Hardware Even Matter
Anymore?
• https://hbr.org/2015/06/does-
hardware-even-matter-anymore
• Are you a hardware person or a
software person?
• Which areas of information systems
interest you most, and where do you
envision the biggest opportunities?
1/28/2019 UNIVERSITY OF WISCONSIN 4
You Don’t Just “Program”,
You “Develop Software”
• In software engineering, a software
development process is the process of
dividing software development work
into distinct phases to improve design,
product management, and project
management
1/28/2019 UNIVERSITY OF WISCONSIN 5
Software Development
• Most modern development processes
can be vaguely described as agile.
Other methodologies include
waterfall, prototyping, iterative and
incremental development, spiral
development, rapid application
development, and extreme
programming.
1/28/2019 UNIVERSITY OF WISCONSIN 6
Agile
Software Development
• Agile software development describes an
approach to software development under
which requirements and solutions evolve
through the collaborative effort of self-
organizing cross-functional teams and their
customer/end users
• It advocates adaptive planning, evolutionary
development, early delivery, and continuous
improvement, and it encourages rapid and
flexible response to change
1/28/2019 UNIVERSITY OF WISCONSIN 7
“Pair Programming”
in Agile Development
1/28/2019 UNIVERSITY OF WISCONSIN 8
Waterfall (Old School)
Software Development
1. System and software requirements: captured in a
product requirements document
2. Analysis: resulting in models, schema, and business
rules
3. Design: resulting in the software architecture
4. Coding: the development, proving, and integration
of software
5. Testing: the systematic discovery and debugging of
defects
6. Operations: the installation, migration, support, and
maintenance of complete systems
1/28/2019 UNIVERSITY OF WISCONSIN 9
Waterfall Usually Has 5 or 6
Steps
1/28/2019 UNIVERSITY OF WISCONSIN 10
Prototyping
Software Development
Software prototyping is the activity of creating
prototypes of software applications, i.e., incomplete
versions of the software program being developed. It
is an activity that can occur in software development
and is comparable to prototyping as known from
other fields, such as mechanical engineering or
manufacturing.
A prototype typically simulates only a few aspects of,
and may be completely different from, the final
product.
1/28/2019 UNIVERSITY OF WISCONSIN 11
Prototyping
1/28/2019 UNIVERSITY OF WISCONSIN 12
Iterative
Software Development
• Worst definition EVER: Relating to or
involving iteration, especially of a
mathematical or computational
process.
• You start by writing a general
application, but then come back to it
to add a few more features at a time,
over and over, evolving over time
1/28/2019 UNIVERSITY OF WISCONSIN 13
Iterative
Software Development
1/28/2019 UNIVERSITY OF WISCONSIN 14
Spiral Software Development
Don’t even bother learning about this. It is rarely
used, and overly complex. Forget about it!
1/28/2019 UNIVERSITY OF WISCONSIN 15
Rapid Application Development
• RAD approaches to software development put
less emphasis on planning and more emphasis on
an adaptive process. Prototypes are often used in
addition to or sometimes even in place of design
specifications.
• RAD is especially well suited for (although not
limited to) developing software that is driven by
user interface requirements. Graphical user
interface builders are often called rapid
application development tools.
1/28/2019 UNIVERSITY OF WISCONSIN 16
Extreme Software Development
• A flat management structure, code simplicity and
clarity, expecting changes in the customer's
requirements as time passes and the problem is
better understood, and frequent communication
with the customer and among programmers
1/28/2019 UNIVERSITY OF WISCONSIN 17
Extreme Programming
1/28/2019 UNIVERSITY OF WISCONSIN 18
Software Development
Life Cycle (SDLC)
• The systems development life cycle (SDLC), also
referred to as the application development life-
cycle, is a term used in systems engineering,
information systems and software engineering to
describe a process for planning, creating, testing,
and deploying an information system.
• Uses an enhanced Waterfall methodology
• Talk about it at a job interview to sound smart
and eat up a bunch of time!
1/28/2019 UNIVERSITY OF WISCONSIN 19
SDLC
8 Phases
1. System investigation
2. System analysis
3. Design
4. Environments
5. Testing
6. Training and transition
7. Operations and maintenance
8. Evaluation
1/28/2019 UNIVERSITY OF WISCONSIN 20
SDLC
System Investigation
• The system investigates the IT proposal. During this step, we must consider all current
priorities that would be affected and how they should be handled. Before any system
planning is done, a feasibility study should be conducted to determine if creating a new or
improved system is a viable solution. This will help to determine the costs, benefits, resource
requirements, and specific user needs required for completion. The development process
can only continue once management approves of the recommendations from the feasibility
study.
• Following are different components of the feasibility study:
• Operational feasibility
• Economic feasibility
• Technical feasibility
• Human factors feasibility
• Legal/Political feasibility
1/28/2019 UNIVERSITY OF WISCONSIN 21
SDLC Systems Analysis
• The goal of system analysis is to determine where
the problem is, in an attempt to fix the system.
This step involves breaking down the system in
different pieces to analyze the situation,
analyzing project goals, breaking down what
needs to be created and attempting to engage
users so that definite requirements can be
defined.
1/28/2019 UNIVERSITY OF WISCONSIN 22
SDLC Design
• Describes desired features and operations in
detail, including screen layouts, business rules,
process diagrams, pseudocode and other
documentation.
1/28/2019 UNIVERSITY OF WISCONSIN 23
SDLC Development
• Environments are controlled areas where
systems developers can build, distribute, install,
configure, test, and execute systems that move
through the SDLC. Each environment is aligned
with different areas of the SDLC and is intended
to have specific purposes. Examples of such
environments follow on the next slide.
1/28/2019 UNIVERSITY OF WISCONSIN 24
SDLC Development
• Development environment, where developers can
work independently of each other before trying to
merge their work with the work of others,
• Common build environment, where merged work
can be built, together, as a combined system,
• Systems integration testing environment, where
basic testing of a system's integration points to other
upstream or downstream systems can be tested,
• User acceptance testing environment, where
business stakeholders can test against their original
business requirements,
• Production environment, where systems finally get
deployed to, for final use by their intended end users.
1/28/2019 UNIVERSITY OF WISCONSIN 25
Do You Know the Dos Equis Guy?
“I don’t always drink beer, but when I do,
I choose Dos Equis”
1/28/2019 UNIVERSITY OF WISCONSIN 26
In a Previous Life,
He Was a Software Developer,
But Got Fired
1/28/2019 UNIVERSITY OF WISCONSIN 27
SDLC Testing
• The code is tested at various levels in software
testing. Unit, system and user acceptance testings
are often performed. This is a grey area as many
different opinions exist as to what the stages of
testing are
1/28/2019 UNIVERSITY OF WISCONSIN 28
So Much Testing in the SDLC
• Path testing
• Data set testing
• Unit testing
• Integration testing
• System testing
• Black-box testing
• White-box testing
• Regression testing
• Automation testing
• User acceptance testing
• Software performance testing
1/28/2019 UNIVERSITY OF WISCONSIN 29
Path Testing
• Does data move through the system in the
manner you expect?
1/28/2019 UNIVERSITY OF WISCONSIN 30
Data Set Testing
• Test data is data which has been specifically
identified for use in tests, typically of a computer
program.
• Some data may be used in a confirmatory way,
typically to verify that a given set of input to a
given function produces some expected result.
Other data may be used in order to challenge the
ability of the program to respond to unusual,
extreme, exceptional, or unexpected input.
1/28/2019 UNIVERSITY OF WISCONSIN 31
Unit Testing
• Is a software testing method by which individual
units of source code, sets of one or more
computer program modules together with
associated control data, usage procedures, and
operating procedures, are tested to determine
whether they are fit for us
1/28/2019 UNIVERSITY OF WISCONSIN 32
Integration Testing
• Is the phase in software testing in which
individual software modules are combined and
tested as a group. It occurs after unit testing and
before
1/28/2019 UNIVERSITY OF WISCONSIN 33
System Testing
System testing of software or hardware is testing
conducted on a complete, integrated system to
evaluate the system's compliance with its specified
requirements.
1/28/2019 UNIVERSITY OF WISCONSIN 34
Black Box Testing
• You put something you know, into the system.
You expect to get a certain result. Does that result
match what you were expecting? You ONLY look
at the output, not what happens within each step
of the application
• There are benefits and drawbacks to Black Box
Testing
1/28/2019 UNIVERSITY OF WISCONSIN 35
White Box Testing
• White-box testing (also known as clear box
testing, glass box testing, transparent box testing,
and structural testing) is a method of testing
software that tests internal structures or
workings of an application, as opposed to its
functionality (i.e. black-box testing). In white-box
testing an internal perspective of the system, as
well as programming skills, are used to design
test cases
1/28/2019 UNIVERSITY OF WISCONSIN 36
Regression Testing
• Is a type of software testing which verifies that
software which was previously developed and
tested still performs the same way after it was
changed or interfaced with other software.
Changes may include software enhancements,
patches, configuration changes, etc. During
regression testing, new software bugs or
regressions may be uncovered.
1/28/2019 UNIVERSITY OF WISCONSIN 37
Test Automation
• Is the use of special software (separate from the
software being tested) to control the execution of
tests and the comparison of actual outcomes with
predicted outcomes.[1] Test automation can
automate some repetitive but necessary tasks in a
formalized testing process already in place, or
perform additional testing that would be difficult
to do manually.
1/28/2019 UNIVERSITY OF WISCONSIN 38
User Acceptance Testing
• UAT consists of a process of verifying that a
solution works for the user. It is not system
testing (ensuring software does not crash and
meets documented requirements), but rather
ensures that the solution will work for the user
(i.e., tests that the user accepts the solution);
software vendors often refer to this as "Beta
testing".
1/28/2019 UNIVERSITY OF WISCONSIN 39
Software Performance
Testing
• Is in general, a testing practice performed to
determine how a system performs in terms of
responsiveness and stability under a particular
workload. It can also serve to investigate,
measure, validate or verify other quality
attributes of the system, such as scalability,
reliability and resource usage.
1/28/2019 UNIVERSITY OF WISCONSIN 40
SDLC Training and Transition
• Once a system has been stabilized through adequate
testing, the SDLC ensures that proper training on the
system is performed or documented before
transitioning the system to its support staff and end
users.
• Training usually covers operational training for those
people who will be responsible for supporting the
system as well as training for those end users who
will be using the system after its delivery to a
production operating environment.
1/28/2019 UNIVERSITY OF WISCONSIN 41
Operations and Maintenance
• Release
• Installation and activation
• Deactivation
• Uninstallation
• Update
• Automated Update
• Version tracking
• Adaptation
1/28/2019 UNIVERSITY OF WISCONSIN 42
SDLC Evaluation
• The final phase of the SDLC is to measure the
effectiveness of the system and evaluate potential
enhancements.
1/28/2019 UNIVERSITY OF WISCONSIN 43
Strengths and Weaknesses of SDLC
1/28/2019 UNIVERSITY OF WISCONSIN 44
Strengths Weaknesses
Control Increased development time
Monitor large projects Increased development cost
Detailed steps Systems must be defined up front
Evaluate costs and completion targets Rigidity
Documentation
Hard to estimate costs, project
overruns
Well defined user input User input is sometimes limited
Ease of maintenance
Development and design standards
Tolerates changes in MIS staffing
1/28/2019 UNIVERSITY OF WISCONSIN 45

More Related Content

What's hot

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software ArchitectureRahimLotfi
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Rapid application development
Rapid application developmentRapid application development
Rapid application developmentLombe Kapaya
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 

What's hot (20)

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
An Introduction to Software Architecture
An Introduction to Software ArchitectureAn Introduction to Software Architecture
An Introduction to Software Architecture
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
SDLC
SDLCSDLC
SDLC
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Software process
Software processSoftware process
Software process
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Rad model
Rad modelRad model
Rad model
 
Rapid application development
Rapid application developmentRapid application development
Rapid application development
 
System Analysis and Design
System Analysis and DesignSystem Analysis and Design
System Analysis and Design
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Similar to Software Development Methodologies

Similar to Software Development Methodologies (20)

Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Sdlc 4
Sdlc 4Sdlc 4
Sdlc 4
 
Software Testing Introduction
Software Testing IntroductionSoftware Testing Introduction
Software Testing Introduction
 
Presentation2
Presentation2Presentation2
Presentation2
 
A Survey on Design of Online Judge System
A Survey on Design of Online Judge SystemA Survey on Design of Online Judge System
A Survey on Design of Online Judge System
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Software Testing Future and Challenges
Software Testing Future and ChallengesSoftware Testing Future and Challenges
Software Testing Future and Challenges
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Week 10
Week 10Week 10
Week 10
 
Week 10
Week 10Week 10
Week 10
 
The process
The processThe process
The process
 
ICIECA 2014 Paper 06
ICIECA 2014 Paper 06ICIECA 2014 Paper 06
ICIECA 2014 Paper 06
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 
Object oriented analysis and design unit- i
Object oriented analysis and design unit- iObject oriented analysis and design unit- i
Object oriented analysis and design unit- i
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation Knowledge
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 

More from Nicholas Davis

Conducting a NIST Cybersecurity Framework (CSF) Assessment
Conducting a NIST Cybersecurity Framework (CSF) AssessmentConducting a NIST Cybersecurity Framework (CSF) Assessment
Conducting a NIST Cybersecurity Framework (CSF) AssessmentNicholas Davis
 
Top Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your BusinessTop Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your BusinessNicholas Davis
 
UW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support SystemsUW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support SystemsNicholas Davis
 
Information systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD SecurityInformation systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD SecurityNicholas Davis
 
Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids Nicholas Davis
 
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...Nicholas Davis
 
Information Systems 371 -The Internet of Things Overview
Information Systems 371 -The Internet of Things OverviewInformation Systems 371 -The Internet of Things Overview
Information Systems 371 -The Internet of Things OverviewNicholas Davis
 
Cyberwar Gets Personal
Cyberwar Gets PersonalCyberwar Gets Personal
Cyberwar Gets PersonalNicholas Davis
 
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...Nicholas Davis
 
Bringing the Entire Information Security Semester Together With a Team Project
Bringing the Entire Information Security Semester Together With a Team ProjectBringing the Entire Information Security Semester Together With a Team Project
Bringing the Entire Information Security Semester Together With a Team ProjectNicholas Davis
 
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...Nicholas Davis
 
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...Nicholas Davis
 
Information Security Fall Semester 2016 - Course Wrap Up Summary
Information Security Fall Semester 2016 - Course Wrap Up SummaryInformation Security Fall Semester 2016 - Course Wrap Up Summary
Information Security Fall Semester 2016 - Course Wrap Up SummaryNicholas Davis
 
Organizational Phishing Education
Organizational Phishing EducationOrganizational Phishing Education
Organizational Phishing EducationNicholas Davis
 
Security Operations -- An Overview
Security Operations -- An OverviewSecurity Operations -- An Overview
Security Operations -- An OverviewNicholas Davis
 
Network Design, Common Network Terminology and Security Implications
Network Design, Common Network Terminology and Security ImplicationsNetwork Design, Common Network Terminology and Security Implications
Network Design, Common Network Terminology and Security ImplicationsNicholas Davis
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application SecurityNicholas Davis
 
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli...
Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli...Nicholas Davis
 
Demystifying Professional Certifications
Demystifying Professional CertificationsDemystifying Professional Certifications
Demystifying Professional CertificationsNicholas Davis
 

More from Nicholas Davis (20)

Conducting a NIST Cybersecurity Framework (CSF) Assessment
Conducting a NIST Cybersecurity Framework (CSF) AssessmentConducting a NIST Cybersecurity Framework (CSF) Assessment
Conducting a NIST Cybersecurity Framework (CSF) Assessment
 
Top Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your BusinessTop Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your Business
 
UW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support SystemsUW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support Systems
 
Lecture blockchain
Lecture blockchainLecture blockchain
Lecture blockchain
 
Information systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD SecurityInformation systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD Security
 
Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids
 
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
 
Information Systems 371 -The Internet of Things Overview
Information Systems 371 -The Internet of Things OverviewInformation Systems 371 -The Internet of Things Overview
Information Systems 371 -The Internet of Things Overview
 
Cyberwar Gets Personal
Cyberwar Gets PersonalCyberwar Gets Personal
Cyberwar Gets Personal
 
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
 
Bringing the Entire Information Security Semester Together With a Team Project
Bringing the Entire Information Security Semester Together With a Team ProjectBringing the Entire Information Security Semester Together With a Team Project
Bringing the Entire Information Security Semester Together With a Team Project
 
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
 
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
 
Information Security Fall Semester 2016 - Course Wrap Up Summary
Information Security Fall Semester 2016 - Course Wrap Up SummaryInformation Security Fall Semester 2016 - Course Wrap Up Summary
Information Security Fall Semester 2016 - Course Wrap Up Summary
 
Organizational Phishing Education
Organizational Phishing EducationOrganizational Phishing Education
Organizational Phishing Education
 
Security Operations -- An Overview
Security Operations -- An OverviewSecurity Operations -- An Overview
Security Operations -- An Overview
 
Network Design, Common Network Terminology and Security Implications
Network Design, Common Network Terminology and Security ImplicationsNetwork Design, Common Network Terminology and Security Implications
Network Design, Common Network Terminology and Security Implications
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application Security
 
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli...
Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli...
 
Demystifying Professional Certifications
Demystifying Professional CertificationsDemystifying Professional Certifications
Demystifying Professional Certifications
 

Recently uploaded

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
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
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
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 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
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
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
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
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
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
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 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
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
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...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
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...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 

Software Development Methodologies

  • 1. Information Systems 371 Lecture 3, January 29, 2019 Topic: Software Development Methodologies Lecturer: Nicholas Davis
  • 2. Let’s Start With Some Humor Related to RAD (Rapid Application Development) 1/28/2019 UNIVERSITY OF WISCONSIN 2
  • 3. Housekeeping • Did everyone get the email I sent on Monday? If not, please write down your email address and give it to me at the end of class • Is the installation of Visual Studio going OK • Programming assignments: What is the best way to learn? How do we avoid having anyone left behind? • Is class going OK? Would you tell me if it wasn’t. I don’t want to learn about it at the end of the semester • How about a visit from Epic? 1/28/2019 UNIVERSITY OF WISCONSIN 3
  • 4. Interesting Article Does Hardware Even Matter Anymore? • https://hbr.org/2015/06/does- hardware-even-matter-anymore • Are you a hardware person or a software person? • Which areas of information systems interest you most, and where do you envision the biggest opportunities? 1/28/2019 UNIVERSITY OF WISCONSIN 4
  • 5. You Don’t Just “Program”, You “Develop Software” • In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management 1/28/2019 UNIVERSITY OF WISCONSIN 5
  • 6. Software Development • Most modern development processes can be vaguely described as agile. Other methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, and extreme programming. 1/28/2019 UNIVERSITY OF WISCONSIN 6
  • 7. Agile Software Development • Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self- organizing cross-functional teams and their customer/end users • It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change 1/28/2019 UNIVERSITY OF WISCONSIN 7
  • 8. “Pair Programming” in Agile Development 1/28/2019 UNIVERSITY OF WISCONSIN 8
  • 9. Waterfall (Old School) Software Development 1. System and software requirements: captured in a product requirements document 2. Analysis: resulting in models, schema, and business rules 3. Design: resulting in the software architecture 4. Coding: the development, proving, and integration of software 5. Testing: the systematic discovery and debugging of defects 6. Operations: the installation, migration, support, and maintenance of complete systems 1/28/2019 UNIVERSITY OF WISCONSIN 9
  • 10. Waterfall Usually Has 5 or 6 Steps 1/28/2019 UNIVERSITY OF WISCONSIN 10
  • 11. Prototyping Software Development Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. It is an activity that can occur in software development and is comparable to prototyping as known from other fields, such as mechanical engineering or manufacturing. A prototype typically simulates only a few aspects of, and may be completely different from, the final product. 1/28/2019 UNIVERSITY OF WISCONSIN 11
  • 13. Iterative Software Development • Worst definition EVER: Relating to or involving iteration, especially of a mathematical or computational process. • You start by writing a general application, but then come back to it to add a few more features at a time, over and over, evolving over time 1/28/2019 UNIVERSITY OF WISCONSIN 13
  • 15. Spiral Software Development Don’t even bother learning about this. It is rarely used, and overly complex. Forget about it! 1/28/2019 UNIVERSITY OF WISCONSIN 15
  • 16. Rapid Application Development • RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process. Prototypes are often used in addition to or sometimes even in place of design specifications. • RAD is especially well suited for (although not limited to) developing software that is driven by user interface requirements. Graphical user interface builders are often called rapid application development tools. 1/28/2019 UNIVERSITY OF WISCONSIN 16
  • 17. Extreme Software Development • A flat management structure, code simplicity and clarity, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers 1/28/2019 UNIVERSITY OF WISCONSIN 17
  • 19. Software Development Life Cycle (SDLC) • The systems development life cycle (SDLC), also referred to as the application development life- cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system. • Uses an enhanced Waterfall methodology • Talk about it at a job interview to sound smart and eat up a bunch of time! 1/28/2019 UNIVERSITY OF WISCONSIN 19
  • 20. SDLC 8 Phases 1. System investigation 2. System analysis 3. Design 4. Environments 5. Testing 6. Training and transition 7. Operations and maintenance 8. Evaluation 1/28/2019 UNIVERSITY OF WISCONSIN 20
  • 21. SDLC System Investigation • The system investigates the IT proposal. During this step, we must consider all current priorities that would be affected and how they should be handled. Before any system planning is done, a feasibility study should be conducted to determine if creating a new or improved system is a viable solution. This will help to determine the costs, benefits, resource requirements, and specific user needs required for completion. The development process can only continue once management approves of the recommendations from the feasibility study. • Following are different components of the feasibility study: • Operational feasibility • Economic feasibility • Technical feasibility • Human factors feasibility • Legal/Political feasibility 1/28/2019 UNIVERSITY OF WISCONSIN 21
  • 22. SDLC Systems Analysis • The goal of system analysis is to determine where the problem is, in an attempt to fix the system. This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined. 1/28/2019 UNIVERSITY OF WISCONSIN 22
  • 23. SDLC Design • Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudocode and other documentation. 1/28/2019 UNIVERSITY OF WISCONSIN 23
  • 24. SDLC Development • Environments are controlled areas where systems developers can build, distribute, install, configure, test, and execute systems that move through the SDLC. Each environment is aligned with different areas of the SDLC and is intended to have specific purposes. Examples of such environments follow on the next slide. 1/28/2019 UNIVERSITY OF WISCONSIN 24
  • 25. SDLC Development • Development environment, where developers can work independently of each other before trying to merge their work with the work of others, • Common build environment, where merged work can be built, together, as a combined system, • Systems integration testing environment, where basic testing of a system's integration points to other upstream or downstream systems can be tested, • User acceptance testing environment, where business stakeholders can test against their original business requirements, • Production environment, where systems finally get deployed to, for final use by their intended end users. 1/28/2019 UNIVERSITY OF WISCONSIN 25
  • 26. Do You Know the Dos Equis Guy? “I don’t always drink beer, but when I do, I choose Dos Equis” 1/28/2019 UNIVERSITY OF WISCONSIN 26
  • 27. In a Previous Life, He Was a Software Developer, But Got Fired 1/28/2019 UNIVERSITY OF WISCONSIN 27
  • 28. SDLC Testing • The code is tested at various levels in software testing. Unit, system and user acceptance testings are often performed. This is a grey area as many different opinions exist as to what the stages of testing are 1/28/2019 UNIVERSITY OF WISCONSIN 28
  • 29. So Much Testing in the SDLC • Path testing • Data set testing • Unit testing • Integration testing • System testing • Black-box testing • White-box testing • Regression testing • Automation testing • User acceptance testing • Software performance testing 1/28/2019 UNIVERSITY OF WISCONSIN 29
  • 30. Path Testing • Does data move through the system in the manner you expect? 1/28/2019 UNIVERSITY OF WISCONSIN 30
  • 31. Data Set Testing • Test data is data which has been specifically identified for use in tests, typically of a computer program. • Some data may be used in a confirmatory way, typically to verify that a given set of input to a given function produces some expected result. Other data may be used in order to challenge the ability of the program to respond to unusual, extreme, exceptional, or unexpected input. 1/28/2019 UNIVERSITY OF WISCONSIN 31
  • 32. Unit Testing • Is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for us 1/28/2019 UNIVERSITY OF WISCONSIN 32
  • 33. Integration Testing • Is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before 1/28/2019 UNIVERSITY OF WISCONSIN 33
  • 34. System Testing System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. 1/28/2019 UNIVERSITY OF WISCONSIN 34
  • 35. Black Box Testing • You put something you know, into the system. You expect to get a certain result. Does that result match what you were expecting? You ONLY look at the output, not what happens within each step of the application • There are benefits and drawbacks to Black Box Testing 1/28/2019 UNIVERSITY OF WISCONSIN 35
  • 36. White Box Testing • White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing). In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases 1/28/2019 UNIVERSITY OF WISCONSIN 36
  • 37. Regression Testing • Is a type of software testing which verifies that software which was previously developed and tested still performs the same way after it was changed or interfaced with other software. Changes may include software enhancements, patches, configuration changes, etc. During regression testing, new software bugs or regressions may be uncovered. 1/28/2019 UNIVERSITY OF WISCONSIN 37
  • 38. Test Automation • Is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.[1] Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. 1/28/2019 UNIVERSITY OF WISCONSIN 38
  • 39. User Acceptance Testing • UAT consists of a process of verifying that a solution works for the user. It is not system testing (ensuring software does not crash and meets documented requirements), but rather ensures that the solution will work for the user (i.e., tests that the user accepts the solution); software vendors often refer to this as "Beta testing". 1/28/2019 UNIVERSITY OF WISCONSIN 39
  • 40. Software Performance Testing • Is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage. 1/28/2019 UNIVERSITY OF WISCONSIN 40
  • 41. SDLC Training and Transition • Once a system has been stabilized through adequate testing, the SDLC ensures that proper training on the system is performed or documented before transitioning the system to its support staff and end users. • Training usually covers operational training for those people who will be responsible for supporting the system as well as training for those end users who will be using the system after its delivery to a production operating environment. 1/28/2019 UNIVERSITY OF WISCONSIN 41
  • 42. Operations and Maintenance • Release • Installation and activation • Deactivation • Uninstallation • Update • Automated Update • Version tracking • Adaptation 1/28/2019 UNIVERSITY OF WISCONSIN 42
  • 43. SDLC Evaluation • The final phase of the SDLC is to measure the effectiveness of the system and evaluate potential enhancements. 1/28/2019 UNIVERSITY OF WISCONSIN 43
  • 44. Strengths and Weaknesses of SDLC 1/28/2019 UNIVERSITY OF WISCONSIN 44 Strengths Weaknesses Control Increased development time Monitor large projects Increased development cost Detailed steps Systems must be defined up front Evaluate costs and completion targets Rigidity Documentation Hard to estimate costs, project overruns Well defined user input User input is sometimes limited Ease of maintenance Development and design standards Tolerates changes in MIS staffing
  • 45. 1/28/2019 UNIVERSITY OF WISCONSIN 45