This topic is often referred to as User Interface Design. For example see here:
http://www.ambysoft.com/essays/userInterfaceDesign.html
Speak to the users:
- How does the user go about the task of changing addresses e.g. do they have a form with a particular layout? Maybe imitate the layout?
- How often do they do this? Is it a heavily repeated task?
- Their experience/training?
- Do they do this in isolation to other tasks?
There's a common school of thought of one task per screen. So does the task involve only changing addresses? In which case it's far better to provide a screen that facilitates only change of address rather than clutter the screen with unrequired information. This is particularly rtue if the task is done one in a blue moon - a clean interface will make it clear to the user what they are changing. In contrast to this, if the is changing addresses and maybe changing or checking other details then it will be a pita to go into different screens to do so - hence understand your user, task and workflow.
The other posts mention about errors and and this is also mention in the link - design so errors are easily spotted/rectified.
Consider the case where the user is changing an address and the phone rings. It would be dead easy to miss changing an address line an carry on to the next. One way round this is to just use a blank address form which updates the current address. This might be the same form used for original input to has all the required error checking.
Another similar option is to have old address on left and new on right to provide clarity to the user what remains to be entered and also make it easier to error check. This particularly useful when some details are not changing e.g. mobile no, email
hth
Chris