Your SlideShare is downloading. ×
McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights ...
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights ...


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


    • Software that is built correctly can transform/be adapted 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
    • As organizations’ reliance on software grows, so do the business-related consequences of software successes and failures including:
      • Increase or decrease in revenue
      • Repair or damage to brand reputation
      • Prevent or incur liabilities
      • Increase or decrease productivity
  • 4. The Systems Development Life Cycle (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
      • Systems development life cycle – the overall process for developing information systems from planning and analysis through implementation and maintenance
  • 5. SDLC
    • 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
  • 7. Planning 1: 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
  • 8. Planning 1: Identify and Select the System for Development
  • 9. Planning 2: 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
  • 10. Planning 3: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
    • 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
  • 12. Analysis 1: 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
  • 13. Analysis 1: 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
  • 14. Analysis 2: 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 diagrams (DFD) – illustrate 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
  • 15. Analysis 2: Create Process Diagrams
    • Sample data flow diagram
  • 16. Analysis 3: 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
  • 17. Analysis 3: 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?
  • 18. Analysis 3: 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
  • 19. 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
  • 20. Design 1: Design the IT Infrastructure
    • Sample IT infrastructure
  • 21. Design 2: Design System Models
    • Modeling – the activity of drawing a graphical representation of a design
    • Different modeling types include:
      • Graphical user interface (GUI) screen design
      • Data models
        • Entity relationship diagram (ERD)
  • 22. Design 2: Design System Models
    • Sample entity relationship diagram (ERD)
    • 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
  • 24. Development 1: Develop the IT Infrastructure based on the design
  • 25. Development 2: Develop the database & programs based on the Models from the Design Phase
  • 26. 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
  • 27. Testing 1: Write the Test Conditions
    • Test conditions – the detailed steps the system must perform along with the expected results of each step
  • 28. Testing 2: Perform the System Testing
    • Types of testing:
      • Unit testing – tests each unit of code upon completion to determine errors in that unit
      • Application (or system) testing – verifies that all units of code work together and that the total system satisfies all functional and operational requirements
      • Integration testing – exposes faults in the integration of software components or units with other systems
  • 29. Testing 2: Perform the System Testing
    • Different types of testing, cont.
      • Regression testing – determines if a functional improvement or repair to the system has affected the other functional aspects of the SW
      • User acceptance testing (UAT) – determines whether a system satisfies its acceptance criteria, enabling the customer to decide whether or not to accept the system
      • Documentation testing – verifies instruction guides are helpful and accurate
      • Backup and recovery testing – tests the ability of an application to be restarted after failure
    • 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
      • Provide training for the system users
      • Determine implementation method
  • 31. Implementation 1: Write Detailed User Documentation
    • System users require User documentation – highlights how to use the system
  • 32. Implementation 2: Provide Training for the System Users
    • Organizations must provide training for system users
    • Two popular types include:
      • Online training – conducted over the Internet or from a CD-ROM
      • Workshop training – set in a classroom-type environment and led by an instructor
  • 33. Implementation 3: Determine Implementation Method
    • Four primary implementation methods
      • Parallel implementation
      • Plunge implementation
      • Pilot implementation
      • Phased implementation
    • Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals
    • Primary maintenance activities include:
      • Provide a help desk to support the system users
      • Perform system maintenance
      • Provide an environment to support system changes
  • 35. Maintenance 1: Provide a Help Desk to Support 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
  • 36. Maintenance 2: Perform System Maintenance/Changes
    • Maintenance – fixing or enhancing an information system
    • Different types of maintenance include:
      • Corrective maintenance
      • Adaptive maintenance
      • Perfective maintenance
      • Preventative maintenance
  • 37. Maintenance 3: 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
  • 38. Alternative Software Development Methodologies
    • There are a number of different software development methodologies including:
      • Waterfall
      • Rapid application development (RAD)
      • Extreme programming
      • Agile
  • 39. 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
  • 40.  
  • 41. 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
  • 42. Rapid Application Development Methodology (RAD)
  • 43. Extreme Programming Methodology (XP)
    • Extreme programming (XP) methodology – breaks a project into tiny phases; developers cannot continue on to the next phase until the first phase is complete
  • 44. 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
    • Primary principles for successful software development include:
      • Slash the budget
      • If it doesn’t work, kill it
      • Keep requirements to a minimum – watch out for:
        • Scope creep- the scope of the project increases
        • Feature creep – extra features are added
      • Test and deliver frequently
      • Assign non-IT executives to software projects
    • Primary reasons for project failure include
      • Unclear or missing business requirements
      • Skipping SDLC phases
      • Failure to manage project scope –allowing:
        • Scope creep – occurs when the scope increases
        • Feature creep – occurs when extra features are added
      • Failure to manage project plan
      • Changing technology
    • Find errors early: the later in the SDLC an error is found - the more expensive it is to fix
  • 48.