What are the software development approaches and methodologies?
Approach and Methodologies
Based on our practiced software engineering approach, the development of a Payment and Interest Calculation Management Information System (web based payment management system), to be fully responsive to project owner company objectives and resources, will include the following major approaches and methodologies.
Our approach to the system analysis is to place a heavy emphasis on end-user requirements. The end-users will be involved in the system requirements activity. This will help to insure the development of a system that is fully responsive to the user’s needs. The review of the current system and survey of potential users will be done by a variety of means such as;
- Review of documentations
- Site visits
- Questionnaire surveys
- Interviews and
- Focus-group discussions.
In this phase as a main output we will get requirement of major system functions and the development of system architecture (identification of the major system components and their interrelationships).
The approach to be used for the implementation of the Payment and Interest Calculation Management Information System (web based Payment management system) is an iterative, rapid-prototyping. It is good to field-test major systems in a single user before going full scale. This field testing involves not only software, but all aspects of the system (e.g., data collection procedures, training, and quality control).
The importance of allowing for prototyping will be given high emphasis. A key problem faced in such systems is data integrity. From previous experience, we know that users become much more interested in data integrity when they see reports in a printout. Allocating a considerable amount of time for the implementation is also one approach for the successful of the implementation and easiness of error identification.
The system will be tested to confirm that the system meets the required output. Testing will involve in every stage of the software life cycle. However, the testing done at each level of the system development will differ in nature and has different objectives.
Unit testing: will be done at the lowest level. It tests the basic unit of the system, which is the smallest testable piece.
Integration Testing: will be performed when two or more tested units are combined into a larger structure. The test will be done on both the interfaces between the components and the larger structure being constructed, if its quality property cannot be assessed from its components.
System Testing: tends to affirm the end-to-end quality of the entire system. This will be done based on the functional/requirement specification of the system. Non-functional quality attributes, such as reliability, security, and maintainability, are also checked.
Acceptance Testing: will be done when the completed system is handed over to project owner company. The purpose of acceptance testing is rather to give confidence that the system is as required. The testing strategy will be done based on the following activities and deliverable as shown in the table.