Sequence comparison and alignment is a central problem in computational biology. Pairwise sequence alignment of protein or nucleic acid sequences is the foundation upon which most bioinformatics tools are built. EMBOSS has several pairwise alignment algorithms implemented in C, but they are quite dependable on the algorithms. Recently, generic programming has emerged as a programming paradigm capable of providing high levels of performance and re-usability in the presence of in vast numbers of ways to yield very efficient concrete programs. Pairwise alignment algorithms are optimization problems; from the view of a design, all the pairwise alignment shares the most common entities. This report designs and implements an application for pairwise Sequence Alignment using a generic programming approach in C++. Object-oriented programming principles are used for design; generic parameter and parameterized components mechanism in the C++ language are used for implementing this application, from which user can derive instantiations for any pairwise alignment algorithms of interest, this part can be considered as a framework in this application. Semi-global alignment algorithm is instantiated in this project. This implementation offers the possibility for the programmer to instantiate any kind of pairwise alignment algorithm with little efforts and basic knowledge of the C++ language. The implementation provides both robustness and re-usability properties.