Reuse of off-the-shelf components in C2-style architectures
Proceedings of the 1997 symposium on Software reusability
Software architecture: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Describing software architecture with UML
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
On the role of middleware in architecture-based software development
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Using Javadoc and XML to produce API reference documentation
Proceedings of the 20th annual international conference on Computer documentation
A Survey of Architecture Description Languages
IWSSD '96 Proceedings of the 8th International Workshop on Software Specification and Design
Establishing a Software Architecting Environment
WICSA '04 Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture
A UML profile for service oriented architectures
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A Study of the In-Practice Application of a Commercial Software Architecture
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
Describing dynamic software architectures using an extended UML model
Proceedings of the 2006 ACM symposium on Applied computing
Evaluation of current architecture frameworks
Proceedings of the 2006 ACM symposium on Applied computing
Collaboration in Software Engineering: A Roadmap
FOSE '07 2007 Future of Software Engineering
Aligning Architectural Approaches towards an SOA-Based Enterprise Architecture
WICSA '07 Proceedings of the Sixth Working IEEE/IFIP Conference on Software Architecture
Hi-index | 0.00 |
A major goal of the software architecture discipline is to develop an environment that promotes the reuse of components across separate software projects. One of the areas that would most benefit from this reuse is in product families of similar software products. Many organizations are in the business of creating several closely related products, whether it be a line of cell phones, cameras, printers, or a banking software suite, each product will need very similar software, with only slight modifications based on the version being produced. In this case, two aspects are needed in order to improve the production of such organizations. First, a common architecture foundation should be shared by each of the products. Second, there should be at least some small amount of basic code at the core of each product that can be reused without modification. In this paper, we will examine current methods of software architecture styles and propose a best method for describing the architecture so that the core components can be reused in many products. Next, we will determine the best practices for describing how the components can be reused, specifically what should be included in both high level and low level documentation. Finally, we will look at software implementation details of how this strategy could be practically applied to projects in the software development industry.