Learning Objectives Upon successful completion of this chapter you will be able to Explain the overall process of developing a new software application Explain the differences between software development methodologies ID: 714361
Download Presentation The PPT/PDF document "Chapter 10 Information Systems Developme..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Chapter 10
Information Systems DevelopmentSlide2
Learning Objectives
Upon successful completion of this chapter, you will be able to:
Explain the overall process of developing a new software application
Explain the differences between software development methodologies
Understand the different types of programming languages used to develop software
Understand some of the issues
surrounding
the development of
websites
and mobile applications
Identify the four primary
implementation
policiesSlide3
Programming
Needed to take ideas or business solutions and bringing them to reality.
Small changes can be implemented in a short timeframe with a streamlined process
Larger changes will require a software development methodology to guide and manage the process:
Systems development life cycle (SDLC)
Rapid application development (RAD)
Agile methodologies
Lean methodologySlide4
Systems Development Life Cycle (SDLC)
Developed in 1960s to manage large software development projects
Still in wide use today and called waterfall methodology
Very structured
each phase has an end deliverable requiring approval to next phase
each phase must be completed before the next phase can start
Phases:
Preliminary Analysis
Systems Analysis
Systems Design
Programming
Testing
Implementation
MaintenanceSlide5
SDLC Phases
Preliminary Analysis – requests are reviewed
Deliverable - feasibility analysis document
Systems Analysis – if approved, determine the system requirements for new system
Deliverable – systems requirement document
Systems Design – converts system analysis requirements into system design document deliverable
Programming – coding commences using design documents
Testing – ensures that the code functions according to requirements
Implementation – converting from old system to
new
system
Training, documenting functions, and data
conversion
Maintenance – support for reporting
prioritizing
, and fixing bugsSlide6
Rapid Application Development (RAD)
Overall requirements are defined, team formed, and feasibility determined
Design the system in JAD sessions
Go live and placed in production
As the user design is being created, programs are being created with the ability to still make changes
Focuses on quickly building a working model and getting feedback from users to update the working model for smaller projects and giving users the ability to provide feedback during the process
Phases:
Overall requirements are defined, team formed, and feasibility determinedSlide7
Agile Methodologies
Group of methodologies for incremental changes focused on quality and attention to detail
Each increment is released with very specific objectives
Characteristics:
Small cross-functional teams are used
Daily status meetings are held
Short timeframe increments for each
change
A working project is completed at
end
of each iteration and
demonstrated
to stakeholdersSlide8
Lean Methodology
Takes an initial idea and develops a minimal visible product (MVP)
Has just enough functionality to demonstrate the idea behind the project
Works best in entrepreneurial environment
While moving through the phases, feedback is key and is generated in 2 forms:
Direct observation and discussion with users
Usage statistics gathered from the software itself
Usually requires several iterations as the team uses the feedback to determine whether to continue in same direction or pivot in a new direction or MVPSlide9
Quality Triangle
Decisions are made during development that affect 3 factors – time, cost, and quality
Only 2 can be addressed requiring compromise/tradeoffs
Spend more or less money on the project?
Spend more or less time on project?
Meets or doesn’t meet requirements?
Minimal or no bugs at implementation?Slide10
Programming Languages
Used to develop new systems
Multiple generations:Slide11
Software Development Decisions
Development Decision
Advantages
Disadvantages
Purchasing Software
Less expensive
Available more quickly
Tested already
Bugs worked out
Same software
may be used by competitors
Fewer/none customizations
Building
Yourself
Customized
to your businesses’ needs
Would not be used by your competitors to maintain your competitive edge
More expensive
Not available quickly
Requires
t
esting and bugs being worked out
Every new development project should decide whether to create it themselves using in-house personnel or buy one that has already been developed
Web Services – purchase functions from vendors
For Example, using Google Slide12
End User Computing
Others (non-IT) develop their own solutions that are not trained in programming or software development
Needs to be managed and guidelines established
Advantages:
Development is closer to those that will use them
May receive it sooner than from IT
Disadvantages:
Several applications may perform the
same
functions which may or may not
have
same results
May not be fully tested and bug-free
Data is not always backed upSlide13
Testing
Critical part of any development project to detect and fix bugs before the system is implemented
Process:Slide14
Implementation Methodologies
Several implementation methodologies exist:
Direct cutover – new system is turned on and old system turned off
Riskiest but least expensive – no need to support 2 systems
Pilot implementation – a small group uses the new system
Small impact on organization is something goes wrong – still have old system running
Parallel operation – all transactions are entered in new and old system
Very expensive to maintain 2 systems
Least risky that you can identify bugs and
go
back to old system if needed
Phased implementation – new
functions
are implemented as parts of old
system
are turned off
Slowly move from old system to new oneSlide15
Implementation Methodologies Support
Every implementation requires support in 2 key areas:
Change management
All proposed changes should be communicated to all affected personnel, including IT
IT should be managing which code has been tested and signed off by the end users prior to implementation
Maintenance
Often newly implemented systems still need
changes
for fixing bugs
Management needs to ensure that the
system
continues to runs and is aligned
with
business priorities Slide16
Summary
Explained the overall process of developing a new software application
Explained the differences between software development methodologies
Understand the different types of programming languages used to develop software
Understand some of the issues surrounding the development of websites and
mobile
applications
Identified the four primary
implementation
policies