22-06-2012, 04:26 PM
SYSTEM DEVELOPMENT
Following the logical design is physical design. The physical design may also be called as system development. This produces the working system by defining the design specifications that tell programmers exactly what the candidate system must do. In turn, the programmer writes the necessary programs or modifies the software package that accepts input from the user, performs necessary calculations through the existing file or database, produces the report on a hard copy or displays it on screen, and maintains an updated database at all times. In this phase we have done the following activities:
Hardware & Software specifications.
Cost estimations.
Coding
Testing
Hardware and Software Specifications
A major element in building systems is selecting compatible hardware and software. The systems analyst has to determine what software package is best for the candidate system and, where software is not an issue, the kind of hardware and peripherals needed for the final conversion. Hardware and software selection begins with requirement analysis, followed by a request for proposal and vendor evaluation. The final system selection initiates contract negotiations.
We consider the following to select hardware and software for development environment:
Reliability
Functionality
Capacity
Flexibility
Usability
Security
Performance
Serviceability
Ownership
Minimal costs
Cost Estimation
In this section we presented the cost estimations for complete development and implementation. In developing cost estimations for a system, we need to consider several cost elements.
Software testing is a critical element of software quality assurance and represents the ultimate reviews of specification, design and coding. Testing represents an interesting anomaly for the software. During earlier definition and development phases, it was attempted to build software from an abstract concept to a tangible implementation. No system is error free because it is so till the next error crops up during any phase of the development or usage of the product. A sincere effort however needs to be put to bring out a product that is satisfactory.
The testing phase involves the testing of development system using various data. Preparation of the test data plays a vital role in system testing. After preparing the test data, the system under study was tested using those data. While testing the system, by using the test data, errors were found and corrected by using the following testing steps and corrections were also noted for future use. Thus, a series of testing is performed on the proposed system before the system is ready for implementation.
The various types of testing done on the system are:
Integration testing
Validation testing
Unit testing
Output testing
User Acceptance testing
Unit testing:
Unit testing focuses on verification effort on the smallest unit of software design module. Using the unit test plans prepared in the design phase of the system development as a guide, important control paths are tested to uncover errors with in the boundary of the modules. The interfaces of the modules are tested to ensure proper flow of information into and out of the modules under consideration boundary conditions were checked. All independent paths were exercised to ensure that all statements in the module have been executed at least once and all error-handling paths were tested.
Each unit is thoroughly tested to check if it might fail in any possible situation. This testing is carried during the programming state itself. At the end of this testing phase each module is found to be have an adverse effect working satisfactorily, as regard to the expected output from the module.
Integration Testing:
Data can be lost across an interface, one module can on another; sub-functions when combined may not produce the desired major function: global data structures can present problems. Integration testing is a systematic technique for the program structure while at the same time concluding tests to uncover errors associated with interface. All modules are combined in this testing step. Then the entire program is tested as a whole. Each of the module is integrated and tested separately and later all modules are tested together for sometime to ensure the system as a whole works well without any errors.
Validation Testing:
At the culmination of the integration testing, the software is completely assembled as a package, interfacing errors have been uncovered and corrected, and a final series of software validation testing began. Here we test if the system functions in a manner that can be reasonably expected by the customer. The system is tested against the system requirement specification.
Output Testing:
After performing validation testing, the next phase is output testing of the proposed system, since no system can be useful if it does not produce the desired output in the specified format. The output generated or displayed by the system under consideration is tested by asking the user about the format required by them, here, the output format is considered in two ways: One is on the screen and the other is on the printed form. Beta testing is carried output by the client, and minor errors that have been discovered by the client are rectified to improve the user friendliness of the system.