Desenvolvedores.Net - TechBlog

Category Archives: Documentação

Conclusão UML

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 3,00 de 5)
Loading ... Loading ...
16 de julho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

No desenvolvimento de  software temos que desdobrar os problemas complexos em tarefas menores para que sejam compreensíveis e de fácil visualização. Usando os diagramas da UML podemos aplicar boas abordagens para a construção do sistema, e a equipe analisa os riscos enquanto produz um produto de qualidade. Bons projetos requerem um bom modelo. Assim como um engenheiro desenha a planta antes do início de uma construção temos que fazer o mesmo antes do início do desenvolvimento de nossos sistemas.

A UML e seus diagramas nos auxiliam neste processo de desenho do sistema. Mas ela sozinha não faz tudo, temos que usar uma metodologia para que nossos sistemas ganhem vida e a UML nos ajude a manter todo o ciclo de vida do projeto.

Não precisamos usar todos os diagramas da UML, até porque alguns são semelhantes e podemos usar um ou outro dependendo do contexto do que formos documentar.

Ao meu ver , um sistema tem que ter pelo menos estes diagramas, Casos de Uso, Classes, Seqüencia, Tempo e Implantação. Seguindo esta ordem definimos o desenho do nosso projeto, documentamos nossas classes (objetos e tabelas) e seus relacionamentos, mostramos a seqüencia em que as coisas acontecem e o tempo que cada ação leva para acontecer, juntando tudo implantamos o nosso sistema.

 Como em todo artigo que escrevo procurei me expressar de forma simples e objetiva, sem o uso de “tecniquês“.

Espero que quem acompanhou tenha gostado. Críticas, dúvidas, sugestões sempre são bem vindas para o meu crescimento como profissional e para cada dia melhorar na escrita dos artigos.


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

:

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Visões da UML

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (2 votos, média: 5,00 de 5)
Loading ... Loading ...
16 de julho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Ao desenvolvermos um sistema complexo temos a necessidade de enxergar o sistema, para nos auxiliar podemos dividir o sistema em diversos aspectos:

  • Funcional
    • Estruturas estáticas e as interações dinâmicas;
  • Não funcional
    • Tempo, confiabilidade, desenvolvimento;
  • Organizacional
    • Trabalho, mapeamento, código;

O sistema pode ser descrito em várias visões, cada uma mostrando particularidades do sistema, estas visões podem estar ligadas entre si pelos diagramas.

A figura no começo do artigo mostra as cinco visões da UML que iremos abordar.

Visão de Caso de Uso

Esta visão descreve a funcionalidade que o sistema irá fornecer. É destinada aos usuários, analistas, projetistas, desenvolvedores, e equipes de testes. É de grande importância porque o seu conteúdo irá acionar o desenvolvimento de outras visões. Tenha sempre em mente que esta visão deverá ser tecnologicamente neutra e focalizar o “que” e não o “como“.

Utiliza os digramas de:

Visão Lógica

Esta visão irá descrever como será fornecida a funcionalidade, destinada principalmente aos projetistas e desenvolvedores.

Esta visão descreve a estrutura estática (classes, objetos e relacionamentos) e as dinâmicas que ocorrem na aplicação.

As tabelas, relacionamentos, classes , propriedades, métodos devem ser descritos nesta visão.

Utiliza os diagramas de:

Visão de Processo

Nesta visão descrevemos o sistema em processo, esta divisão permite o uso eficiente de recursos, a manipulação síncrona e assíncrona dos eventos. É destinada aos desenvolvedores.

Utiliza os diagramas de:

Visão de Implementação

A visão de implementação descreve os módulos e suas dependências. Estes módulos podem proporcionar a verificação cruzada para outros produtos garantindo que todos os requisitos estejam eventualmente atualizados. É destinada aos desenvolvedores.

Utiliza os diagramas de:

Visão de Implantação

Esta visão descreve a disponibilidade física do sistema e recursos que o sistema ira utilizar. Descreve toda a estrutura onde o sistema é instalado. É destinada aos desenvolvedores, equipe de suporte, de testes e equipe de instalação.

Utiliza os diagramas de:


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Outros Diagramas da UML

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5,00 de 5)
Loading ... Loading ...
13 de julho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Diagrama de Estrutura Composta

