1. Before any development of a new system what is carried out to establish whether it is worth while?2. What is the purpose of a feasibility study?3. What do we mean by ICT systems, what is an ICT System?4. Why are new systems developed?5. What method is most often followed in order to develop an ICT System?6. What is the purpose of the systems Development Life Cycle?7. What is the occupation of the person required to initiate the SDLC?8. What are the 6 main stages of the Systems Development Life Cycle?9. How does the waterfall model of the System Development Life Cycle differ from the original concept?10. What must be produced at the end of each stage of the life cycle?11. What needs to be established in the analysis phase?12. What methods can be used in order to analyse the current situation?13. What deliverables should be signed off at this stage (the analysis stage)?14. ----NOTE----
15. What needs to be included in the design phase?16. What deliverables should be signed off at this stage (the design stage)?17. What two ways are there to construct an ICT solution?18. What deliverables should be signed off at this stage (the constructing stage)?19. There are 6 types of testing that can be carried out on a system. What are these 6 different tests and briefly explain each. b. What is the difference between white-box and black-box testing? (give examples of each)20. What deliverables should be signed off at this stage (the testing stage)?21. What should be considered during the installation and conversion stage?22. What deliverables should be signed off at this stage (the installation stage)?23. What 3 types of maintenance are carried out during the review and maintenance stage?24. If something is done systematically, what does this mean?25. Formal projects must be managed systematically, large tasks should be broken down into smaller tasks. For each of these smaller tasks what should be considered?26. When project planning what plans need to be drawn up?27. What is Project Management Software and what does it do?28. The development of a project can be categorised into two different methods, what are they?29. Describe the differences between the two types of methodologies
30. What do we mean by prototyping and how can this be an effective development methodology?31. Explain the Extreme Programming (XP) Methodology32. Explain the Scrum Methodology33. Explain the Crystal Methodology34. Explain the Rapid Application Development (RAD) Methodology35. Explain the Dynamic Systems Development (DSDM) Methodology
It’s purpose is to judge whether to go ahead and develop the system
Systems where the output goes directly to a human or into another ICT system Their purpose is to ‘get an output and reduce waste in the process’ Mr S. Skiff 2011 In other words their purpose is to make a particular ‘process’ within an organization more efficient. They deal with the input and process of data in order to produce information.E.g. A data processing system that handles payroll Components of ICT systems: ◦ People ◦ Data ◦ Procedures ◦ Software ◦ Hardware ◦ Information
Current one is out of date Technology has moved on Competitors have developed new systems The organisation has grown A new part of the company is established that requires IT support The company wants to improve the quality of a repetitive task
1. Analysis2. Design3. Constructing the solution4. Testing5. Installing and conversion6. Review and maintenance
Original Waterfall Analysis Analysis Design Review & DesignMaintenance Constructing the solutionInstallation & Constructing Conversion the solution Testing The waterfall effect suggests that each stage is not finished off tidily Installation & Testing before moving to the next. Conversion There is overlap, e.g. designs may need to be altered if there are difficulties in the construction of the solution Review & Maintenance
Agreed Deliverables These should be signed off by the client together with approval to proceed to the next stage.
What is the problem you intend to solve? What does the existing system do? What are the strengths and weaknesses of the existing system? What is required of the new system? (Client/User requirements) Who will be using the new system and if necessary who will be viewing the final product? (End Users and Audience) Are there any constraints that may be placed on the new solution, e.g. legal requirements?
Interviews at all levels Questionnaires/Surveys Analysis of existing paper work Observation of users of the current system
User Requirements List of tasks and subtasks that need to be completed A Gantt Chart to show scheduled timings An assessment of user skills Hardware and Software requirements and limitations Performance indicators of evaluation criteria matching the client/users requirements An outline of the proposed method of solution
The analysis phase describes WHAT the project is going to do The design phase explains HOW it is going to do it
Justification of the software and tools you will use Data capture and validation methods Designs for the user interface Processing to be carried out Outputs to be produced How the solution will be tested
Details of file definitions, data structures and processes Design of outputs A test strategy and plan
Customising a package ◦ Using a generic or special purpose package and simply customising it ◦ May require compromises (not able to fully customise) ◦ Less risky ◦ More help and support available Writing Code ◦ This is when you build the solution from scratch ◦ More flexible ◦ Likely to take longer ◦ Likely chance of errors Documentation of construction is essential for both
A working system Documentation of the solution Draft version of the user guide
Module/Unit testing ◦ Testing individual sections of the software ◦ Written by the programmer ◦ White box testing – tester has access to internal data and algorithms Integration Testing ◦ Modules are combined and debugged Functional Testing ◦ Tests the operation of the system ◦ Written from a users perspective ◦ Black Box Testing – checks a given input produces the correct output Systems Testing ◦ Tests the complete system in preparation for user testing ◦ Tests transactions are processed correctly from beginning to end User Testing ◦ Actual end users will test the system and offer comments ◦ Final stage of testing ◦ Testing user documentation is important at this stage ◦ Should result in acceptance by the client and sign off to be installed Operational Testing ◦ Conducted in the environment or simulated version of the environment
White-box testing ◦ Concentrates on HOW the programs carry out what is expected Black-box testing ◦ Concentrates on what the software should DO rather than how it is done
Test data and results Modified user guide Client approval to install
The type of changeover (discussed in unit 3.10 Introducing large ICT systems into organisations) Direct – Company literally switches off the old system and switches on the new one. Parallel – The company runs both the old and new system in parallel for a time. Once they are sure it is working properly and staff are ready they will do a complete change over. Phased – Old system is still active but parts of the new system are used e.g. The front end input screens are used but run the old systems back end. Pilot – complete new system is installed in a small number of departments / branches. They use the system and feedback to the analyst. Legacy systems Training
Fully functional solution Full documentation ◦ User guides ◦ Technical documentation
Corrective maintenance ◦ Putting right any reported errors once the system is operational Adaptive maintenance ◦ Altering the system to meet new organisation, legislation or security requirements Perfective maintenance ◦ Where any inefficiencies are tweaked i.e. make the system even better
Means there is a system – carried out in an organised and logical manner
A defined timescale A approved budget Resources e.g. staff,equipment
Resource Plan ◦ Lists the human resources required e.g. staff skills and roles ◦ Lists the equipment resources required e.g. specifications, quantities Financial Plan ◦ Allocates financial budget to each stage Quality Plan ◦ Lists clear quality requirements for each deliverable Risk Plan ◦ Foreseeable risks, what can be done to reduce them and how they will be dealt with if they arise Acceptance Plan ◦ Criteria and schedule for client acceptance reviews Communications Plan ◦ What method will be used and how often communication between teams will take place Procurement Plan ◦ Good and services obtained externally and processes by which suppliers will be chosen
It is software than can be used to manage a project It allows a project to be broken down into sections, each of which can be planned and then linked to the other sections to produce an overall plan
Linear methodologies such as the waterfall model are very sequential, they tend to be easy to manage but are inflexible and less able to respond creatively to problems and opportunities that present themselves along the way. Iterative methodologies such as the scrum method are very agile. Iterative methodologies loop around the stages of the development until the developers and/or client are happy with the solution at that point and can move on to the next stage.
It relies on a process of continuous refinement based on experiences at each stage. Small stages of the solution are built and refined with as much user involvement as possible. Time and budget is difficult to control
Based on user stories written by clients as things that the system needs to do for them. Each of the stories is about three sentences long Acceptance tests are then created to verify the user story has been correctly implemented When time comes to implement the ‘story’ developers will receive a detailed description of the requirements They then work in iterations (of about 3 weeks) until the solution is complete
People in the team fulfil a distinct task that come together to form an effective whole Short daily meetings are used to address immediate problems and keep tabs on progress. Sprints (of around 4 weeks) are then carried to work on development At the end of each sprint the teams come together and present their solutions
Focuses on people and teams rather than processes
Uses: ◦ computerised development tools ◦ prototyping, to improve development times and quality at low costs Uses tools like: ◦ GUI builders ◦ Computer Aided Software Engineering (CASE) tools ◦ Database Management Systems Aim of this method is to meet the business needs quickly and at acceptable costs rather than most technically sound solution RAD proposes that the following are effective: ◦ Using workshops or focus groups to gather requirements ◦ Prototyping and user testing of designs ◦ Re-using software components ◦ Following a schedule ◦ Informal communication
An extension of RAD based on: ◦ User involvement produces accurate decisions ◦ Project team is empowered to make decisions ◦ Frequent delivery of products for review ◦ Main criteria is delivering a system that addresses the crucial business needs rather than perfect system ◦ Development is iterative and driven by users’ feedback ◦ Testing is carried out throughout ◦ Communication and cooperation must be efficient and effective
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.