Sunday, September 16, 2012

Software Development


Phases Of Software Development Project:-

                 A software development process consists of various phases, each phase ending with a defined output. The phases are performed is an order specified by the process model being followed. The main reason for having a phased process is that it breaks the problem of developing software into successfully performing a set of phases, each handling a different concern of software development. This insures that the cost of development is lower than what it would have been if the whole problem was tackled together. Thus, in order to manage the complexity, project tracking, and quality, all the development process consists of a set of phases. Various process models have been proposed for developing upon the problem.

Software development activity consists of the following activities:-
v  Requirement analysis and specification.
v  Design and specification
v  Coding
v  Testing

Requirement analysis and specification:-
            Requirement analysis is done in order to understand the problem of the software system is to solve. The problem could be automating and be existing manual process, developing a new automated system. The emphasis in requirements analysis in an identifying what is needed from the system, not how the system will achieve its goal. This fact is complicated by the fact that there are often at least two parties involved in software development a client and a developer.
            In most software project the requirement phases ends with a document describing all the requirements specification document. The person responsible for the requirement analysis is often called the analyst. 

Design and specification:-
            The purpose of design phase is to plan a solution of the problem specified by the requirement document. This phase is the first step in moving from the problem domain of the solution domain. The design of system is perhaps the most critical factor affecting the quality of the software it has a major impact on the later phases, particularly testing and maintenance. The output of this phase is the design document.
            The design activity is often divided into two separate phases-system design and detailed design. System design, which is sometimes also called top-level design, aims to identify the modules that should be in the, the specification of these modules and how they interact with each other to produce the desired results. During detailed design, the internal logic of each of the modules specified. The logic of a module is independent of the target language in which the software will eventually implement.

Coding:-        
            The goal of the coding phase is to translate the design of the system into code n a given programming language. The coding phase affects both testing and maintenance profoundly. Well written code can reduce the testing and maintenance effort. Because the testing and maintenance cost of software are much higher than the coding cost, the goal of coding should be to reduce the testing and maintenance effort. Hence during coding the focus should be on developing programs that are easy to read and understand, and not simply on developing programs that are easy to write. Simplicity and clarity should strived for during the coding phase.

Testing:-
            Testing is the major quality control measure used during software development. Its basic function is to detect errors in software. During requirements analysis and design, the output is a document that is usually textual and non-executable. After the coding phase computer programs are available that can be executed for testing purpose. This implies that testing not only has uncovered errors, introduced during coding but also errors introduced during the previous phases. Thus the goal of testing is to uncover requirement, design and coding errors in the programs. Consequently, different levels of testing are used.
            The starting point of testing is unit testing. In this a module is tested separately and is often performed by the code himself simultaneously along with the coding of the module. During integration of modules integration testing is performed to detect design errors by focusing on testing the interconnection between modules.
            Testing is an extremely critical and time consuming activity. It requires proper planning of the overall testing process. Frequently the testing process starts with a test plan that identifies all the testing related activities that must be performed and specifies the schedule, allocate the resource, and specifies guidelines for testing 

No comments:

Post a Comment

Please Comment here all your thinking about this website, and post your Problems here... Thank You