Este diagrama é utilizado para modelar Colaborações. Uma colaboração descreve uma visão de um conjunto de entidades cooperativas interpretadas por instâncias que cooperam entre si para executar uma operação específica. Este diagrama também pode ser utilizado para definir a estrutura interna de um classificador. Este é um dos novos diagramas propostos pela UML 2.0.

Diagrama de Comunicação       

Este diagrama era conhecido como Diagrama de Colaboração até a versão 1.5 da UML,tendo o seu nome modificado para Diagrama de Comunicação a partir da versão 2.0 e está amplamente associado ao Diagrama de Seqüência, na verdade, um complementa o outro. As informações mostradas no Diagrama de Comunicação são, com freqüência, praticamente as mesmas apresentadas no Diagrama de Seqüência, porém com um enfoque diferente, visto que este diagrama não se preocupa com a linha de tempo do processo, concentrando-se em como os objetos são vinculados e quais mensagens trocam entre si durante o processo.

Diagrama de Interação Geral 

Este diagrama é uma variação do Diagrama de Atividade que fornece uma visão geral dentro de um sistema ou processo de negócio. Esse diagrama passou a existir somente a partir da versão 2.0 da UML e costuma englobar diversos tipos de diagramas de interação para demonstrar um processo geral.

Diagrama de Tempo 

Este diagrama descreve a mudança no estado ou condição de uma instância de uma classe ou seu papel durante um tempo. Tipicamente utilizado para demonstrar a mudança no estado de um objeto no tempo em resposta a eventos externos. Este é o terceiro diagrama criado a partir da nova versão da linguagem.


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Implantação (UML)

2
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 1,00 de 5)
Loading ... Loading ...
12 de julho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

 O diagrama de implantação representa a configuração e a arquitetura do sistema em que estarão ligados os respectivos componentes.

Neste diagrama também podemos representar toda a estrutura de hardware e requisitos mínimos onde o sistema será executado

Características do Diagrama

  • Pode representar a estrutura da plataforma em que será utilizado;
  • Pode representar bancos de dados, Componentes de Terceiros;
  • Pode representar os servidores, a rede;
  • Pode representar a configuração dos equipamentos;

Este diagrama não é específico do desenvolvedor, mas em uma equipe onde existe o responsável pela implantação do sistema, este deve estar preocupado com o hardware e a configuração em que o sistema deverá ser executado e a compatibilidade entre os dois.

Os Diagramas de Implantação também podem ser usados para especificar os módulos do sistema que deverão ser instalados no cliente.
Como Fazer:
  1. Identifique os dispositivos e o ambiente que a aplicação deverá ser executada;
  2. Se for possível utilize alguma ferramenta para descobrir a configuração adequada de hardware;
  3. Se a instalação ficar complexa crie mais de um diagrama, cada um focando em um determinado ponto da instalação;
  4. Utilize as notas para explicar melhor cada passo do diagrama;

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Pacote (UML)

3
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5,00 de 5)
Loading ... Loading ...
29 de junho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Os diagramas de pacotes ou diagrama de módulos, organizam os modelos criados, todos os blocos , casos de uso, classes, componentes, etc. Estes diagramas podem ser organizados em pacotes. (namespace em .net ou package em java).

Deve-se fazer a organização dos pacotes observando a semelhança de cada diagrama e no que diz respeito à solução do problema que cada um está sendo empregado.

Neste diagrama podemos representar a dependência entre os módulos do sistemas, isso quer dizer que pacotes podem depender de outros pacotes.

Exemplo de uma diagrama de pacotes:

Como Fazer:

  1. Identificar objetos semelhantes;
  2. Nomear os pacotes (módulos);
  3. Definir os nomes dos pacotes;

 


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Componente (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 4,00 de 5)
Loading ... Loading ...
28 de junho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

O diagrama de componente mostra o sistema por um lado funcional, expondo as relações entre seus componentes e a organização de seus módulos.

Este diagrama descreve os componentes e as dependências , representando a estrutura do código gerado.

Um sistema pode ter dezenas ou centenas de componentes que formaram um conjunto e darão sentido ao sistema.

Poderão existir componentes que serão responsáveis pela implementação de uma ou mais classes. Os componentes também podem ser uma tabela, documentos, outros sistemas. Todo este conjunto irá compor o sistema

