CHAPTER 5 SYSTEM DEVELOPMENT METHODOLOGIES AND PROJECT MANAGEMENT

  • Slides: 31
Download presentation
CHAPTER 5 SYSTEM DEVELOPMENT METHODOLOGIES AND PROJECT MANAGEMENT

CHAPTER 5 SYSTEM DEVELOPMENT METHODOLOGIES AND PROJECT MANAGEMENT

OBJECTIVES • Explain the overall process of developing new software • Explain the difference

OBJECTIVES • Explain the overall process of developing new software • Explain the difference between software development methodologies • Define what consists of a project • Describe the purpose of project planning and control • Understand system and project life cycles

SOFTWARE • Applications: computer programs that contribute to productivity • Software: a series of

SOFTWARE • Applications: computer programs that contribute to productivity • Software: a series of instructions to a computer to execute processes • Two major categories of software: • Application software: run specific task • System software: • Enables application software to run on a computer • Manages hardware components and devices

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS • Programs are needed for every computer operation

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS • Programs are needed for every computer operation • Programming: Programming is the process of creating a set of logical instructions for a digital device to follow using a programming language. The process of programming is sometimes called “coding” because the developer takes the design and encodes it into a programming language, which then runs on the computer. • Machine language: the only language that hardware understands • Consists of long strings of 0 s and 1 s (Binary Language) (1 GLs) • Assembly language: easier to program than machine language using “words” for commands (2 GLs)

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS (CONT'D. ) • Third-generation languages (3 GLs): known

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS (CONT'D. ) • Third-generation languages (3 GLs): known as “procedural” languages • Programmer must provide detail logical procedure • Includes languages such as COBOL, FORTRAN, BASIC, Pascal, and C • One 3 GL statement = five to ten assembly language statements

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS (CONT'D. ) • Fourth-generation languages (4 GLs): use

PROGRAMMING LANGUAGES AND SOFTWARE DEVELOPMENT TOOLS (CONT'D. ) • Fourth-generation languages (4 GLs): use more English-like statements • Speed up the development process • Built around database management systems • Include many preprogrammed procedures • One 4 GL statement = several 3 GL statements • Structured Query Language (SQL) is an example • Debugging: process of locating and fixing program errors

HUMAN LANGUAGE (FUTURE) • Use natural language • No need to learn next syntax

HUMAN LANGUAGE (FUTURE) • Use natural language • No need to learn next syntax

LANGUAGE TRANSLATION: COMPILERS AND INTERPRETERS • Compiler: translates entire source code to object code

LANGUAGE TRANSLATION: COMPILERS AND INTERPRETERS • Compiler: translates entire source code to object code but does not execute the code • Scans for syntax errors • Generates error messages if syntax errors found • Interpreter: scans one statement at a time • If error-free, interprets and executes the statement • Goes through the program until an error or end of program is encountered

SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

ANALYSIS • In this step, a feasibility study is launched. The feasibility study includes:

ANALYSIS • In this step, a feasibility study is launched. The feasibility study includes: • Investigation • Technical feasibility study • Economic feasibility study • Operational feasibility study • Legal feasibility

Operational Feasibility Study Technical Feasibility Study Legal Feasibility Economic Feasibility Study Labor: $5000, Material:

Operational Feasibility Study Technical Feasibility Study Legal Feasibility Economic Feasibility Study Labor: $5000, Material: $10000 Operation Management: $1000 11

ANALYSIS (CONT'D. ) • Investigation • Is a system really necessary? • Is the

ANALYSIS (CONT'D. ) • Investigation • Is a system really necessary? • Is the system, as conceived, feasible? • Small ad hoc team performs a preliminary investigation by interviewing employees • Feasibility studies: a larger analysis conducted after preliminary results indicate an IS is warranted

ANALYSIS (CONT'D. ) • Technical feasibility study determines if: • Components exist or can

ANALYSIS (CONT'D. ) • Technical feasibility study determines if: • Components exist or can be developed • The organization has adequate hardware • Economic feasibility study • Cost/benefit analysis: spreadsheet showing all expenses and benefits of the proposed system • Return on investment (ROI): difference between the benefits and the costs over the life of the system

ANALYSIS (CONT'D. ) • Operational costs during the system’s life include • Software license

ANALYSIS (CONT'D. ) • Operational costs during the system’s life include • Software license fees, maintenance personnel, telecommunications, power, and computer-related supplies • Total cost of ownership (TCO): a financial estimate to objectively and accurately evaluate the direct and indirect costs of a new organizational project

DESIGN • Next phase in SDLC • Systems design: includes three steps for devising

DESIGN • Next phase in SDLC • Systems design: includes three steps for devising the means to meet all the requirements • Description of the components • Construction • Testing • If purchasing a system: • Design phase determines how to adapt the existing software • Construction: actual changes in program code

DESIGN (CONT'D. ) • Use symbols to communicate ideas about data, processes, and information

DESIGN (CONT'D. ) • Use symbols to communicate ideas about data, processes, and information • Visual information can be grasped more quickly • Data flow diagram (DFD): describes the flow of data in a business operation using four symbols • External entities: individuals and groups external to the system (customers, employees, etc. ) • Processes: an event or events that affect data • Data store: any form of data at rest • Direction of data flow: indicates how data moves

DFD

DFD

DESIGN (CONT'D. ) • Construction • Consists of mostly programming activities • May take

DESIGN (CONT'D. ) • Construction • Consists of mostly programming activities • May take months or years • Each completed module is tested • Modules are integrated • System testing • Tests the entire integrated system, comparing results to the system requirements

IMPLEMENTATION • Implementation: delivery of a new system • Steps include: • Conversion •

IMPLEMENTATION • Implementation: delivery of a new system • Steps include: • Conversion • Training • Conversion: switching from the old system to the new system • Can be a very difficult time

IMPLEMENTATION • Plunge Implementation: The organization selects a particular date to terminate the use

IMPLEMENTATION • Plunge Implementation: The organization selects a particular date to terminate the use of the old system. (most risk) • Pilot Implementation: a subset of the organization known as a pilot group starts using the new system before the rest of the organization. (small impact) • Parallel operation: allows both the old and new systems to be used simultaneously for a limited period of time. (most expensive) • Phased implementation: provides for different functions of the new application to be gradually implemented with the corresponding functions being turned off in the old system. (more conservatives)

MAINTENANCE • Maintenance: Post-Implementation updates and adding more features • Maintenance causes up to

MAINTENANCE • Maintenance: Post-Implementation updates and adding more features • Maintenance causes up to 80% of IS budgets • Maintenance/support is the longest phase of the system life cycle • Effective maintenance requires good system documentations during development

SYSTEM DEVELOPMENT METHODOLOGIES (WATERFALL MODEL) • Waterfall model describes a development method that is

SYSTEM DEVELOPMENT METHODOLOGIES (WATERFALL MODEL) • Waterfall model describes a development method that is linear and sequential. It has distinct goals for each phase of development.

SYSTEM DEVELOPMENT METHODOLOGIES (RAPID APPLICATION DEVELOPMENT) • RAD focuses on quickly building a working

SYSTEM DEVELOPMENT METHODOLOGIES (RAPID APPLICATION DEVELOPMENT) • RAD focuses on quickly building a working model of the software, getting feedback from users, and then using that feedback to update the working model. After several iterations of development, a final version is developed and implemented.

SYSTEM DEVELOPMENT METHODOLOGIES (AGILE METHODOLOGIES) • Agile methods: alternative development methods • Treat software

SYSTEM DEVELOPMENT METHODOLOGIES (AGILE METHODOLOGIES) • Agile methods: alternative development methods • Treat software development as series of contacts with users • Goal: fast software development • Improve software after user requests for modifications received • Agile methods use iterative programming

AGILE METHODS (CONT'D. ) • Major advantage of agile methods • Fast development of

AGILE METHODS (CONT'D. ) • Major advantage of agile methods • Fast development of application software • Some risks of agile methods • Analysis phase is limited or eliminated, increasing the risk of incompatibilities • More emphasis on programming, resulting in less documentation, which may make it difficult or impossible to make later modifications

WHEN TO USE AGILE METHODS • When a desired system is small • Analysis

WHEN TO USE AGILE METHODS • When a desired system is small • Analysis is less important • Requires a smaller investment of resources • For developing user interfaces • When users cannot specify all requirements at the start of the project • They may be unfamiliar with the technology • Requirements may be difficult to conceptualize

WHEN NOT TO USE AGILE METHODS • The desired system is large or complex

WHEN NOT TO USE AGILE METHODS • The desired system is large or complex • System failure entails great financial loss • The desired system must interface with other systems • SDLC recommended for complex systems • Documentation is key for integration

TRADE-OFF IN SYSTEM DEVELOPMENT THE QUALITY TRIANGLE

TRADE-OFF IN SYSTEM DEVELOPMENT THE QUALITY TRIANGLE

OUTSOURCING • Outsourcing is steadily being used by organizations • Maximize their value as

OUTSOURCING • Outsourcing is steadily being used by organizations • Maximize their value as well as reduce costs • Outsourcing: the formal business relationship to transfer internal business processes and functions to a third-party business • Many industries and businesses seek third-party outsourcing vendors to create efficiencies • Not all outsourcing initiatives are successful

PROJECT PLANNING AND MANAGEMENT TOOLS • Several tools exist to help plan and manage

PROJECT PLANNING AND MANAGEMENT TOOLS • Several tools exist to help plan and manage a development project, including IS projects • SAP project management with SAP S/4 HANA (Youtube Video) • Helps plan investment in a new system and manage the development project and delivery • Oracle’s Primavera 6 (Youtube Video) • Provides integrated project portfolio management (PPM) software

PROJECT PLANNING AND MANAGEMENT TOOLS (CONT'D. ) • Tools designed to accommodate planning and

PROJECT PLANNING AND MANAGEMENT TOOLS (CONT'D. ) • Tools designed to accommodate planning and management of any type of project • Microsoft Project • At. Task