vocês podem me dar uma opinião! Tentando modelar

Pessoall
eu tenho o seguinte problema:

Nos temos uma aplicacao feita em perl que roda na web…essa aplicacao faz o seguinte: cada vez que alguem liga e pede um suporte, a secretaria cadastra uma os, para aquele cliente e encaminha para o tecnico, isso eh cadastrado no bd e quando o tecnico encerra a os e ele fecha ela, que tb eh cadastrado…enfim tenho os seguintes objetos: os,…usuario,cliente que extendem pessoa e fechamento.
O que aconteceu foi que deu pau no nosso servidor, e praticamente perdemos quase o sistema todo, entaum tomei uma decisao…naum vou usar esse sistema em perl…que estava nulo em orientacao a objetos…quero fazer um novo em java…
O que exatamente eu tenho que fazer…
Quero que quando o tecnico esteja no outro bairro e ele precisar encerrar a os ele abra um endereco na net e execute a aplicacao por ali…

e antes de pensar na interface para o cliente eu quero tentar modelar isso de forma que depois na programação eu naum tenha “surpresas”…acredito que se a modelagem for bem feita isso não irá acontecer…
Entaum tentei fazer de duas formas…Gostaria que vocês pudessem dar uma opinião/crítica de como posso melhorar:
as tentativas de modelagem estão em:

dianakkk.vila.bol.com.br/index.html

[]´s

O modelo está bom!

A única sugestão que posso dar é utilizar o padrão arquitetural Refletions
do livro Pattern oriented software Architeture.
A ideia de usar esse padrão eh reduzir o número de DAO´s do seu sistema, tornando o aumento de entidades indiferente para a persistencia.
Com isso vc diminuirá o acoplamento de suas classes de entidades com
os DAO´s e melhorará a coesão de seu software…

[]´s