UML modeling
Object Modeling is “natural”
The objects of this application are “easy” to spot: client and server
The UML model will reflect this: we need 2 classes: client and server
The UML model allows to describe local information for each class: our client will have to keep a count of how many “conversations” it has had with the servers, it also needs a way to keep track of which server it’s talking to, at any time.