Um componente é representado como um retângulo e dois pequenos retângulos do lado esquerdo e o nome do componente pode ser escrito dentro ou abaixo do componente.

Os componentes podem ser implementados por meios diferentes de arquivos, linguagens de programação, tabelas, equipamentos. Para determinar o tipo do componente usamos estereótipos. Abaixo alguns diagramas de exemplo com alguns estereótipos (<<estereótipo>>) para definir o seu tipo e alguns relacionamentos.

Ao contrário de outras implementações, uma das principais vantagens de um sistema componentizado é a modularidade. O sistema pode ser contruído por componentes agrupados em módulos e cada um com uma função distinta, desta forma facilitamos a construção de novas funcionalidades no sistema.

Como Fazer:

  1. Identifique os componentes que irão fazer parte do sistema;
  2. Defina os estereótipos dos componentes;
  3. Identifique as interfaces que irão compor o diagrama;
  4. Identifique os documentos que irão compor o sistema, arquivos, tabelas, documentos.

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Atividade (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votação.)
Loading ... Loading ...
20 de junho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

No diagrama de atividades podemos representar as ações que são executadas. Podemos documentar os métodos que iremos escrever na instância de um objeto.

Os estados no diagrama de atividades mudam quando uma ação é executada, estes estados podem ser representados com swimlanes.

* Uma swimlane agrupa a atividade e as organizam de acordo com suas responsabilidades. São representadas por retângulos que englobam os objetos que estão ligados a atividade.

Abaixo uma imagem de exemplo da swimlane

Os diagramas de atividade representam o fluxo das informações dentro de um objeto do sistema, podemos representar as condições e as execuções paralelas.

O propósito do digrama de atividades e focar no fluxo do sistema e descrever o processamento interno e paralelo. Podemos comparar o diagrama de atividades ao antigo fluxograma.

Exemplo de um diagrama para “Fritar um Ovo”:

Definições:

  • Atividade

Representa a execução de alguma coisa, uma método, uma rotina, um trabalho, etc.

  • Separação

Representa as execuções paralelas, têm uma entrada e podem ter várias saídas.

  • Junção

Usamos a junção para unir as saídas de duas ou mais separações.

  • Desvio

É a representação de uma única entrada em várias saídas. É um tipo de comportamento condicional.

  • Intercalação

Ao contrário do desvio aqui temos várias entradas com uma única saída.

  • Início

Marca o início das atividades no diagrama.

  • Fim

Marca o fim das atividades no diagrama.

Como Fazer:

  1. Identificar os cenários;
  2. Modelar a parte básica;
  3. Modelar as junções, decisões, separações. Se houver;
  4. Se houver a necessidade, organizar com o uso de swimlanes;

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Estado (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (3 votos, média: 5,00 de 5)
Loading ... Loading ...
7 de junho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Podemos ver o diagrama de estados como um complemento para o diagrama de classes. Neste diagrama podemos mostrar qual o estado em que o nosso objeto esta naquele momento. O diagrama de estado deve ser construído para os objetos que tem seus estados definidos e onde o comportamento do objeto muda por causa de um determinado estado.

Podemos representar aqui o ciclo de vida dos objetos e como são afetados pelos eventos (erros, mensagens, condições).

Os diagramas de estado começam com um estado inicial (um circulo preto todo preenchido) e podem ter várias saídas (um circulo com um X) ou fins (Um circulo com outro circulo menor preenchido).

Vamos pensar em um objeto que faz pedidos de venda. Este objeto pode ter vários estados:

  • Em Análise de Crédito;
  • Crédito Aprovado;
  • Crédito não aprovado;
  • Aguardando Liberação;
  • Pedido Entregue;
  • Cancelado;

Neste caso teremos que representar também algumas condições e transições de um estado para outro. Vamos ver como fica nosso diagrama

Características Principais

  • Demonstrar os estados possíveis de um objeto;
  • Demonstrar a transição de um objeto para outro;
  • Ajudam a visualizar a complexidade do sistema de forma simples;

Como fazer

  • Defina o objeto que irá representar;
  • Defina os eventos e estados que o objeto vai ter;
  • Estabeleça o início e fim do seu objeto;
  • Estabeleça os estados de seu objeto, se possível na ordem em que acontecem;

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Sequencia (UML)

4
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votação.)
Loading ... Loading ...
6 de junho de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Os diagramas de sequencia dão ênfase à sequencia lógica em que as mensagens são trocadas.

