Home : Quality : Methodology






































































Requirement Gathering and Analysis:

As software is always part of a large system or business, work begins by establishing requirements for all the elements in the system and then allocating some subset of these requirements to software. This system view is essential when software must interact with other elements such as the hardware, the people and the database.

System Engineering and analysis encompass requirements gathering at the system level with some amount of top-level design and analysis. Information engineering encompasses requirements gathering at the strategic business level and at the business area level.

The requirement gathering process is intensified and focused specifically on software. To understand the nature of the program(s) to be built, the software engineer / analyst must understand the information domain for the software, as well as requirement function, behavior, performance and interface. Requirements for both the system and the software are documented and reviewed with the customer.


Development Planning:

Effective software Project management focuses on the Four 'P's - People, Product, Process and Project .

The Project Management Plan provides the necessary information to three sets of people:

First is the Business Unit Head (Manager) of the project, to whom the Project Manager Reports. To this manager, the plan provides an overall view of how the project is to be managed, what the commitments are, who the people are, etc.

Second is the Project Manager/Project Leader, who is also the owner of this document. The fact that this document follows a standard format ensures that the Project Manager / Project Leader will take a comprehensive view of the project while planning.

Third is the developer in the project, to whom the plan provides a comprehensive view of the project, its goals, its commitments and their roles and responsibilities in the project.

Link to Top

Software Requirement Specification:

The main objective of Software Requirement Specification is to produce a document that clearly specifies all the requirements of the customer. That is, the software requirement specification document is the primary out put of the phase. Proper requirement specification is critical for the success of a project.

The activities performed during the requirements phase largely focus on two areas - Problem Analysis and Product Description . In the overall process the problem analysis activities are grouped into the three phases of preparing, gathering requirements and analysis. The product description activities are also grouped into three Phases: preparing the SRS, reviewing the same and obtaining the final sign-off from the customer. After the sign-off, the Initial / Allocated baseline for requirements is established.

During this phase a System Level Test Plan and Test Case Documents shall be generated to validate all the Software Requirements. This is also one of the major objectives of this process.

High Level Design Specification:

High-level design is the process of defining the externals and internals from the prospective of a component. Its objectives are as follows:

•  Develop the external functions and interfaces, including,

•  External User Interfaces

•  Application Programming Interfaces

•  System Programming Interfaces

•  Design the internal component structure.

•  Ensure all functional requirements are satisfied

•  Ensures the component fits into the system/product structure

•  Ensure the external functions can be accomplished

•  Complete the Integration Test Plan and Test Case Document for the Integration.

•  Feedback to SRS, Verify changes in SRS.

The High-Level Design description activities are also grouped into three Phases: preparing the HLD, reviewing the same and obtaining the final sign-off from the Project Manager or customer.

Link to Top

Detailed Design Specification:

Detailed Design is the process of transforming the HLD into a more detailed level from the perspective of a part (Modules, macros, includes, and so forth). Its objectives are as follows:

•  Finalize the design of components and parts within a system or product.

•  Complete the Component (Unit) Test Plans.

•  Feedback to HLD, Verify changes in HLD.

The Detailed Design description process is also grouped into three Phases: preparing the DDS, reviewing the same and obtaining the final sign-off from the Project Manager or customer. After the sign-off, the Functional baseline for requirements is established.

Link to Top


This phase largely focuses on three stages: Coding (Build), Unit Testing and Integration Testing.

Coding Stage: The coding portion of the process results in the transformation of the DDS for a function to completely coded parts. The objectives of this stage are as follows:

•  Code Parts (modules, macros, includes, messages and so forth)

•  Code Unit Test Cases

•  Verify changes in HLD or DDS.

Unit Testing: This is the first test performed on an executable module. Its objectives are as follows:

•  Verify the code against the component's of DDS

•  Execute all new and changed code to ensure that all the branches are executed in all directions

•  Correctness of the logic, and data path are verified

•  Exercise all error messages, return codes and response options.

•  Feedback to code, LLD and HLD

The level of Unit Testing is for verification of limits, internal interfaces, and logic and data paths in a module, macro or executable include. Unit Test is performed on non-integrated code and may require scaffold code to construct the proper environment

Integration Testing: Integration Test is the testing of the combined software parts that make up a component after the software parts have been integrated into the system library. Integration Testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objectives of this test are as follows:

•  Test External User Interfaces to the component's design documentation - User Requirement.

•  Test component interfaces to the components design documentation.

•  Test application program interfaces to the component's design documentation.

•  Test error recovery and messages to the component's design documentation.

•  Test the shared paths (Multitasking) and shared resources (Files, locks, queues, etc.) to the component's design documentation.

Link to Top

Functional Testing:

Testing the basic functionality of the component before the system testing

System Testing:

The system level test phase comprised of the following tests:

•  System Test

•  System Regression Test

•  System Performance Measurement Test

•  Usability Test

Acceptance And Project Closure:

The acceptance testing include testing of the following support structure to verify their readiness:

•  Service Structures

•  Development fix support

•  Electronic customer support

•  Marketing support

•  Ordering, manufacturing and distribution

Once the customer accepts the project, Project Post Mortem shall be carried out and the project is formally closed.

Link to Top

Disclaimer l Sitemap
Copyright © MultiTech Software Systems India Pvt. Ltd.