The Systems Development Life Cycle
The purpose of me writing this report is to produce a informative summary on the Systems Development Life Cycle, Prototyping and Use Case Models. I shall be summarising these topics in my own words and write it out as a report.
The SDLC and the phases
The systems development life cycle (SDLC) is a model used in project management. Structured analysis uses phases called the SDLC to design and manage the systems development process to accomplish the end result. The SDLC which can also be referred to as the Waterfall model has six phases. (Please turn to figure one in the appendix to view diagram). The first phase which starts at the top of the diagram is called Feasibility. Feasibility is a phase which decides whether the project should go ahead. Should the project go ahead, feasibility will make a project design and a budget projection for the stages of development. Furthermore feasibility suggests what action should be taken depending on different factors such as operational and technical.
The second phase is Requirement Analysis and Design. Requirement Analysis collects the systems requirements. In this stage there's a thorough study of the business requirements of the organisation. Another purpose of this phase is to make a logical model of the new system. In Systems analysis the system user also investigates business processes and records what the new system has to do. In the systems design phase the user interface is designed to single out the inputs, outputs and processes. As well as this the internal and external controls along with computer - based and manual features makes sure the system will be secure, reliable, and accurate and maintainable. In the systems design phase you have to determine the architecture of the application. This shows programmers how to change the logical design into program modules and code. The systems design phase result is recorded and then shown to the management so they can review and approve it.
The third phase is Implementation which is where the new system is made. The design phase is turned into code. All computer programs are coded using programming languages or application generators. All programming languages have tools so they can check if the programmes are programmed properly so they can work. These different tools are compilers so you van compile the program which checks for errors and debuggers which generate the code. Different programs used for coding are C++, Java, Visual basic and Pascal. After this program is written, tested and documented, the system is installed. But if the system is bought as a package the systems analysts would modify and make any alterations to the software if the system isn't working properly. The purpose of this phase is to produce a completed working information system. Because this phase has now been concluded the system can now be used. Furthermore final preparations are needed to convert data to the systems new files and there's also a system evaluation in the conclusion to see if the system operates properly and the costs are within expectations.
The fourth phase is testing which is where the system is tested. Each program is written as individual modules which take detailed tests separately. After this the whole system is tested to make sure the interfaces between the modules function correctly and the system does what the user wants it to do.
The final phase is maintenance where the staff protects the system. Also maintenance corrects the errors in the system and will adapt to the system changes. Maintenance and enhancements give new benefits and features. All systems have to be secure, reliable and maintainable. The main purpose of this phase is to make a maximized return on IT investments.
The function prototyping tests the concepts of the system as well as giving an opportunity to analyse the outputs, inputs and user inputs before the final decisions are made. A prototype can be used as a model to evaluate the completed system. Furthermore the prototype alone has the ability to develop into the latest version of the system. A advantage of prototyping is that it speeds up the development process. Other advantages of prototyping is it lowers the cost of development and it also gives the developers feedback on the changes to the design from the users. Disadvantages of prototyping are it can lead to documentation that isn't complete and it can cause systems to be unfinished or implemented before they're ready to be implemented. It is not necessary to use prototyping if the developer has previously used the language mainly for the design of the system. Also users who participate in the project should have experience in prototyping or have been educated on why and how prototyping should be used. Also information systems researches and consultants use paper prototypes for systems analysis and design. By using the paper approach this gives the designers and users to literally cut and paste the interface of the system. The paper prototype reduces the cost and time involved in prototyping. Overall prototyping is helpful as you can make a decision on whether you should develop it into the final system or not.
Use case models
Use case modelling represents interaction between a user which could be a human or machine and the system. Creating a account or viewing account details is what the interaction between a human or machine and the system is. In use case modelling a entity known as a "actor" interacts with the system by making a request to the system to perform a process or function. For example in a school a parent which is the actor can book a appointment which is use case with a teacher. Unified modelling language is a way of visualizing and documenting software systems design. UML provides a range of graphical tools such as use case diagrams. Systems analysts can draw use case diagrams by using a pencil or by using CASE tools that integrate the use cases into the system design. Figure 1 in the appendices shows a use case diagram for a actor on the left initiating events and messages.
In this report I have looked at the SDLC, prototyping and Use case models. I learnt about the six different phases of the waterfall model and what prototyping and Use case modelling is. I have also learnt how prototyping can be used and what use case modelling represents.
http://www.startvbdotnet.com/sdlc/sdlc.aspx Systems development life cycle 29/10/09
http://www.umsl.edu/~sauterv/analysis/prototyping/proto.html Prototyping 29/10/09
http://www.sparxsystems.com.au/resources/tutorial/use_case_model.html Enterprise Architect 18/11/09