Cada classe no design é implementada codificando-a em uma linguagem de programação ou usando um componente preexistente. A que corresponde exatamente uma classe no design depende da linguagem de programação. Por exemplo, em linguagens orientadas a objetos como, por exemplo, C++ e Java, uma classe de design corresponde a uma ou várias classes. No Visual Basic, uma classe de design corresponde a um componente de um tipo específico; por exemplo, módulo de classe, formulário ou controle. Em Ada, uma classe de design corresponde a um ou vários tipos rotulados definidos em um pacote Ada.

O modelo de design pode se aproximar mais ou menos do modelo de implementação, conforme são mapeadas as classes para classes ou construções similares na linguagem de implementação. Por exemplo, você pode fornecer a cada classe de design uma relação 1:1 para uma classe de implementação. Isso conduzirá a um modelo de design com uma rastreabilidade contínua para o modelo de implementação, o que é apropriado em ambientes de engenharia round-trip. 

Outra alternativa é permitir que uma classe de design seja uma abstração de várias classes de implementação. Quando você usar essa abordagem, é recomendado que mapeie cada classe de design para uma classe "chefe", que pode usar sucessivamente várias classes de "ajuda" para realizar esse comportamento. Você pode usar classes de "ajuda" para implementar um atributo complexo ou construir uma estrutura de dados necessária para a implementação de uma operação. No design, você não precisa modelar as classes de "ajuda", só é preciso modelar alguns atributos, relacionamentos e operações definidos pelas classes-chefes, contanto que o modelo cumpra seu objetivo e seja uma boa abstração do código-fonte. Você deve decidir antes do início do design como as classes no modelo do design devem se relacionar com as classes de implementação e capturá-las no Guia de Design.

Em muitas linguagens de programação, é possível separar a interface da classe de sua implementação e finalmente colocá-las em arquivos separados. Por exemplo, o estilo comum em C++ é para colocar a interface de uma classe em um arquivo de cabeçalho (.h) e a implementação da classe em um arquivo .cpp. A linguagem Ada tem o conceito de especificação de pacote e corpo do pacote, e de especificação de subprograma e corpo de subprograma.

Cada linguagem de programação pode oferecer vários recursos difíceis de "encaixar" em um framework de processo geral. Por exemplo, em C++, conceitos como classes básicas virtuais, atributos e métodos "const", métodos abstratos, amigos etc. não têm equivalente direto em outras linguagens. Inversamente, a linguagem de programação pode ter algumas limitações quanto ao que pode ser facilmente representado. A disciplina implementação dirige-se nesse framework geral a todas as linguagens orientadas a objetos. Entretanto, você precisa especializar a disciplina implementação para realmente usar todas as   possibilidades e tratar as limitações de cada linguagem de programação.

Copyright  (c) 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process