podem ser inseridas no sistema, para que o mesmo possa desenvolver sua tarefa de forma eficaz. 1.7. Modelos de Objetos Os modelos de objetos mostram os objetos ou classes de objetos contidos em um sistema e quando apropriado as diferentes maneiras e tipos de relacoes entre os mesmos. Os modelos sao essencialmente o proprio projeto em si, pois e aqui que tracamos uma ponte entre o que e necessario no sistema e a implementacao dessas necessidades no sistema. Os modelos devem ser abstratos de modo que em hipotese alguma detalhes desnecessarios nao ocultem uma relacao entre os objetos e os requisitos do sistema. Mas em controversa eles devem incluir detalhes suficientes para que os programadores possam tomar as devidas decisoes de implementacoes quando necessarias. Uma etapa importante no processo de desenvolvimento do projeto e decidir quais modelos sao mais viaveis e uteis para o sistema alem do nivel de detalhes que iram possuir. Para tomada dessa decisao deve-se levar em conta o tipo de sistema que devera ser produzido, pois diferentes tipos de sistemas necessitam de diferentes modelos de projeto. Existem poucos sistemas que necessitam de todos os modelos, e minimizar o numero de modelos economiza custos de implementacao alem do tempo gasto para essa implementacao. Para descrever um projeto orientado a objetos existem dois tipos de modelos que devem ser produzidos que sao os estaticos e os dinamicos que ja vimos a definicoes dos mesmos em topicos anteriores. Para gerar a documentacao dos projetos usa-se a UML que fornece um grande numero de modelos estaticos e dinamicos. Booch et al. (1999) propoem nove tipos de diferentes diagramas para representar esses modelos, mas nesse momento abordaremos apenas tres: 1.7.1. Modelos de Subsistemas Mostram os objetos logicamente agrupados em subsistemas, que sao apresentados em forma de diagrama de classe em que cada subsistema e abordado como um pacote. E um os modelos estaticos mais usados, pois mostra como os objetos podem ser organizados em grupos e mostram tambem as diferentes formas de relacoes entre subsistemas diferentes. 1.7.2. Modelos de Sequencia Mostram a sequencia das interacoes dos objetos, sao apresentadas em forma de diagrama de sequencia, e um dos modelos dinamicos mais uteis, pois documenta, para cada interacao a sequencia de interacoes de objetos que iram acontecer. As caracteristicas basicas desse modelo sao: Os objetos sao organizados horizontalmente com uma linha vertical ligada a cada objeto. O tempo e representado verticalmente, de modo que a progressao se da para baixo, dando uma visao de cima para baixo conforme as relacoes acontecem, possibilitando uma facil interpretacao do modelo. As interacoes entre os objetos se dao por setas rotuladas que ligam as linhas verticais, onde diferentes tipos de setas representam diferentes tipos de interacoes, onde pode haver objetos concorrentes ou ativos, lembrando que a cada interacao a linha do tempo abaixa. A cada interacao o objeto passa para o proximo o titulo de controlador do sistema, que e obtido quando o mesmo esta efetuando seu trabalho, quando terminado o trabalho ele passa para o proximo o resultado junto com o titulo de controlador, que e representado