Chapter Twelve Approaches to Systems-Building The Traditional Systems Lifestyle The systems lifecycle is a traditional methodology for developing an information systems that partitions the systems development process into formal stages that must be completed sequentially with a very formal division of labor between end users and information systems specialists. Stages of the System Lifecycle Project Definition Systems Study Design Programming Installation Post-Implementation Alternative System-Building Approaches Prototyping Application Software Packages End-User Development Outsourcing Prototyping Prototyping – the process of building an experimental system quickly and inexpensively for demonstration and evaluation so that users can better determine information requirements. Prototype – The preliminary version of an information system for demonstration and evaluation purposes. Steps in Prototyping 1. Identify the user’s basic requirements. 2. Develop and initial prototype. 3. Use the prototype and determine how well it meets the end-user’s needs. 4. Revise and enhance the prototype. Advantages of Prototyping most useful when there is uncertainty regarding requirements. It is valuable for developing the end-user interface. Encourages end-user development in the process. Disadvantages of Prototyping Prototyping is better suited for small applications. Large systems would have to be subdivided in order to prototype and it would have to occur one at time. Rapid prototyping can gloss over essential steps in the process.Mgmt might view a working prototype as ready go and ignore the necessary testing process. Application Software Packages A set of prewritten, precoded application software programs that are commercially available for sale or lease. Many examples AR, Email, Doc Imaging, etc ASP are good because they are already pretested and can be implemented almost immediately. ASP can be bad if you have a low level of customization. Also if you do have to customize—if you have to do a lot, it might be better to create your own. End-User Development The development of information systems by end users with little or no formal assistance from technical specialists. See figure 12-5 page 379 Mgmt Benefits Improved requirements determination Increased user involvement and satisfaction Reduced application backlog Challenges Poses challenges because it occurs outside of traditional methods. Control of data is lost, particular when users create their own data files, they get hard to access Outsourcing The practice of contracting computer center operations, telecommunications networks, or applications development to external vendors. When to use outsourcing To reduce costs of offload some of the work of the IS dept. When the firm’s IS capabilities are limited, ineffective, or inferior Outsourcing Cont. When to use outsourcing To improve the contribution of IT to business performance. To create new sources of revenue and profit, to leverage increasing IT costs. Solution Centers Facility operated by a commercial vendor which provides clients with models for solving common IS Problems Why not Outsource? System Building Methodologies Development methodology – a collection of methods, one or more for every activity within every phase of a development project. Structured methodology – refers to the fact that techniques are carefully drawn up, often step-by-step, with each step building on a previous one Structured Methodologies Structured Analysis Method for designing inputs, process, etc in a logical form Structured Design A discipline, encompassing a set of rules for designing a system from the top down in a hierarchical fashion Structured Programming A discipline for organizing and coding programs that simplifies the control paths, uses basic control structures and modules that have one entry and one exit. Limitations of Structured (Traditional) Methods They can be inflexible They can be time-consuming If any changes need to occur then many steps are involved They are function-oriented instead of data- oriented. Object-Oriented Software Development An approach to software development that deemphasizes procedures and shifts the focus from modeling business processes and data to combining data and procedures to creating objects. Computer-Aided Software Development The automation of step-by-step methodologies for software and systems development to reduce the amount of repetitive work the developer needs to do. Rapid Application Development Process for developing systems in a very short time period by using prototyping, fourth-generation tools, and close teamwork among systems specialists. Related to JAD – joint application development- same thing except end-users are involved in JAD Software Reengineering A methodology that addresses the problem of aging software by salvaging and upgrading it so that the users can avoid a long and expensive replacement project. Reverse Engineering The process of converting existing programs, files, and databases into corresponding design-level components that can then be used to create new applications. Forward Engineering The final step in reengineering when revised specs are used to generate new structured code for a maintainable system. Concluding Questions Why is selecting a system development approach important? Who should participate in the process?
Pages to are hidden for
"Chapter Twelve - PowerPoint"Please download to view full document