Os diagramas de colaboração dão ênfase  a ordenação estrutural em que os objetos se colaboram.

Para facilitar o entendimento iremos ver os dois em detalhe abaixo.

Diagrama de Sequencia

Usamos o diagrama de sequencia para modelar a interação entre os objetos e normalmente estão associados a apenas um caso de uso.

Este diagrama mostra a colaboração dinâmica de vários objetos, com isso podemos ver a execução de um ponto específico da aplicação.

O diagrama de sequencia possui dois eixos, horizontal que mostra os objetos envolvidos e o eixo vertical que mostra o tempo em que a ação acontece, este tempo é representado por uma linha tracejada a qual chamamos de linha de vida.

Para visualizar o tempo olhamos o diagrama de cima para baixo.

Os objetos são representados por ícones no topo do diagrama e as setas representam as direções das mensagens.

Os diagramas de sequencia podem representar objetos que são criados ou destruídos no decorrer da aplicação.

Podem representar acessos concorrentes (threads).

Vejamos um diagrama de Exemplo:

Este diagrama representa um processo simples de saque. Desde a inserção do cartão até o momento em que é gravado pelo banco.

Diagramas de Colaboração

Os diagramas de colaboração, diferente dos diagramas de sequencia que focam na ordem cronológica, focam no relacionamento dos objetos e em sua compreensão. São ligados por associações  (veja: Tipos de Relacionamento) cada associação representa uma mensagem e são marcadas com números para vermos sua sequencia.

O diagrama de colaboração é semelhante ao de sequencia, ambos mostram a colaboração dinâmica entre os objetos. Não precisamos usar os dois diagramas, algumas dicas que poderão ajudar a identificar qual usar:

  • Se a necessidade for usar um diagrama para mostrar uma sequencia cronológica utilize o diagrama de sequencia;
  • Se a necessidade for mostrar o contexto prefira o diagrama de colaboração;
  • Prefira os diagramas de sequencia para cenários complexos;
  • Utilize o diagrama de colaboração para cenários mais simples.

Exemplo de um diagrama de Colaboração:

Vimos aqui que os diagramas de sequencia  e colaboração formam o diagrama de interação, eles representam a dinâmica de um sistema.
Os objetos colaboram entre si a partir da interação existente entre os atores e o sistema. A partir de eventos gerados teremos as operações, podemos dizer que os eventos são estímulos gerados e as operações as respostas à estes estímulos.

Características dos diagramas de interação

  • Representam a dinâmica de um sistema;
  • Representam as colaborações e comportamentos entre os objetos;
  • Simplicidade, pois as mensagem podem ser “lidas” ao observar os diagramas;
  • Representam a “ordem” que as coisas acontecem;
  • Possui dois diagramas para representar as interações;
  • Podemos ver os passos gerados para cada cenário;
  • As operações de cada sistema e sua importância;

Como fazer

  1. Defina o caso de uso que deseja representar;
  2. Define quais serão os comportamentos que você irá representar;
  3. Crie notas para deixar a descrição de seus diagramas mais informativas;
  4. Defina seus relacionamentos;
  5. Defina a ordem em que acontecem os eventos;

 


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Objeto (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5,00 de 5)
Loading ... Loading ...
28 de maio de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

O diagrama de objetos é uma variação do diagrama de classes. A diferença é que neste diagrama você pode colocar os nomes reais aos seus objetos. O diagrama de objetos não é  tão importante quanto o de classes,  mas ele vai ajudar a exemplificar um diagrama de classes muito complexo.

Por exemplo, uma pessoa física que se chama Marcelo, você pode definir um objeto “Marcelo” e representar ele aqui.

Tecnicamente podemos dizer que o diagrama de objetos representa uma instância da classe.

Os diagramas de objetos têm seu nome sublinhado e todos os seus relacionamentos são mostrados. Seus nomes vêm separados das classes que ele representa por “:”  (dois pontos).

Ex: Marcelo:Pessoa


Os diagramas de objetos são importantes para visualizar, especificar e documentar os modelos estruturais, assim como aspectos dentro de um sistema.

Exemplo de um diagrama:

