E N D
1. Chapter 12 APPROACHES TO SYSTEMS-BUILDING
2. Approaches to Systems-Building, Challenges Controlling information systems development outside the information system department.
Enforcing a standard methodology
3. The life cycle methodology for system development (Figure 12-1)
4. The Traditional System Lifecycle Systems Lifecycle: A traditional methodology for developing an information system that partitions the system development process into formal stages that must be completed sequentially with a very formal division of labor between end users and information system specialists.
Project Definition: A stage in the systems lifecycle that determines whether the organization has a problem and whether the problem can be solved by launching a system project.
Systems Study:A stage in the systems lifecycle that analyzes the problems of existing systems, defines the objectives to be attained by a solution, and evaluates various solution alternatives.
5. The Traditional System Lifecycle Design: A stage in the systems lifecycle that produces the logical and physical design specifications for the system solution.
Programming: A stage in the systems lifecycle that translates the design specifications produced during the design stage into software program code.
Installation: A stage in the systems lifecycle consisting of testing training, and conversion; the final steps required to put a system into operation.
Post-implementation: The final stage of the systems lifecycle in which the system is used and evaluated while in production and is modified to make improvements or meet new requirements.
6. Limitations of SDLC Costly and time consuming
Inflexible and discourage change
Ill-suited to decision oriented applications
7. Alternative System-Building Approaches Prototyping: The process of building an experimental system quickly and inexpensively for demonstration and evaluation
Application software packages: A set of prewritten, precoded application software programs that are commercially available for sale or lease
End-user development: The development of information systems by end users with little or no formal assistance from technical specialists.
Outsourcing: The practice of contracting computer center operations, telecommunication networks, or applications development to external vendors
8. Prototype: The preliminary working version of an information system for demonstration and evaluation purposes
Prototyping: The process of building an experimental system quickly and inexpensively for demonstration and evaluation
End-user interface: The part of information system through which the end user interacts with the system
9. The Prototyping Process
10. Application Software Packages A set of prewritten, precoded application software programs that are commercially available for sale or lease
Fast, less costly, easy to install and test disadvantages
Low level of sophistication
Customization: Modifications to most organizational needs may be costly, in general it is exponential
Initial price may be deceptive
11. Selecting Software Packages Request for Proposal: A detailed list of questions submitted to vendors of software to determine how well the vendor’s product can meet the organization’s specific requirements
12. End User Development (Fig. 12-5)
13. End User Development End-user development: The development of information systems by end users with little or no formal assistance from technical specialists.
Information center: A special facility to provide training and support for end user development
4GL tools: enhanced productivity, can not replace conventional tools, non procedural, may not be appropriate for detailed logic.
14. Outsourcing: Contracting computer center operations, telecommunications, networks or application development to external vendors.
Solution Center: Facility operated by a commercial information technology vendor which provides clients with repeatable or reusable processes, models, and architectures for solving common information system problems
15. When to Use Outsourcing Limited competitive advantage from IS
Uninterrupted service is not important
Technical know-how for future innovation is not essential
Existing IS is inferior, limited or ineffective
16. Rewards and penalties of outsourcing
17. System Building Methodologies & Tools Development Methodology: A collection of methods, one or more for every activity within every phase of a development project
Structured methodologies
Flowcharting
Object oriented software development
Computer-aided software engineering
Software reengineering
Decision tables and Decision trees
Pseudocode
18. Structured methodologies have been used to document, analyze, and design information systems since the 1970s and remain an important methodological approach
Structured analysis: A method for defining system inputs, processes, and outputs and for partitioning systems into subsystems or modules that show a logical graphic model of information flow.
Structured Design: Software design discipline, encompassing a set of design rules and techniques for designing a system from the top down in a hierarchical fashion.
Data Flow Diagram (DFD): A primary tool in structured analysis that graphically illustrates the system’s components processes and the flow of data between them.
19. Data Flow Diagram (DFD) External entity
Process
Data store
Dataflow
20. Level 0 Data Flow Diagram
21. Data Flow Diagram for mail-in university registration system
22. Level 2
23. High Level Structure (Hierarchy) Chart Structured Chart: Systems documentation showing each level of design, the relationship among the levels, and the overall place in the design structure; can document one program, one system, or part o one program.
24. Structured Programming Structured programming: A discipline for organizing and coding programs that simplifies the control paths so that the programs can be easily understood and modified. Uses the basic control structures and modules that have only one entry point and one exit point.
Module: A logical unit of a program that performs one or several functions.
Sequence construct: The sequential single steps or actions in the logic of a program that do not depend on the existence of any condition.
Selection construct: The logic pattern in programming where a stated condition determines which of two or more actions can be taken.
System flowchart: A graphic design tool that depicts the physical media and sequence of processing steps used in an entire information system
25. System Flow Chart for a Payroll System (Figure 12-10)
26. Basic Control Constructs (Figure 12-8)
27. 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 create objects
Reusable components
Ease of maintainability
28. Joint application design: Programmers, IS professionals, and users participate for interactive design of systems.
29. Rapid application development (RAD): Process for developing systems in a very short time period by using prototyping, fourth-generation tools, and close teamwork among users and systems specialists.
Software reengineering: A methodology that addresses the problem of aging software by savaging 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 database descriptions into corresponding design-level components that can then be used to create new applications.
Forward engineering: The final step in reengineering when the revised specifications are used to generate new, structured program code for a structured and maintainable system.
30. Decision Table for monthly money market account statements
31. Decision Table for monthly money market account statements
32. Decision Tree for monthly market account statements
33. Pseudo Code for each account do:
if balance >= 500 then stat
else if there is account activity
send stat
else
send statment + warning