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

Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life CycleVivek Gupta
 
V model presentation
V model presentationV model presentation
V model presentationNiat Murad
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process ImprovementBilal Shah
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleGurban Daniel
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptDrTThendralCompSci
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)Simran Kaur
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary modelsPihu Goel
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life CycleUTKARSHSRIVASTAVA235
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 

What's hot (20)

Software Devlopment Life Cycle
Software Devlopment Life CycleSoftware Devlopment Life Cycle
Software Devlopment Life Cycle
 
V model presentation
V model presentationV model presentation
V model presentation
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software process
Software processSoftware process
Software process
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Rad model
Rad modelRad model
Rad model
 
Agile Software Development Life Cycle
Agile Software Development Life CycleAgile Software Development Life Cycle
Agile Software Development Life Cycle
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 

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

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
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
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
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
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
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
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
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
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
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
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
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)
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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
 

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