Hi,
First of all thank you for reading this. I need your help on the following. In our company we follow CMMI level 3 maturity process and, one of the items that we must follow is to have the documentation about a project and the documentation about the application.
Imagine the scenario that we already have an app running for 3 years now and the customer asks that a functionality must be changed.
How can we in uml, and particular in EA, address this issue?
My solution are the following, none of them address all my requirements
* I can design changes in two different models, one for the actual changes and another the current state of the app. Not a DRY principle and can lead to errors.
* I use only one model and put annotations everywhere, but if the app is going to suffer plenty of changes there can be annotations everywhere.
* I use only one model and rely on the EA baselines. Unfortunately this is almost like doing a diff on a text file. I can't see, visually, the diagrams before and after, so the visual part of the uml gets lots.
For instance the image below shows the typical bank scenario where the system contains a withdraw functionality and the sponsor now asks that the customer might choose, or not, to print a receipt.

How can I design the diagrams so that the programmer knows what to implement and on the same time he knows what the system does as a whole?
Thank you