I know that you probably are sick to death of hearing about the phases of IS at this stage but I guess the more info on them the better!
The system development life cycle (SDLC) is the traditional approach taken to systems development. It is a phased or stepped approach.
The SDLC is really a project management tool or a way of sequencing the tasks that need to be carried out to develop a new information system.
the investigation phase results in the requirements of the new system coming to light
the analysis phase sees the detailed investigation of the existing system
the design phase sees the new system designed to meet the requirements that came to light in the investigation phase.
the new system is brought on line during the implementation phase
finally, the new system is examined for its effectiveness during the review phase
If the problem exist with the new system then the entire process or part thereof may have to be repeated – hence the term life cycle.
Software Development Methodologies (SDM)
Software engineering is the practice of using selected process techniques to improve the quality of a software development effort. This is based on the assumption, subject to endless debate and supported by patient experience, that a methodical approach to software develop results in fewer defects and, therefore, ultimately provides shorter delivery times and better value. The documented collection of policies, processes and procedures used by a development team or organization to practice software engineering is called its software development methodology (SDM) or system development lifecycle (SDLC)
Software Development Process
The software development process, also known as the software development lifecyle, is structure imposed on the development of a software product. Similar terms include software lifecycle and software process. There are several models and methodologies for such processes, each describing approaches to a variety of tasks or activities that take place during the process. Some people consider a lifecycle model more general term and a software development process a more specific term. For example, there are many specific software development processes that ‘fit’ the spiral lifecycle model.
The important task in creating a software product is extracting the requiremenbts or requirements analysis. Customers typically have an abstract idea of what they want as an end result, but not what software should do. Incomplete, ambiguous, or even contradictory requirements are recognised by skilled and experienced software engingers at this point.
Implementing, testing and documenting
Implementation is the part of the process where software engineers actually program the code for the project. Software testing is an integral and important part of the software development process. This part of the process ensures that defects are recognized as early as possible.
Documenting the internal design of software for the purpose of future maintenance and enhancement is done throughout development. This may also include the writing of an API, be it external or internal. It is very important to document everything in the project.
Deployment and maintenance
Deployment starts after the code is appropriately tested, is approved for release and sold or otherwise distributed into a production environment.
Software Training and Support is important and a lot of developers fail to realise that. It would not matter how much time and planning a development team puts into creating software if nobody in an organization ends up using it. People are often resistant to change and avoid venturing into an unfamiliar area, so as a part of the development phase, it is very important to have training classes for new clients of your software.
Maintaining and enhancing software to cope with newly discovered problems or new requirements can take far more time than the initial development of the software. It may be necessary to add code that does not fit the original design to correct an unforseen problem or it may be that a custoemr is requesting more functionality and code can be added to accomodate thier requests. If the labor costs of the maintenance phases exceeds 25% of the prior-phases’ labor costs, then it is likely that the overall quality of at least one prior phase is poor. In that case, management should consider the option of rebuilding the system (or portions) before maintenance cost is out of control