Qual a diferença entre o diagrama de classe e o modelo de domínio?

Qual a diferença entre o diagrama de classe e o modelo de domínio?

Pelo que sempre vejo é a mesma coisa.

Modelo de domínio é um artefato, diagrama de classes é a ferramenta. O seu processo pode prescrever que durante a análise dos requisitos seja elaborado um modelo de domínio. Esse modelo de domínio pode ser representado por uma diagrama de classes, um diagrama entidade-relacionamento, um esquema de relações, uma rede de Petri, um rabisco num guardanapo, etc.

Qual a diferença de um carro e do projeto de um carro?

Modelo é uma representação simplificada de um determinado domínio, sendo o domínio qualquer área de interesse.
Modelo de domínio é uma forma de representar esta área de interesse.

Um diagrama, qualquer que seja, é uma “visão” do modelo. Como se fosse uma “fotografia” do modelo em questão.
Sendo assim, um diagrama de classe é uma maneira de visualizar uma “característica” do seu modelo (classes, relacionamentos entre classes, atributos das classes).

fbfarias o diagrama ou qualquer visão do modelo, não seria uma representação do modelo?Qual diferença neste contexto de visão e representação?

Então Daniel.F,

Um diagrama (como o de classe) realmente é uma visão do modelo.
Tentei usar o termo “representação” somente para tentar deixar a explicação a mais fácil de compreender.

Neste contexto, prefiro dizer que não há diferença entre os termos “visão” e “representação”.
Entenda o diagrama apenas como uma visão do modelo.

http://en.wikipedia.org/wiki/Domain-driven_design - este é um link para o assunto Domain Driven Design (modelagem dirigida à modelo).
Este assunto me ajudou bastante a entender essa questão de “modelo” e “diagrama”.

Galera, tenho uma dúvida sobre a utilização prática do Modelo de Domínio.
Sei como ele é, e como é feito. Mas ainda ficou esta dúvida.

Na prática, em empresas que vcs trabalharam, (se ele for feito) !
Ele é feito em partes de forma incremental, de acordo com cada Caso de Uso, separado por pacotes por exemplo. Ou ele é feito COMPLETO em um único diagrama ? Mesmo de forma incremental, apenas acrescentando novas entidades.

Estou tentando aprender UML, fazendo os diagramas de um sistema incremental (Casos de Uso -> Domínio -> Sequencia -> Classes).
Está correto esta sequencia ? É isso mesmo, pego um Caso de Uso, acho as classes de domínio dele (apenas este UC), e tento elaborar o diagrama de classes e sequencia juntos ? Mas algum outro diagrama é usado em empresas, no dia a dia ?

Agradeço qualquer ajuda !!

[quote=wavesofti]Galera, tenho uma dúvida sobre a utilização prática do Modelo de Domínio.
Sei como ele é, e como é feito. Mas ainda ficou esta dúvida.

Na prática, em empresas que vcs trabalharam, (se ele for feito) !
Ele é feito em partes de forma incremental, de acordo com cada Caso de Uso, separado por pacotes por exemplo. Ou ele é feito COMPLETO em um único diagrama ? Mesmo de forma incremental, apenas acrescentando novas entidades.

Estou tentando aprender UML, fazendo os diagramas de um sistema incremental (Casos de Uso -> Domínio -> Sequencia -> Classes).
Está correto esta sequencia ? É isso mesmo, pego um Caso de Uso, acho as classes de domínio dele (apenas este UC), e tento elaborar o diagrama de classes e sequencia juntos ? Mas algum outro diagrama é usado em empresas, no dia a dia ?

Agradeço qualquer ajuda !! [/quote]

No meu caso, ele é modelado de maneira incremental, em código. Aqui, como o desenvolvedor participa ativamente do levantamento de requisitos, a mesma pessoa que modela é a mesma pessoa que escreve código, portanto, seria reduntante manter duas representações (código Java e UML) da mesma coisa.

UML foi uma moda que passou. Na prática hoje é mais como o colega falou acima.

Claro que voce pode tirar proveito de algo que for realmente útil na prática em um determinado momento. Por exemplo Diagrama de Caso de Uso pode ser util para ajudar o entendimento de um processo complexo numa reunião, em nível de rascunho mesmo e não para ficar mantendo.

Valeu raça. Também acho que UML como documentação ja era, mas acho que ainda é bem viável para comunicação, como o amigo falou e organização do projeto em um nível alto de abstração para pensar em Design Patterns, também é uma boa.

VEJAM O SEGUINTE : Meu velho veja bem eu estou tentado realizar a multiplicação entre duas matrizes 9x9: matrizMK e a matrizK.inverse().
Contudo a palavra fica com sublinhado vermelho(erro), e a mensagem quando compila é a seguinte: Exception in thread ?main? java.lang.RuntimeException: Uncompilable source code ? Erroneous sym type: Array.inverse.

Como faço para multiplicar a matrizMK com a Inversa da matrizK???
O CÓDIGO:

public static void main(String[] args) {

double[][] matrizMK = {{65,57,36,20,77,155,35,83,165},{90,10,15,76,25,107,13,47,193},{57,36,3,0,101,85,7,121,139},
{27,54,66,18,46,25,62,131,41},{68,47,33,48,6,131,126,24,162},{62,41,99,70,79,105,3,86,137},{14,77,60,76,6,138,98,126,13},
{25,73,78,50,54,113,40,143,41},{9,2,36,0,11,0,0,0,18}};

double [][] matrizK = {{1,0,0,0,0,0,0,0,2},{0,2,3,0,0,0,0,0,0},{0,0,3,0,1,0,0,0,0},{0,0,0,4,0,5,0,0,0},
{0,0,0,0,5,0,0,6,0},{0,3,0,0,0,6,0,0,1},{0,0,0,0,0,0,7,1,0},{1,0,0,2,0,0,3,8,0},{4,0,0,0,0,1,0,0,9}};

//int aux = 0;

System.out.println(?MATRIZ Recebida:?);
Matrix matriz=new Matrix(matrizMK);
matriz.print(5,0);

System.out.println(?MATRIZ chave publica?);
Matrix chave= new Matrix(matrizK);
chave.print(5,0);

System.out.println(?MATRIZ INVERSA da chave pública?);
Matrix inversa= new Matrix(matrizK).inverse();
inversa.print(5,0);

// PRODUTO DAS MATRIZES MK E MatrizK.inverse()

int row, column, i;
double aux;
double c[][] = new double[matrizMK.length][matrizK.inverse()[0].length];
for (row = 0; row < c.length; row++) // multiplicação das matrizes
{

for (column = 0; column < c[row].length; column++) {
aux = 0;
for (i = 0; i < matrizMK[row].length; i++) {
try {
aux = aux + matrizMK[row][i] * matrizK.inverse()[i][column];
} catch (Exception e) {
e.printStackTrace();
}
} c[row][column] = aux;
}
}
// define matriz produto
Matrix matrizProduto = new Matrix©;
System.out.println(“Produtoatriz MK com a matriz Inversa”);
matrizProduto.print(5,0);
}

}

Galera gostaria que alguém pudesse me responder o mais breve possível. Agradeço

Modelo de dominio não é diagrama de classes.
Trata-se da primeira modelagem do relacionamento das entidades participantes do produto a ser gerado.