Como fazer:

  1. Escolha o cenário que deseja representar (casos de uso);
  2. Identifique as classes (diagrama de classes);
  3. Defina os relacionamentos entre os objetos (tipos de relacionamento);
  4. Defina os nomes e  valores para os atributos de seu objeto;

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Classe (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5,00 de 5)
Loading ... Loading ...
25 de maio de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

O diagrama de classes representa a estrutura dos objetos que irão compor o sistema, as classes podem se relacionar de várias maneiras entre elas. (leia Tipos de Relacionamentos para se familiarizar com os tipos).

Ao meu ver, este diagrama é um dos mais utilizados para a modelagem orientada a objetos.

Tipos de classes

  • Conceitual:
    • Usada para a análise dos objetos;
  • Persistência:
    • Comumente usada para representar as tabelas de uma base de dados, mas pode ser usada para representar qualquer objeto que precise ser serializado;
  • Controle:
    • São nossas camadas, utilitários, componentes;
  • Limite:
    • Representam a fronteira entre o sistema e o usuário. São nossas “telas” ou “Interfaces de Usuário”;
  • Interface/ Abstração:
    • Definem padrões;
    • Servem para agrupar objetos comuns;
  • Concretas:
    • São as classes finais da hierarquia e as mais  serão utilizadas dentro do nosso sistema;

Leia Abstração e Interface para um melhor entendimento.

Conhecendo as partes de uma classe

Uma classe é dividida  partes, veja:

Classe de um objeto Pessoa
Classe de uma tabela Pessoa

Dependendo da ferramenta que você estiver utilizando, a mesma pode gerar para você o código para cada tipo de classe que você tenha criado.

Veja aqui o código gerado pelo Enterprise Architect.

Para o objeto:

namespace Classes {
	public class Pessoa {

		private CPF mCPF;
		private string mNome;

		public Pessoa(){

		}

		~Pessoa(){

		}

		public virtual void Dispose(){

		}

		public CPF CPF{
			get{
				return mCPF;
			}
			set{
				mCPF = value;
			}
		}

		public bool Excluir(){

			return false;
		}

		public string Nome{
			get{
				return mNome;
			}
			set{
				mNome = value;
			}
		}

		public bool Salvar(){

			return false;
		}

	}//end Pessoa

}//end namespace Classes

Para a tabela:

CREATE TABLE Pessoa (
	ID bigint NOT NULL,
	Nome varchar(200) NOT NULL,
	CPF char(11) NOT NULL
)
;

ALTER TABLE Pessoa ADD CONSTRAINT PK_Pessoa
	PRIMARY KEY CLUSTERED (ID)
;

5 passos para fazer um bom diagrama de classe

  1. Analisar os cenários e o ambiente do usuário, casos de uso, neste momento deverá ser feito uma lista de classes que irão compor o sistema;
  2. Estabelecer os relacionamentos entre as classes;
  3. Definir os atributos, propriedades, métodos e eventos que irão compor suas classes;
  4. Documente cada classe, propriedades, métodos e eventos com uma documentação descritiva rica em detalhes;
  5. Após a análise, separe as classes de objeto, de interfaces,  de tabelas;

Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s

Diagrama de Caso de Uso (UML)

1
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votação.)
Loading ... Loading ...
12 de maio de 2011

Para um melhor entendimento deste Artigo veja o Índice (UML)

Use Case

O Diagrama de Caso de Uso descreve a funcionalidade proposta para um novo sistema, que será projetado.
Segundo Ivar Jacobson, podemos dizer que um Caso de Uso é um “documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo”.

Caso de uso é representado por uma elipse, com o nome do caso de uso dentro ou abaixo.
Se há limites do sistema no diagrama, o caso de uso deve ficar dentro.

Os casos de Uso são tipicamente relacionados a “atores”. (Iremos ver a definição de “ator” abaixo.)

Imaginem o caso de uso como um palco de teatro, onde vocês têm o cenário e seus atores, cada um executando uma ação com o cenário a sua volta.
O palco (limite) seria a parte do sistema em que o cenário se encaixa.

Use os casos de uso para descrever o sistema e como ele executa a ação, utilize uma linguagem simples e objetiva.

