Mastering Systems Development: Challenges and Methods
E N D
Presentation Transcript
Chapter 6 Systems Development
Agenda • Systems Development Concepts • Challenges in Systems Development • Types of System Development Methods • Systems Development Life Cycle (SDLC) • Rapid Application Development (RAD) • Object Oriented Development (OOD) • Extreme Programming (EP)
Systems Development Concepts • A process for creating and maintaining information systems not only computer program • Computer program: three components (hardware, software, and data) • Information systems • Five components (hardware, software, data, procedures, and people) • Never off-the-shelf • Fit the business objective and user’s requirements • Maintenance information systems: fix the problem and adopt change
Systems Development Challenges • Determining requirements • Estimating schedule and budget • Changing technology • Diseconomics of scale • As the development teams become larger, the average contribution per worker decreases • Brooks’s Law: adding more people to a late project makes the project later • Training and coordination
Types of System Development Methods • Four major methods • Systems Development Life Cycle (SDLC) • Rapid Application Development (RAD) • Object Oriented Development (OOD) • Extreme Programming (EP) • No single method works for all information systems
Systems Development Life Cycle • Classical approach • Five phases • System definition • Requirements analysis • Component design • Implementation • Maintenance • Problems
System Definition Phase • Define project • Goals and objectives • Scope–statement of work • Assess feasibility • Cost (budget) • Organizational (operational) • Schedule • Technical • Form a project team • Project manager • In-house IT staff • Outside consultants and staff (as needed) • User representatives (management and staff)
Requirement Analysis Phase • The most important phase • Conduct user interviews • Evaluate existing systems • Determine new forms/reports/queries • Identify new application features and functions • Consider security • Create data model • Develop requirements for the five components • Obtain user approval
Component Design Phase • Design five components • Hardware specifications (processing computer and network) • Software specifications (source and code) • Create data model and database • Normal, backup, recovery for both user and operator • Job description of duty and responsibility for both user and operator • Determine alternatives • Evaluate each alternative against requirements • Select the best alternative that meets the requirements
Security Consideration • Users authentication • User groups • Primary system features and functions • System restrictions (minimum rights) • Permissions to user groups for specific features and functions
Implementation Phase - I • Build, test, and convert to the new system • User training document review and test procedures • System testing • Test plan • IT professional, user • Product quality assurance (PQA) • Normal and incorrect action • Beta testing
Implementation Phase - II • System conversion • Pilot: control negative impact • Phase • Parallel: save but expensive • Plunge (direct): new system only
Maintenance Phase • Fixing the system to work correctly or adapting the system to changes in requirements • Tracking failure or enhancement requests for all five components • Prioritize requests • Fixing failures • Patch: high priority failures • Service pack: low priority failures • New release: major enhancements
SDLC Problems • A need to crawl back up the waterfall • Unusable documenting requirements • Scheduling and budgeting difficulty
Rapid Application Development (RAD) • Proposed by James Martin • Characteristics • Break up the design and implementation phases of the SDLC into smaller pieces • Continuous user involvement • Prototype • Joint application design: user, developer and PQA personnel • Use CASE and visual development tools with repository and code generator (computer assisted software engineering or computer assisted systems engineering)
Object Oriented Development • From discipline of object-oriented programming for designing and writing programs • Unified Modeling Language (UML): a series of diagramming techniques to facilitate OOP development • Unified Process (UP): for developing computer program not information systems with five phases • Inception phase: new system definition • Elaboration phase: construct and test the framework and architecture of most risk and uncertainty use case (requirement) for the new system (a description of an application of new system) • Construction phase: low risk features and functions use case (requirement) • Transition phase: conversion • Maintenance phase
Extreme Programming • An emerging technique for developing computer programs • Not useful for large scale development systems that require business processes and procedures • Characteristics • Customer centric (customer working full time in the development project • Just-in-time-design for programming • Paired programming to reduce error and maintaining effort
Discussion • Ethics (155-156 and163a-b) • State the pros and cons of the system development project for the Baker, Barker, and Bickel in terms of the “time and material” contract and the fixed cost contract. • State your choice and reasons of the choice for the previous question if you are bidding the systems development contract. • Problem solving (165a-b) • State the focus or attention as a future new system user in the process of systems development. • Opposing forces (171a-b) • Should you be honest with the schedule and budget estimation for an in-house systems development project (state the reasons)? • Create a schema or process to estimate the schedule and budget for an systems development project. • Security (179a-b) • Create a security system of the future information system for the Baker, Barker, and Bickel.
Case Study • Case 6-1 The Need for Technical Feasibility (185-187): only 3 and 5 • Case 6-2 Slow learners, or What? (187-189): only 2