Tuesday, May 13, 2008

Can We define a Software Reuse Dictionary?

Yesterday, I was listening the great interview with Krzysztof Czarnecki at Software Engineering Radio when the interviewer commented about the list of buzzwords that we have in the software engineering/reuse community. I agree with them, and I think that sometimes we have the same concepts with different names. I tried to put some ones here, please, help me with it.

Perhaps, we can create a reuse dictionary and after that, uniform it.

A – Application Generators, Application Engineering (AE)

C – Code Generators, Component, Component-Based Development (CBD), Core asset

D – Design Patterns, Domain Analysis, Domain Design, Domain Engineering, Domain Implementation, Domain Model, Domain Modeling, Domain-Specific Software Architecture (DSSA), Domain-Specific Languages (DSL), Domain Scope

F – Facets, Feature, Feature Modeling, Feature-Driven Development (FDD), Feature-Oriented Programming (FOP), Frameworks

G – Generative Programming (GP)

M – Model-Driven Development (MDD), Model-Driven Architecture (MDA)

P – Platform Independent Model (PIM), Platform Specific Model (PSM), Product Development, Product Lines Engineering (PLE), Product Instantiation

R – Reuse Maturity Model (RMM), Reuse Libraries, Repository System, Repository

S – Software Factories, Software Product Lines (SPL), Software Product Line Architecture

T – Transformational Systems

V – Visual Domain-Specific Languages

2 comments:

Vinicius Garcia said...

Great post Eduardo. A long time ago we (me, Kellyton and Daniel) started a document with a taxonomy to some aspects related to framework. I think that this glossary/dictionary to software reuse "words" is a good initiative to help in the reuse culture too.
Another one: R - Reuse Capability Model

Jose Jorge Dias said...

Great initiative Eduardo..
other words:
C - Component Repository, component certification
S - Service-Oriented Architecture (SOA), Service, Service Registry, Service-oriented development
W - Web Services