Algumas regras para fazer um bom caso de uso:

  • Um caso de uso sempre se inicia por um “Ator”.
  • Um caso de uso deve oferecer possíveis situações do mundo real para testes do sistema.
  • Um caso de uso deve ser completo.
  • Um caso de uso deve ser uma descrição completa do sistema, o mesmo não estará completo até que o valor final seja produzido.

Para identificar os casos de uso devemos fazer algumas perguntas:

  • O ator precisa ler, modificar, alterar alguma informação no sistema?
  • O trabalho do ator pode ser facilitado, simplificado com o uso de mais funções no sistema?
  • O ator tem que receber ou enviar notificações ao sistema?
  • Quais as funções que o ator precisa do sistema?
  • O que o ator precisa fazer?
  • Quais os problemas com a implantação atual?

Ator

Especifica um papel executado que interage com o cenário (caso de uso).

Um ator deve ter associações exclusivamente para casos de uso.
A exceção é um ator que possa herdar o papel de outro.

Um ator é representado por um boneco (stick man).

Um ator pode ser um usuário, um humano, uma máquina,hardware, uma aplicação. Um ator deve representar uma interação com o sistema.

Para identificar um ator de um sistema podemos fazer as seguintes perguntas:

  • Quem está interessado na exigência?
  • O sistema usa um recurso externo?
  • Quem fornecer a informação irá usar e modificar, ou às removerá?
  • Uma pessoa representa um papel?
  • O sistema interage com um sistema legado?

Interação em caso de uso

O ator comunica-se com o sistema através do envio e recebimento de mensagens.

Um ator comunica-se com o caso de uso, esta comunicação e mostrada conectando-se o símbolo do ator ao símbolo do caso de uso por um caminho sólido.

Tipos de relacionamento

  • Uso <<use>>

Quando os casos de uso têm um comportamento comum eles podem ser modelados em um simples caso de uso que é utilizado por outro caso de uso. Ocorre quando há uma parcela de comportamento similar sugerindo um reutilização.

  • Inclusão <<include>>

No relacionamento de inclusão, o cenário mais comum é quando existem dois casos de uso que serão utilizados em um caso de uso base, para que outros casos de uso utilizem estes serviços.

Desta forma evita-se descrever a mesma seqüência em casos de uso que usam outros casos de uso.

  • Extensão <<extend>>

Extensões são usadas para mostrar um comportamento semelhante, mas com alguma particularidade. (Especialização e Generalização).

Como fazer um bom caso de uso

Eu tenho uma receita que costumo seguir para montar os meus casos de uso.
Vou passá-la a vocês, mas com o tempo vocês irão melhorar a receita ou adequar às suas necessidades.

Passo 1: Identificação dos atores

    • Listar os atores;
    • Nomear os atores, dê nomes reais “Sr. João” , “Impressora HH900″, “CGQ”;
    • Descrever o papel de cada ator;

Passo 2: Identificação dos Cenários (Casos de Uso)

    • Listar os casos de uso;
    • Nomear os casos de uso (verbos);
    • Descrever os casos de uso;

Passo 3: Definir as interações (Atores x Casos de Uso)

    • Descrever as interações;
    • Analisar os estereótipos dos relacionamentos
      <<include>>, <<use>>, <<extend>>)

Passo 4: Montar  o diagrama

    • Desenhe o diagrama;
    • Descreva o diagrama;

Passo 5: Estabelecer as ligações

    • Agrupe pelo tipo de cenário;

Conclusão

Eu considero os casos de uso o principal diagrama para um bom desenvolvimento e documentação de um sistema.

Devemos detalhar todos os casos de uso, sem economizar nas descrições, estas devem ser em uma linguagem simples e objetiva para que o cliente e o desenvolvedor possam falar o mesmo idioma, pois o seu cliente pode não entender os termos técnicos que você usa, assim como você pode não entender os termos que ele usa.


Ver Índice

É isso ai pessoal :)
Até o próximo
♦ Marcelo

About Marcelo

Nascido em Juruaia/MG em uma fazenda de criação de búfalos. Está perdido em São Paulo trabalhando com desenvolvimento de aplicações desde os 17 anos. Atualmente é arquiteto de software, é um cara meia boca que fica entre a equipe de desenvolvimento e o gerente de projetos, no meio da ponte. Para saber mais ... http://desenvolvedores.net/marcelo []'s
Page 1 of 212»