400 likes | 830 Views
Systems Development . MIS 503 Management Information Systems MBA Program. The Systems Development Life Cycle. The systems development process is typically called the systems development life cycle (SDLC) because the activities associated with it are ongoing.
E N D
Systems Development MIS 503Management Information Systems MBA Program
The Systems Development Life Cycle • The systems development process is typically called the systems development life cycle (SDLC) because the activities associated with it are ongoing.
The Systems Development Life Cycle • The steps of systems development may vary, but most approaches have five common phases: • Investigation. • Analysis. • Design. • Implementation. • Maintenance and review.
Participants in Systems Development • The systems development team usually consists of … • systems stakeholders • Users • Managers • systems development specialists • various support personnel.
Initiating Systems Development • Systems development projects may be initiated for a number of reasons which include: • Problems with the existing system. • The desire to exploit new opportunities. • Increasing competition. • The desire to make more effective use of information. • Organizational growth. • A merger or corporate acquisition. • A change in the market or external environment. • Business process reengineering
Significant Quote There is nothing more difficult to plan, more doubtful of success, nor more dangerous to manage than the creation of a new information system. For the initiator has the enmity of all who would profit from the preservation of the old system and merely luke warm defenders in those who would gain from the new one.
Managing Change • The ability to manage change is critical to the success of systems development. • The new or modified systems created during systems development will inevitably cause change. • Managing change requires the ability to recognize existing or potential problems.
Establishing Objectives for Systems Development • Systems development objectives should be supportive of, and aligned with, organizational goals. • There are four kinds of objectives that should be considered: • Performance objectives. • Cost objectives. • Control objectives. • Complexity objectives.
Significant Quote • Brook’s Law: • Adding manpower to a late software project makes it later! • (Frederick P Brooks Jr.) Hofstadter's Law: It always takes longer than you think, even when you take Hofstadter's Law into account. (Douglas Hofstadter)
Systems Development Methodologies • A key factor in completing a successful systems development project is to adopt a methodology. • A methodology is a way of doing things.
Systems Development Methodologies • A systems development methodology is an assortment of rules and standards that govern the approach taken to all tasks associated with systems development. • In structured systems development the systems development tasks are broken down into small, easily managed parts.
Systems Development Methodologies • Top-down design means the entire system can be viewed as a layered set of descriptions, each of which could be decomposed, or “peeled back,” to reveal more detailed specifications for smaller parts of the system.
Structured Walkthrough • A structured walkthrough is a planned and pre-announced review of the progress of a particular project deliverable--a specific project outcome, a structure chart, or a human procedure. • The walkthrough helps team members review and evaluate the program of components of a structured project.
Significant Quote • Bove’s Theorem: • The remaining work to finish in order to reach your goal increases as the deadline approaches. Walking on water and developing software from a specification are easy if both are frozen. (Edward V Berard)
Systems Investigation • Systems investigation is usually the first step in the development of a new or modified business information system. • The overall purpose of systems investigation is to determine whether or not the objectives met by the existing system are satisfying the goals of the organization.
System investigation attempts to uncover answers to the following questions: • What primary problems might a new or enhanced system solve? • What opportunities might a new or enhanced system provide? • What new hardware, software, database, telecommunications, personnel, or procedures will improve an existing system, or are required in a new system? • What are the potential costs? • What are the associated risks?
Feasibility Analysis • Feasibility analysis involves an investigation into technical, economic, operational, and schedule feasibility. • Technical feasibility is concerned with whether or not hardware, software, and other system components can be acquired or developed to solve the problem.
Feasibility Analysis • Economic feasibility determines if the project makes financial sense and whether predicted benefits offset the cost and time needed to obtain them. • Operational feasibility is a measure of whether or not the project can be put into action or operation. • Schedule feasibility determines if the project can be completed in a reasonable amount of time - a process that involves balancing the time requirements of the project with other projects.
The System Investigation Reports • The primary deliverable of systems investigation is a systems investigation report. This report summarizes the results of the systems investigation and the process of feasibility analysis, and recommends one or more systems for complete systems development.
Significant Quote • Deadline Dan’s Demon: • Every task takes twice as long as you think it will take. If you double the time you think it will take, it will actually take four times as long. • Meskimens Law • There is never time to do it right, but there is always time to do it over
Systems Analysis • Systems analysis attempts to understand how the existing system helps solve the problem identified in systems investigation and answer the question.
General Analysis Considerations • Systems analysis starts by clarifying the overall goals of the organization and determining how the existing or proposed information system helps meet these goals.
Data Analysis • The next step is to manipulate the collected data into a form that is usable by members of the development team participating in systems analysis. The manipulation is called data analysis.
Systems Design • The purpose of systems design is to select and plan a system that meets the requirements needed to deliver the problem solution. • System design results in a new or modified system, and thus results in change.
Logical and Physical Design • The logical systems design dimension refers to the way the various components of an information system will work together. • The physical system design dimension refers to the specification of the actual physical components.
Systems Implementation • User preparation. • Hiring and training personnel. • Site and data preparation. • Installation. • Testing. • Startup. • User acceptance.
Externally Developed Software • When choosing to use off-the-shelf software, the company must: • Review needs and requirements. • Acquire software. • Modify or customize software. • Acquire software interfaces. • Test and accept the software. • Maintain the software and make necessary modifications.
In-House Developed Software • Developing in-house software requires a substantial amount of detailed planning. • The programming life cycle is a series of planned activities to maximize the likelihood of developing good software.
Testing • Testing involves the entire information systems. It requires testing each of: • the individual programs (unit testing). • testing the entire system of programs (system testing). • testing applications with a large amount of data (volume testing). • and testing all related systems together (integration testing ). • conducting tests required by the user (acceptance testing).
Conversion Approaches • Direct conversion • Phase-in conversion • Pilot conversion • Parallel
Systems Maintenance • Systems maintenance involves checking, changing, and enhancing the system to make it more useful in achieving user and organizational goals.
Significant Quote Nixons Law The man who can smile when things go wrong has thought of someone to blame. Flon's axiom There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs. (Lawrence Flon)
Causes of Maintenance • Some major causes of program maintenance are: • New requests from stakeholders, users, and managers. • Bugs or errors in the program. • Technical and hardware problems. • Corporate mergers and acquisitions. • Governmental regulations.
Prototyping • The iterative approach using prototyping has the following sequence of steps: • Investigate, analyze, and define the problem. • Build the initial version or prototype of the system. • Put the prototype into operation. • Refine and modify the prototype.
Operational and Rapid Prototyping • An operational prototype is a prototype that works. • A partially operational prototype has some components that are operational. • A rapid prototype allows system stakeholders and users to see a mockup of the subsystem much faster, which enables earlier changes.
Object-Oriented Systems Development • Object-oriented (OO) systems development is a continuation of the modular approach of structured systems development, combined with the power of the object-oriented modeling and programming.
Potential Problems for Systems Development • Solving the wrong problem. • Poor problem definition and analysis. • Poor communication. • A project that is too ambitious. • A lack of top management support. • A lack of management and user involvement.
Potential Problems for Systems Development • Failure to use a standard systems development approach. • Inadequate or improper systems design. • Poor testing and implementation. • A lack of concern for maintenance.
Success Factors in Systems Development • Clearly defined organizational goals. • A sharp focus on, and clear understanding of, the most important business problems or opportunities. • Clearly defined systems development objectives. • Support of top-level managers. Involvement of users at all stages. • Use of a proven systems development method. • Creating or aligning incremental systems benefits with normal user work activities so as to provide incentives for effective system interaction. • Managing change. • A simple and straightforward design. • Good training programs for all involved.