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

Like this? Share it with your network


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






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

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

    • 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.