210 likes | 390 Views
Chapter Twelve. Approaches to Systems-Building. The Traditional Systems Lifestyle.
E N D
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?