280 likes | 524 Views
1.1 Systems Life Cycle. George Armanious. Introduction. The cycle involves design and implementation of systems. Includes: Software requirements Hardware requirements Organizational Re-Structuring (if needed) The life cycle is not linear because software is constantly being changed .
E N D
1.1 Systems Life Cycle George Armanious
Introduction The cycle involves design and implementation of systems. Includes: Software requirements Hardware requirements Organizational Re-Structuring (if needed) The life cycle is not linear because software is constantly being changed
Major Stages of the Cycle • Analysis • Design • Operation • Installation • Maintenance
Analysis • Collecting and examining data, particularly about the user’s requirements and the flow of data. • Feasibility report may be produced
Data Collection • Done in analysis to make a clear picture of what the problem is. • Identifies • Who inputs data • What form data is in • Any validation that is needed • What processing is done to produce the required outputs. • Must be systematic to avoid overlooking
Data Collection Techniques • Classic ways are: • Conduct interviews • Carry out questionnaires • Search existing documents • Search literature for other solutions to same problem • Observe people working with the existing system
Alternative Solutions • May involve non-computer as well as computer systems • Important considerations: • Output (discussed in Ch. 3 and 8) • Method to collect and input data like GUI and CLI (discussed in 1.3.6) • Using stand-alone or networked computer system
Alternative Solutions cont. • Three Main Types:
Design Software and hardware aspects are clearly defined File design and selection of suitable data structures and algorithms In object-oriented design Modeling language such as UML used to define objects, methods, and data flow More detailed feasibility report including cost-benefit analysis
Feasibility Reports Estimates cost Identifies expected benefits Estimates how long the project will take Outlines potential difficulties Analyses risks (cost or technical) Reviews other solutions from the past Decision to continue based off of this Level of detail depends on design. If enough detail is used, a prototype can be made (Prototypes discussed in Section 1.5)
The Requirements Specification Describes what the costumer and developers expect the system to do and how it will be done. Must include cost of building, testing, and running the system. Includes: A list of hardware and software tools needed (See Section 1.2.1) Description of hardware and software in completed system Formal agreement on the performance of the system List of personnel and their tasks Organizational chart can be used to check progress.
Operation • Only reached if the decision to proceed with a solution is made. • A number of items will be produced including a plan for development. • Planning is a complex process which can be assisted by identifying tasks that need to be completed. Two methods: • GANTT charts • PERT charts • Discussed in Section 1.3
GANTT • A list of activities plotted against time • Useful for small scale projects such as the dossiers you just did (perfect timing, right?)
PERT • Project and Evaluation and Review Technique • Shows events as nodes and activities as lines joining them with an expected time for each activity, usually in days. • What can you tell from the following?
PERT cont. • The minimum time to complete this project is 50 days (1 to 3 to 6) • This path is the critical path. • PERT charts and finding the critical path not important to IB but useful to know anyways.
System Testing Failure to test can lead to consequences that range from a store failing to a major plane crash in which everyone in the plane and a few outside of it die. Systems usually go through several stages of developmental testing.
Types of Testing Alpha – Programmers test an early version of the program Beta – The product is near completion and is believed to have few or no errors. The product is released to users outside the company to see how it will perform in different environments. Credible companies always let the users know that it may not be perfect. Formal – prove the program works using theoretical or mathematical techniques.
Types of Testing cont. Functional testing – describing systematically what is supposed to happen if a button is pressed or choices are selected. Test data is usually used. Three types: Normal– The correct type and range Limits– The ends of the range and the middle Abnormal– Incorrect type EXTREME– Correct type but out of range
Notes on previous table Extra columns for what does happen and if debugging is needed. Debugging – the process of detecting, diagnosing, and correcting errors in a program. There were probably be scores (many) of these in the testing of an actual programming Think of section D1 of the dossier
Installation There are several ways of getting the completed system up and running. Discussed in the non-existing 1.2.7 Bugs will be noticed and will need to be fixed
Implementing the New System More in Ch. 8 New System = change in way things are done. Existing staff must be trained and carry out routine tasks at same time. Three ways of doing this: Parallel Running: run old and new systems at same time. Ensures that the new can do what the old does and the old serves as backup. Phased Introduction: Implementing the new system bit by bit to make sure each part works. Direct Changeover (Big Bang): Used when new and old are completely different. Users need to be completely trained before the changeover takes place. Risky if new system does not work correctly.
Maintenance Bugs and flaws in the initial design must be fixed while the program is in use. Dangerous process as other bugs may be introduced “Two steps forward, one step back”
Maintenance cont. Expensive and time consuming. Corrective Maintenance – testing and correcting errors Periodic reviews to see if improvements can be done and the cost financially and in terms of disruption to the operation of the current system. The same methods that were used for data collection can be used for evaluations.