of 48/48
McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved CHAPTER 11 SYSTEMS DEVELOPMENT

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

  • View
    3.110

  • Download
    1

Embed Size (px)

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

  • 1.CHAPTER 11 SYSTEMS DEVELOPMENT

2. DEVLOPING SOFTWARE

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

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 organizations 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

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

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 therequirements definition documentand 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 systemand 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) toolsautomate 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
    • Buythe 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
    • Buildthe 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)

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

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

30. 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
    • Provide training for the system users
    • Determine implementation method

31. Implementation 1: Write Detailed User Documentation

  • System users requireUser documentation highlights how to use the system

32. Implementation 2: Provide Trainingfor 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

34. 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:
    • 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 DevelopmentMethodology (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 DevelopmentMethodology (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

45. DEVELOPING SUCCESSFUL SOFTWARE

  • Primary principles for successful software development include:
    • Slash the budget
    • If it doesnt 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

46. SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS

  • 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

47. SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS

  • Find errors early: the later in the SDLC an error is found - the more expensive it is to fix

48.

  • http://www.updatexp.com/we-share-your-pain.html