Download presentation
Presentation is loading. Please wait.
1
DEVELOPING ENTERPRISE APPLICATIONS
SECTION 11.1 DEVELOPING ENTERPRISE APPLICATIONS
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
SOFTWARE DEVELOPMENT METHODOLOGIES
There are a number of different software development methodologies including: Waterfall Rapid application development (RAD) Extreme programming Agile Waterfall methodology – a sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance 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 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 Agile methodology – a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components
10
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 The waterfall methodology is one of the oldest software development methods and has been around for over 30 years The success rate for software development projects that follow this approach is only about 10 percent, or 1 in 10 The biggest problem with the waterfall methodology is that it assumes users can specify all business requirements in advance Ask your students to define another issue with the waterfall methodology Ans: It also assumes that business requirements do not change over time Stress to your students that if they ever find themselves on a software development project that is using the waterfall methodology they should do everything they can to change the methodology
11
Rapid Application Development Methodology (RAD)
12
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 The primary difference between the waterfall and XP methodologies is that XP divides its phases into iterations with user feedback
13
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
14
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
15
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
SECTION 11.2 THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
16
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
17
SDLC
18
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
19
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
20
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 Economic feasibility study – (cost-benefit analysis) – identifies the financial benefits and costs associated with the systems development project Operational feasibility study – examines the likelihood that the project will attain its desired objectives Technical feasibility study – determines the organization’s ability to build and integrate the proposed system Schedule feasibility study – assesses the likelihood that all potential time frames and completion dates will be met Legal and contractual feasibility study – examines all potential legal and contractual ramifications of the proposed system Which type of feasibility study would be appropriate for each of the following: Implementation of a new payroll system Implementation of a new CRM system Implementation of a new module to an existing CRM system Implementation of a new ERP system Implementation of a additional functionality to an existing KM system
21
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
22
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
23
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 What other methods could you use to gather business requirements? Comparing different organizations’ processes with best of breed processes – for example looking at Dell’s supply chain Comparing across industries, for example reviewing CRM practices in different hotels and restaurants to apply to a utensil manufacturer Reviewing magazines, articles, and literature to determine new processes, technology, and innovation
24
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
25
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
26
Create Process Diagrams
Sample data flow diagram
27
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
28
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?
29
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 Time to market – if time to market is a priority, then purchasing a good base technology and potentially building onto it will likely yield results faster than starting from scratch Availability of corporate resources – typically, the costs to an organization to buy systems such as SCM, CRM, and ERP are extremely high, in the multiple millions of dollars. This can make the entire concept economically unfeasible for some organizations that are resource constrained. Building these systems can also be extremely expensive, take indefinite amounts of time, and constrain resources. Corporate core competencies – the more an organization wants to build a technical core competency, the less likely it will want to buy it Which factor is most important when performing a buy vs. build decision? The answer to this question will vary depending on the product
30
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 For review, the IT infrastructure includes the hardware, software, and telecommunications equipment that, when combined, provide the underlying foundation to support the organization's goals Organizations need a solid IT infrastructure to support their IT systems IT infrastructure must meet the organization’s needs in terms of time, cost, technical feasibility, and flexibility
31
Design the IT Infrastructure
Sample IT infrastructure Discuss the sample IT infrastructure with your students Point out the Internet cloud The firewall The routers, servers, workstations, and printers
32
Design System Models Sample entity relationship diagram (ERD)
Discuss the sample ERD with your students Point out the entities and attributes Discuss the relationships
33
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
34
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
35
Write the Test Conditions
Test condition – the detailed steps the system must perform along with the expected results of each step
36
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 Surprisingly, many projects fail during implementation No matter how great the system is, if the users do not want the system or cannot use the system, it will fail
37
Write Detailed User Documentation
System users require user documentation that highlights how to use the system User documentation – highlights how to use the system
38
Determine Implementation Method
Four primary implementation methods Parallel implementation Plunge implementation Pilot implementation Phased implementation Parallel implementation – using both the old and the new system until it is evident that the new system performs correctly Plunge implementation – discarding the old system completely and immediately starting to use the new system Pilot implementation – having only a small group of people use the new system until it is evident that the new system performs correctly and then adding the remaining people Phased implementation – implementing the new system in phases, and then implementing the remaining phases of the new system Ask your student which implementation they would want if they were involved with the implementation of a new CRM system Which method contains the least risk? Which method contains the most risk? Which method is easiest for the users? Which method is hardest for the users?
39
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
40
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 Systems spend the majority of their life in the maintenance phase
41
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
42
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 Provide an example of scope creep We added a new type of discount to our marketing plan Provide an example of feature creep We would like a new logo placed on the top corner of every screen and it should play a song when clicked
43
SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS
Find errors early: the later in the SDLC an error is found - the more expensive it is to fix
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.