Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Design and use of software architectures: adopting and evolving a product-line approach
Design and use of software architectures: adopting and evolving a product-line approach
Software product lines: practices and patterns
Software product lines: practices and patterns
Semi-formal design of reliable mesh generation systems
Advances in Engineering Software
On the Design and Development of Program Families
IEEE Transactions on Software Engineering
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
A document driven methodology for developing a high quality Parallel Mesh Generation Toolbox
Advances in Engineering Software
Balancing flexibility and performance in three dimensional meshing tools
Advances in Engineering Software
Product line architecture for a family of meshing tools
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Domain modeling as a basis for building a meshing tool software product line
Advances in Engineering Software
Hi-index | 0.00 |
Applying software engineering concepts can improve the quality of any software development, and this is even more dramatic for complex, large and sophisticated software, such as meshing tools. Software product families are series of related products that make intensive reuse of already developed components. Object-oriented design promotes reusability, so it is specially suited for designing the structure of product families. In this paper we present an object-oriented design of a product family of meshing tools, where all family members share the software structure. By instantiating the structure with particular algorithms and parameters, we can easily produce different tools of the family. A good family design allows us not only to combine existing algorithms but also to easily incorporate new ones, improving software family evolution. We show how the family design is used for the generation of finite element and finite volume meshing tools, as well as a new tool for image processing.