Page 234 - DCAP104_EXPOSURE_TO_COMPUTER_DISCPLINES
P. 234

Unit 12: System Development Life Cycle



            12.2.2 Implementation, Testing and Documenting                                        Notes
            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.
            12.2.3 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 realize 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
            deployment 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 unforeseen problem or it may be that a
            customer is requesting more functionality and code can be added to accommodate their requests.
            If the labor cost of the maintenance phase exceeds 25% of the prior-phases’ labor cost, 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.

            12.3 Spiral Model

            The key characteristic of a Spiral model is risk management at regular stages in the development
            cycle. In 1988, Barry Boehm published a formal software system development “spiral model”,
            which combines some key aspect of the waterfall model and rapid prototyping methodologies, but
            provided emphasis in a key area many felt had been neglected by other methodologies: deliberate
            iterative risk analysis, particularly suited to large-scale complex systems.

                                       Figure 12.1: Spiral Model



                                           Planning

                                                                   Risk analysis
                                                                   Risk analysis
                          Liaison




                                                                       Engineering

                        System Evaluation
                                                Construction & Release
                        System maintenance
                        System enhancement
                        System development
                                                                               .
                        Concept development








                                             LOVELY PROFESSIONAL UNIVERSITY                                   227
   229   230   231   232   233   234   235   236   237   238   239