A qualidade que é sempre solicitada no produto final, é também requisito fundamental para o software, já que é através dele que as estratégias de crescimento da empresa são sustentadas. Se você entrega um software que não tem qualidade pode comprometer o sucesso do seu cliente.
Desde o Delphi 2006 podemos utilizar a UML com todos os seus diagramas e, além disso, a utilização do LiveSource, que permite sincronização entre diagrama de classe e código.
Cada diagrama na UML tem a sua representatividade, alguns representam modelos de negócios e, portanto, não faz sentido gerar código a partir dele. Outros a representação fiel do código, por exemplo, o diagrama de classe. Abaixo, alguns dos diagramas disponíveis e suas funcionalidades:
- Use Case – é uma forma de descrever a interação entre um sistema e o mundo real, sendo que os atores que podem ser pessoas ou sistemas, representam o mundo real.
- Class Diagram – representa as classes do sistema e seus relacionamentos.
- Collaboration – utilizado para modelagem de aspectos dinâmicos de um sistema ou subsistema.
- Activity – permite representar situações dinâmicas através de um fluxo, por meio dele será possível representar o fluxo entre objetos.
- Component – utilizada para modelagem de mais alto nível, onde existam estruturas complexas. Este diagrama ilustra pedaços de sistemas, controles embutidos etc.
- State – Especifica a seqüência de eventos de um determinado objeto.
Visualizar um diagrama de classes torna muito mais fácil o entendimento sobre as classes nele existentes do que utilizar código. Vejamos um exemplo do próprio Delphi: a unit Buttons.pas tem diversos componentes dentro dela como TBitBtn, TSpeedButton e outros. Imaginem entender 1946 linhas de código para saber quais componentes e relacionamento existem entre eles. Através da engenharia reversa, fica muito fácil de entender, veja a figura abaixo.
A engenharia reversa pode ser feita a qualquer momento a partir do código Delphi, desta forma vemos que este recurso do Delphi auxilia e muito na evolução e entendimento do código, seja atual ou legado.
Fonte: www.andreanolanusse.com/pt/melhorando-a-qualidade-do-seu-software-delphi-atraves-da-uml por Andreano Lanusse