DEveloping Information systems You must plan carefully before beginning: Steps in information system design: called the life-cycle of an info. system 1. Analyze needs for new system 2. Design the new systems 3. Code or implement the new system 4. Install the new system - get people using it 5. Maintain the new system Called a life cycle for 2 reasons. Like a living being, an information system has different stages it goes through. The process repeats itself when an existing system is replaced with a newer one. Steps 1 through 4 may take a few months each. Step 5 may last for 2 or 3 years. During this period it may be necessary to make changes - the steps followed for the system as a whole are followed to institute the changes. At the end of the useful period of a system, there are enough problems that need to be fixed that it is better to design a new system that try to maintain the existing system. Step 1. Analyze user needs 1. Bring together a system development team consisting of systems analysts, managers and users of the system. 2. Identify the problem areas. Determine the shortcomings of the existing system and new features that should be in the new system. - 3. Learn as much as possible about the operation of the existing system, so that you will be able to replicate the parts you wish to keep. Document the existing system by creating a data dictionary showing all data items stored in the system, their use and format. Use data flow diagrams to show how data flows through the existing system. Use structured English or pseucode to describe the processes carried out by the existing system. Systems analysts use CASE tools (Computer- Aided Software Engineering) to help build the data flow diagrams and data dictionaries. if quantityOnHand = 0 then Create a backOrder record Write backOrder record to backOrder file else if quantityOnHand < OrderAmount then Perform fill_partial_order process Set QuantityOnHand to zero Create a backOrder record Write backOrder record to back order file else if quantityOnHand > OrderAmount then perform fill_complete_order process deduct OrderAmount from QuantityonHand if new QuantityOnHand <> old QuantityOnHand and new QuantityOnHand < ReorderPoint then Create a new order record Write NewOrderRecord to NewOrders file Write date of new order and quantity to inventory record 4. Determine system requirements for the new system (requirements specification document). The system requriements are a set of statements that describe measurable goals of the new system. a. The system should be able to locate and ship an item that is in stock in any warehouse in the country to the customer within 48 hours. b. The system should determine the best outlet to ship from and the cheapest way to ship. Analysts determine the system requirements by interviewing users and managers or throught the use of prototyping. A prorotype is a simple version of an information system that demonstrates selected features of the final system. The user tells the analyst what is good and bad about the prototype operation. Step 2. Design the new system 1. Identify several (3 0r 4) alternative solutions. Generally there may be more than 1 way to design a system. Some of the solutions might involve developing the sytem in-house using a programming langauge. Others might involve purchasing an off-the-shelf system that meets the user requirements, or customizing a software package that you purchase to meet your needs. Developing the system in house is the most time-consuming. There are application development tools that can speed the process. 2. Evaluate them and pick the best. List the evaluation criteria and eliminate any solution not capable of performing the job. Then perform a costs-benefits analysis on the remaining solutions to find the best one.This means list the advantages (benefits) and disadvantages of all of them and determine the relative costs of implementing them. Pick the one that provides the best performance for the lowest cost. 3. Purchase any required hardware or software needed for the development and installation of the new system. Send RFP (Requests for proposals) to possible vendors describing the problem and solution you wish to follow. Ask for equipment proposals that will meet the system requirements. When you decide on possible equipment configurations from different vendors, send out RFQ - Request for quotation. 4. Develop applications specifications which describe exactly how the system should interface with the user, store data, process data, and format reports. This is documentation that describes the new system operation so a programmer can implement it. It may consist of the same information as for the documentation of the existing system (data flow diagrams, data dictionaries, and structured English descriptions of processes). Step 3. Code (construct) the system 1. install any new hardware or software needed to code the system. This might be a new, more powerful computer. It might be a new programming language (for system to be coded in house), a new software package (if a package is to be customized in house), or an expert system shell (if expert system is to be built). 2. Create the new system following the process chosen in the design stage Building a system in house called software engineering; software customization - modifying or customizing a system; knowledge engineering - entering rules for an expert system in knowledge base using an expert system shell. 2. Test the system to identify any errors and fix them. Provide it with multiple sets of test data designed to stress the system and observe whether it processes the test data correctly. If not, correct the errors in the system. Three phases of testing: unit testing- test each system unit separately to see that it performs as expected. Integration testing - see whether the units operate correctly when combined together into the complete system. System testing - test whether new system works with the rest of the information systems in the organization. Step 4. Install (Implement) the new system 1. Train users to operate the new system. Show them how to perform their required tasks with the new system. Develop user or procedure manuals which detail the steps they should follow. 2. Convert data in the old system so that it can be used in the new system. If the old system is a manual system, data will have to be scanned in or typed in by data entry operators. If the old system is also computerized, a program can be written to convert the data so it is in the acceptable format for the new system. 3. Convert from the old system to the new system. 4 ways to do this. Direct conversion - simply pull the plug on the old system and switch over to the new one. Dangerous - new system may not work properly - can't fall back and use the old system. Parallel conversion - run both systems simultaneously for awhile, comparing results to make sure new system is working properly. Costly - requires enough hardware to support both systems. Also, users must enter duplicate data during conversion process. Phased conversion - gradually shift over one module at a time from the old system to the new system. Complicated because modules of new system must be compatible with modules of old system. Pilot conversion - If an organization has multiple branches using the new system, try it out on just one branch first to make sure it works. When the bugs are out, shift the other branches over to the new system. 4. Acceptance testing. After conversion, operate the new system for a specified period of time, carefuly observing its operation to see whether it meets its evaluation criteria and there are no problems. At the end of the period, either accept it or reject it. Step 5 Maintain the system Maintain the system, correcting errors or bugs that appear (initial phase of operation), or to bring it up to date because of changes in regulation, organizational structure, or procedures (middle phase of operation). Finally make changes required due to hardware or software upgrades (later stages of operation). Eventually it will become obsolete because of organizational or hardware/software changes or it will no longer be cost-effective to operate. Time to start the life cycle over again.