2. System Development Life Circle (SDLC)
4. Object Oriented Design and Programming (O-O)
5. Similarities and Differences
This paper is about systems development methods, which implies all activities within an
organisation to create information systems and their implementation and to produce effective and efficient systems in a timely manner. These actions target also at a reduction in failures. In this paper are Systems Development Life Cycle (SDLC), Prototyping and Object Oriented Design and Programming (O-O) discussed, their differences and similarities pointed out and it will be furthermore focused on their usage and future developments. They are alternative solutions and are used in analysis, design, and development phases of many projects. The alternative to these systems development methods in the past was chaos.
2. System Development Life Circle (SDLC)
SDLC is a set of general categories, which reflect the steps necessary, to develop an information system within an organisation. The major steps apply only for certain projects and are almost ever different by design. As the project is differently, so is the SDLC. The steps within the process are subdivided and rage depending on the source from six to nine. But, how many steps ever, they overlap and it is possible to move backwards; even to restart the whole procedure all over again. All start at project initiation and end at maintenance. The latter is form my point of view one of the main problem that is often not considered. SDLC often works well for large projects.
There are many problems concerning SDLC. It has come under attack, due to its rigid design and inflexible procedures. If there is a change in the sequence of the process, it causes problems to the developer because of the “waterfall-structure”. Furthermore, at the beginning of an project, people do not know all requirements for certain. SDLC does not accommodate this problem very well. Third, the developing process consumes a lot of time. Useable results occur almost at the end only. Forth, the program does not respond to changes in the environment fast enough. New architectures in design and other developments require fast adjustments. SDLC cannot do this appropriately. Also, SDLC requires a great deal of data entry and maintenance. Another problem is the fact that the analysis at the end is not always according to the needs of a manager.
There are of cause also advantages. Among these are the clear structure and the fact that complex data can be processed at a time.
Prototyping is the very opposite of the old-style SDLC. The developer focuses on the needs of the customer immediately. The first prototype should be finished within three or four days. Then, the whole system is not developed yet, but the prototype is made to have a portion of the project realised which contains only a small part of the project the customer is most interested in. Consequently, one ma y immediately decide, weather or not to finish it by extending the prototype or to change the whole procedure. Feedback by the customer is always possible, wished and can immediately implemented.
This way of organising the data allows a fast feedback on the functionality of the program and can deliver information needed fast. Furthermore, it is not as expensive as SDLC is. New processes can be implemented very fast and changes in the environment can be reacted to on a short notice. Prototyping can be used before it is completely finished. Therefore, one has got the option to make sure if it meets all needs before it has to be made a major commitment. In the development process customers have a tangible system rather than an abstract one. Demonstration prototypes may prove technical feasibility.
But, on the other hand there are quite a number of disadvantages. Because it follows an unconventional analysis, there is not much formal documentation done during the project.
Furthermore, if it needs maintenance, difficulties might occur. Additionally, if the prototype is almost finished, customers assume that the project is done without taking the behind-the- scene work into consideration. That might lead to premature commitment to and might also reduce creativity in design.
Prototyping requites a commitment to group decision making and much customer involvement. That might cause frustration and stress. If there was a constant change in directions, confusion about the goal and the different prototypes might occur. Another fact is that prototypes do not necessarily apply to production.
4. Object Oriented Design and Programming
This is a very different approach to the problem how to organise data in an effectively working system. In SDLC, billing systems would not be able to handle mailing problems, although it is almost the same procedure. Object oriented design and programming in contrast begins with a survey about the tasks that have to be conducted. Consequently, it would make it possible that billing and mailing would work with the same system. The process of developing the system is similar to the way, SDLC is done. There are also the steps taken between six and nine (see also chapter 2). Prototyping could be used as well even if it does not impose a single design technique. The difference is that during the process, the developer can use specialised modelling diagrams that focus on the needs a special project contains. Consequently, there are quite a number of advantages to mention. First, systems development comple xity decreases. Systems once set up can also be used in other systems. Therefore, a lot of money can be saved by using this flexible system. Second, quality and productivity increase. Third, O-O is closely linked to the real world and does not find itself on a programming level. Last, because of the flexible use of this design the maintenance as well as the updating to changes in environment are made easier.
5. Similarities and Differences
SDLC is very time consuming and costly. By the time the project is finished, it does often not work properly or maintenance is hard to do. Therefore prototyping and object oriented design and programming were developed. Some pros and cons were already mentioned in the previous chapters. In this chapter it is tried to enlarge the sources already put in as to show in what situation which system should be selected.
O-O is used on the basis of either SDLC or prototyping. But, it allows a specialised focus on the needs of that object. On the other hand, it makes maintenance harder as well as wide usage for different needs. High costs for maintenance do have all three in common. SDLC goes down into deep research and is very structured and designed in solid forms, whereas prototyping and O-O are less structured. Consequently, the staff has to get intensive training for SDLC. This causes extra costs for the firm. Because of the deep structure, failures are very likely and it is hard to pick them correctly. All three systems need updating in regular periods.
SDLC is good for projects that are large and have well-defined goals. Because of the weaknesses, there should be no time pressure on the developer. It demands also an outstanding manager in charge, even if he/she does not have the technical skills. Managerial issues are as important as the knowledge of programming. Anyway, the methodology is relatively inflexible and discourages changes.
In contrast, prototyping is used, when the goals are not clearly defined and the system has to be available very fast. The costs are much lower. But, it requires even a better manager than the SDLC project, because he/she carries more responsibilities, as the development is not very structured. If the project is a large one, one should use SDLC as a supportive tool. O-O, as mentioned, is a ve ry fast system and very effective. But the skills to use it properly are not very common and there is a work force shortage. One should consider the language that is used. Java slows the system down. One clear advantage in contrast to SDLC is the reusablity of codes.
SDLC needs a good understanding of the whole process, whereas prototyping and O-O do not right from the beginning on.
In this paper were SDLC, prototyping and object oriented design and programming discussed. This chapter focuses on the overall picture as well as a on an outlook, how these management information systems will develop in the next few years.
Because of its structure, object oriented design and programming fastens the development of Web design. These database answer complex queries much faster than the other systems. As time-factors become more and more costly and the world wide web governs our life, the more important the O-O will become.
As new hardware flows at an increasing speed on the market and so does new software, more complex systems can be processed. Costs are decreasing due to an increasing number of users. The computer- literate population is getting bigger and bigger. Therefore, the need for specialised solutions for a rapidly changing markets become more important. Consequently, one might assume that the O-O will play an important role in the future. Not just the price will determine the use in the future but also the differentiation.
Further aspects in this area are facts like low maintenance costs, high user acceptance, integrability with other systems and reusability. In the future less firms will have the time to have the expanded SDLC system developed and after it got finished failures are almost certain.
Another fact that strengthens the prototyping and O-O position is that one does not have to know all requirements in the beginning. It is almost impossible to know all nuances of the data at this point.
Finally, the software development tools have improved a lot during the past years. It puts people with limited knowledge in computing in the position to develop systems themselves. For many applicants, “traditional” methods as SDLC are no longer practical in this turbulent and fast-paced development environment. More practical models moved into the center. Moreover, a combination of many different systems according to the needs meets the demand. The selection of the appropriate system is determined primarily on two factors: organisational environment and the nature of the system application. There wo uld be no benefits for a firm with needs for immediately results using SDLC, whereas bureaucratic organisations looking to create a centralised network application system would be smart to consider SDLC. However, the organisational business processes have to examined first, before any kind of system development is started.
Firms will, whatever system they need, should check the option of outsourcing the development process not to engage too many staff in that project. The whole procedure might get too large to respond in an appropriate manner. It might end in strategic alliances. But, the main focus for managers is and will be to make right decisions in times of rapid changes. These discussed systems are managerial tools to do so.