Download presentation
1
CHAPTER 11 SYSTEMS DEVELOPMENT
2
CHAPTER ELEVEN OVERVIEW
SECTION 11.1 – DEVELOPING ENTERPRISE APPLICATIONS Developing Software The Systems Development Life Cycle Software Development Methodologies Developing Successful Software SECTION 11.2 – THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) Systems Development Life Cycle Phase 1: Planning Phase 2: Analysis Phase 3: Design Phase 4: Development Phase 5: Testing Phase 6: Implementation Phase 7: Maintenance Software Problems are Business Problems
3
DEVELOPING ENTERPRISE APPLICATIONS
SECTION 11.1 DEVELOPING ENTERPRISE APPLICATIONS
4
LEARNING OUTCOMES Identify the business benefits associated with successful software development Describe the seven phases of the systems development life cycle
5
Summarize the different software development methodologies
LEARNING OUTCOMES Summarize the different software development methodologies Define the relationship between the systems development life cycle and software development Compare the waterfall methodology and the agile methodology
6
DEVLOPING SOFTWARE Software that is built correctly can transform as the organization and its business transforms Software that effectively meets employee needs will help an organization become more productive and enhance decision making Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail
7
DEVELOPING SOFTWARE As organizations’ reliance on software grows, so do the business-related consequences of software successes and failures including: Increase or decrease revenue Repair or damage to brand reputation Prevent or incur liabilities Increase or decrease productivity
8
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Systems development life cycle (SDLC) – the overall process for developing information systems from planning and analysis through implementation and maintenance
9
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Planning phase – involves establishing a high-level plan of the intended project and determining project goals Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system Business requirement – detailed set of business requests that the system must meet in order to be successful
10
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC))
Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system
11
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Testing phase – involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability and verify that the system meets all of the business requirements defined in the analysis phase Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system
12
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals
13
SOFTWARE DEVELOPMENT METHODOLOGIES
There are a number of different software development methodologies including: Waterfall Rapid application development (RAD) Extreme programming Agile
14
Waterfall Methodology
Waterfall methodology – a sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance
15
Rapid Application Development Methodology (RAD)
Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process The prototype is an essential part of the analysis phase when using a RAD methodology Prototype – a smaller-scale representation or working model of the users’ requirements or a proposed design for an information system
16
Rapid Application Development Methodology (RAD)
17
Extreme Programming Methodology
Extreme programming (XP) methodology – breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete
18
Agile Methodology Agile methodology – a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components Agile is similar to XP but with less focus on team coding and more on limiting project scope An agile project sets a minimum number of requirements and turns them into a deliverable product
19
DEVELOPING SUCCESSFUL SOFTWARE
Primary principles for successful agile software development include: Slash the budget If it doesn’t work, kill it Keep requirements to a minimum Test and deliver frequently Assign non-IT executives to software projects
20
OPENING CASE QUESTIONS HP’s Software Problems
Identify the business benefits associated with successful software development for HP Which of the seven phases of the systems development life cycle is most important to HP? Which of the seven phases of the systems development life cycle is least important to HP? Which of the different software development methodologies should HP use to implement successful systems? Explain what might happen if HP used the waterfall methodology to develop its ERP system
21
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
SECTION 11.2 THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
22
LEARNING OUTCOMES Summarize the activities associated with the planning phase in the SDLC Summarize the activities associated with the analysis phase in the SDLC Summarize the activities associated with the design phase in the SDLC Summarize the activities associated with the development phase in the SDLC
23
LEARNING OUTCOMES Summarize the activities associated with the testing phase in the SDLC Summarize the activities associated with the implementation phase in the SDLC Summarize the activities associated with the maintenance phase in the SDLC
24
SDLC Large, complex IT systems take teams of architects, analysts, developers, testers, and users many years to create The systems development life cycle is the foundation for many systems development methodologies such as RAD and agile Systems development life cycle – the overall process for developing information systems from planning and analysis through implementation and maintenance
25
SDLC
26
PHASE 1: PLANNING Planning phase – involves establishing a high-level plan of the intended project and determining project goals Primary planning activities include Identify and select the system for development Assess project feasibility Develop the project plan
27
Identify and Select the System for Development
Organizations use different forms of evaluation criteria to determine which systems to develop Critical success factor (CSF) – a factor that is critical to an organization’s success
28
Identify and Select the System for Development
29
Assess Project Feasibility
Feasibility study – determines if the proposed solution is feasible and achievable from a financial, technical, and organizational standpoint Different types of feasibility studies Economic feasibility study Operational feasibility study Technical feasibility study Schedule feasibility study Legal and contractual feasibility study
30
Develop the Project Plan
Developing the project plan is a difficult and important activity The project plan is the guiding force behind on-time delivery of a complete and successful system Continuous updating of the project plan must be performed during every subsequent phase during the SDLC
31
PHASE 2: ANALYSIS Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system Primary analysis activities include: Gather business requirements Create process diagrams Perform a buy vs. build analysis
32
Gather Business Requirements
Business requirements – the detailed set of business requests that the system must meet in order to be successful Different ways to gather business requirements Joint application development (JAD) session – where employees meet to define or review the business requirements for the system Interviews Questionnaires Observations Review business documents
33
Gather Business Requirements
The system users review the requirements definition document and determine if they will sign-off on the business requirements Requirements definition document – contains the final set of business requirements, prioritized in order of business importance Sign-off – the system users’ actual signatures indicating they approve all of the business requirements
34
Create Process Diagrams
Process modeling – graphically representing the processes that capture, manipulate, store, and distribute information between a system and its environment Common process modeling diagrams include Data flow diagram (DFD) – illustrates the movement of information between external entities and the processes and data stores within the system Computer-aided software engineering (CASE) tools –automate systems analysis, design, and development
35
Create Process Diagrams
Sample data flow diagram
36
Perform a Buy vs. Build Analysis
An organization faces two primary choices when deciding to develop an information system Buy the information system from a vendor Commercial off-the shelf (COTS) – software package or solution that is purchased to support one or more business functions and information systems SCM, CRM, and ERP solutions are typically COTS Build the information system itself
37
Perform a Buy vs. Build Analysis
Organizations must consider the following when making a buy vs. build decision: Are there any currently available products that fit the needs? Are there features that are not available and important enough to warrant the expense of in-house development? Can the organization customize or modify an existing COTS to fit its needs? Is there a justification to purchase or develop based on the acquisition cost?
38
Perform a Buy vs. Build Analysis
Three key factors an organization should also consider when contemplating the buy vs. build decision Time to market Availability of corporate resources Corporate core competencies
39
PHASE 3: DESIGN Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation Primary design activities include: Design the IT infrastructure Design system models
40
Design the IT Infrastructure
Sample IT infrastructure
41
Design System Models Modeling – the activity of drawing a graphical representation of a design Different modeling types include: Graphical user interface (GUI) GUI screen design Data model Entity relationship diagram (ERD)
42
Design System Models Sample entity relationship diagram (ERD)
43
PHASE 4: DEVELOPMENT Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system Primary development activities include: Develop the IT infrastructure Develop the database and programs
44
PHASE 5: TESTING Testing phase – involves bringing all the project pieces together into a special testing environment to test for errors, bugs, and interoperability, in order to verify that the system meets all the business requirements defined in the analysis phase Primary testing activities include: Write the test conditions Perform the system testing
45
Write the Test Conditions
Test condition – the detailed steps the system must perform along with the expected results of each step
46
Perform the System Testing
Different types of testing Unit testing – tests each unit of code upon completion Application (or system) testing – verifies that all units of code work together Integration testing – exposes faults in the integration of software components or units Backup and recovery testing – tests the ability of an application to be restarted after failure Documentation testing – verifies instruction guides are helpful and accurate User acceptance testing (UAT) – tests if a system satisfies its acceptance criteria
47
PHASE 6: IMPLEMENTATION
Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system Primary implementation activities include: Write detailed user documentation Determine implementation method Provide training for the system users
48
Write Detailed User Documentation
System users require user documentation that highlights how to use the system User documentation – highlights how to use the system
49
Determine Implementation Method
Four primary implementation methods Parallel implementation Plunge implementation Pilot implementation Phased implementation
50
Provide Training for the System Users
Organizations must provide training for system users Two most popular types of training include: Online training – runs over the Internet or off a CD-ROM Workshop training – set in a classroom-type environment and led by an instructor
51
PHASE 7: MAINTENANCE Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals Primary maintenance activities include: Build a help desk to support the system users Perform system maintenance Provide an environment to support system changes
52
Build a Help Desk to Support the System Users
Internal system users have a phone number for the help desk they call whenever they have issues or questions about the system Help desk – a group of people who respond to internal system user questions Providing a help desk is an excellent way to provide comprehensive support for new system users
53
Perform System Maintenance
Maintenance – fixing or enhancing an information system Different types of maintenance include: Adaptive maintenance Corrective maintenance Perfective maintenance Preventative maintenance
54
Support System Changes
An organization must modify its systems to support the business environment It typically accomplishes this through change management systems and change control boards Change management system – a collection of procedures to document a change request and define the steps necessary to consider the change based on the expected impact of the change Change control board (CCB) – responsible for approving or rejecting all change requests
55
SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS
Primary reasons for project failure include Unclear or missing business requirements Skipping SDLC phases Failure to manage project scope Scope creep – occurs when the scope increases Feature creep – occurs when extra features are added Failure to manage project plan Changing technology
56
SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS
Find errors early: the later in the SDLC an error is found - the more expensive it is to fix
57
OPENING CASE QUESTIONS HP’s Software Problems
Describe the different types of feasibility studies and explain how HP could use a technical feasibility study to avoid software development failure Review the buy versus build decision and explain why HP chose to buy its ERP system Why is testing critical to HP’s software development process? Identify the primary reasons for software project failure and explain which ones HP experienced on its ERP build
58
CLOSING CASE ONE Denver International Airport
One of the problems with DIA’s baggage system was inadequate testing. Describe the different types of tests DIA could have used to help ensure its baggage system’s success Evaluate the different implementation approaches. Which one would have most significantly increased the chances of the project’s success? Explain the cost of finding errors. How could more time spent in the analysis and design phase have saved Colorado taxpayers hundreds of millions of dollars? Why could BAE not take an existing IT infrastructure and simply increase its scale and expect it to work?
59
CLOSING CASE TWO Reducing Ambiguity
Why are ambiguous business requirements the leading cause of system development failures? Why do the words “and” and “or” tend to lead to ambiguous requirements? Research the Web and determine other reasons for “bad” business requirements What is wrong with the following business requirement: “The system must support employee birthdays since every employee always has a birthday every year”
60
CLOSING CASE THREE Gearing Up at REI
What business benefits did REI receive by developing its successful CRM system? Identify the potential issues facing REI if it failed to implement a successful SCM system List and describe the seven phases of the SDLC and rank them in order of importance to REI’s system development efforts
61
CLOSING CASE THREE Gearing Up at REI
Summarize the different software development methodologies and recommend one for REI to follow Describe the analysis phase of systems development along with its importance for successful system development efforts for REI Explain the importance of the testing phase along with three different tests REI should perform on each new system
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.