Pergunta

Eu tenho a necessidade de gerar diagramas UML para uma das minhas atribuições C ++. Estou usando Visio 2007 e estou tendo problemas para representar vetores C ++. A única maneira que eu posso ver este trabalho está criando um costume C tipo de dados ++ ou a criação de uma classe vector no meu projeto, em seguida, para cada instância de um vetor na UML, eu preciso cavar as propriedades e adicionar <Class> no campo sufixo.

Basicamente, eu estou tentando obter vector<Object> sem cavar em propriedades e adicionando <Class> para o campo de sufixo de cada vez.

Eu estou muito preso com software Microsoft para fazer diagramas e codificação por isso, não sugere que eu utilize software diferente. No entanto, se Visual Studio suporta 2003 fazer diagramas UML de uma maneira menos dolorosa do que Visio, eu não iria opor-se usando o Visual Studio, mas por favor me diga onde essa opção é.

Foi útil?

Solução

Você não precisa prever que este é um vetor no diagrama UML.

No exemplo que você está dando, há um relacionamento um-para-muitos entre uma classe e outra. Essa é a informação importante que você precisa para se comunicar.

Você optou por implementar isso como um vetor: este é um detalhe de implementação que não precisa ir no diagrama - apenas exibir uma associação um-para-muitos

.

Se, por algum motivo, você precisa mudar isso para um std :: lista, ou um std :: deque, ou qualquer outro recipiente STL, você não precisará atualizar o diagrama, porque o um-para- muitos conceito ainda é o mesmo.

Lembre-se que você está exibindo uma abstração do código. Se você deseja transmitir como todas as classes conceitualmente relacionar um ao outro, um diagrama de classe UML é o ideal. Se alguém quer saber os detalhes de como ele é implementado, ele ou ela pode sempre usar o diagrama como um ponto de partida antes de olhar para o próprio código-fonte.

Para um exemplo de relacionamentos um-para-muitos exibido usando UML, clique aqui

Outras dicas

UML tem uma notação para classes parametrizadas. O tipo de parâmetro entra em uma caixa sobreposta no canto superior direito como este se suas ferramentas de apoiá-lo é outra questão ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top