software development flexiblity extensibility software architecture software design change changing requirements evolvability uml aop effort cross-cutting modularity accidental complexity composition operator complexity mde mde mdd model-driven source code mda mdd mde model-driven source code models gap
See more