UML - Unified Modeling Language
1 pág.

UML - Unified Modeling Language


DisciplinaProgramação Orientada A Objetos2.812 materiais46.446 seguidores
Pré-visualização1 página
UMLUML

Rodrigo Leite Durães.
rodrigo_l_d@yahoo.com.br

O que é Análise de Software?
\uf06c UML:
 \u2013 É o estágio de um sistema que captura

os requisitos e o domínio do problema,
focalizando no que deve ser feito, não
como faze-lo.

Objetivos da Análise de
Software
\uf06c Análise de Software tem por objetivo analisar os requisitos

previamente levantados, realizando refinamento e estruturação
dos mesmos

_ Análise: decompor para obter entendimento
\uf06cO que se deseja?
\u2013 Entendimento mais preciso dos requisitos
\u2013 Descrição dos requisitos fácil de manter e que ajuda a estruturar

todo o sistema
_ incluindo arquitetura

Análise Orientada por Objetos
\uf06c Elementos básicos
\u2013 Objetos
\uf06c Entidades do domínio
\uf06c Outros itens importantes
\u2013 Classes
\uf06c Agrupamentos de objetos similares
\uf06c Atributos
\uf06c Métodos

Análise Orientada por Objetos
\u2013
Identificação das classesExemplo (Engenharia de Software, Fundamentos, Métodos e Padrões, 2a. Edição)
\uf06c 1. O caixeiro faz a abertura da venda
\uf06c 2. O caixeiro registra os itens vendidos, informando a identificação e

quantidade do item
\uf06c 3. O sistema totaliza a venda para o cliente da da mercearia
\uf06c 4. O caixeiro encerra a venda
\uf06c 5. O sistema emite o ticket de caixa para o cliente da mercearia
\uf06c 6. O caixeiro registra a forma de pagamento
\uf06c 7. O sistema faz a baixa no estoque das mercadorias vendidas

Análise Orientada por Objetos
\u2013
Identificação das classes Especificação das classes encontradas
\u2013 Definição clara e concisa
\u2013 Lista de responsabilidades (o que ela deve

fazer)
\u2013 Lista de colaborações (com que outras

classes ela interage)
\u2013 Regras ou restrições aplicáveis
\u2013 Possíveis exemplos.

Análise Orientada por Objetos
\u2013
Identificação das classes\uf06c Item de Venda, exemplo:\u2013 Descrição
\uf06c Informação relativa a um item de venda
\u2013 Responsabilidades
\uf06c Comandar baixa no estoque
\uf06c Calcular impostos
\uf06c Imprimir linha de ticket na nota fiscal
\u2013 Colaborações
\uf06c Venda, Mercadoria
\u2013 Regras e restrições
\uf06c Cada item de venda corresponde a uma linha do ticket de caixa e na nota fiscal
\uf06c Todo item de venda deve corresponder a uma mercadoria no estoque
\u2013 Exemplos
\uf06c Seis cervejas Rottenbeer em lata
\uf06c Duas caixas de pregos número 2

Análise Orientada por Objetos
\u2013
Revisão da Análise\uf06c Consiste em validar o modelo de análise.

Consiste em:
\u2013 Percorrer os casos de uso, verificando se

existem caminhos para realizar todas as
operações necessárias.

\u2013 Verificar, para cada campo de saída requerido
nas interfaces, se existe uma maneira de obter
esse campo através de alguma colaboração
entre as classes.

Análise de Software \u2013
Sumário
\uf06c Modelagem de análise:
\u2013 Produz especificação mais precisa dos requisitos.
\u2013 Descrita utilizando a linguagem dos desenvolvedores,

mais formalismo funcionamento interno do sistema.
\uf06c Estrutura os requisitos
\u2013 Facilita entendimento e manutenção.
\uf06c Primeiro esboço da modelagem de desenho
\u2013 Embora seja uma modelagem por si só

UML

\u2013 Estágio de um sistema que descreve
como ele será implementado, em nível
lógico superior ao do código.

O que é Desenho de
Software?
\uf06c Atenção a nomenclatura
\u2013 Tradução de Software design
\u2013 Alguns autores traduzem como projeto

de software
\uf06c Mas projeto é também a tradução de

software project

Objetivos do Desenho de
Software
\uf06c Adquirir um profundo entendimento das questões

relacionadas aos requisitos não-funcionais
\u2013 linguagens de programação, reuso de componentes,

sistemas operacionais, distribuição e concorrência,
bancos de dados, interface do usuário, transações, etc.

\uf06c Ponto de partida apropriado para a implementação
\u2013 subsistemas, interfaces e classes.
\uf06c Decompor o trabalho de implementação em diversas

partes gerenciáveis
\u2013 Nem sempre possível nos requisitos ou análise

Desenho de Software
\uf06c Capturar as principais interfaces entre subsistemas
\u2013 Útil para arquitetura e sincronismo do trabalho de

diferentes equipes.
\uf06c Estar apto a visualizar e elaborar sobre desenho

utilizando uma notação comum
\uf06c Criar abstração correta da implementação do sistema,
\u2013 implementação torna-se refinamento direto do desenho.
_ Resultado: modelagem de desenho

Desenho Orientado por
Objetos \u2013
Detalhamento dos casos de
uso
\uf06c Resolver detalhes dos fluxos dos

casos de uso de desenho,
considerando os componentes reais
das interfaces.

\uf06c Todos os fluxos alternativos devem ser
detalhados, inclusive os de erro ou
exceção.

Desenho Orientado por
Objetos \u2013
Desenho das Entidades\uf06c Transformar as classes de entidade da modelagem de análise nas correspondentes da modelagem de desenho.
\uf06c Inclui-se também:
\u2013 Consideração de reutilização dessas classes
\u2013 Consideração de transformação dessas classes em

componentes
\u2013 Decidir como serão representados os relacionamentos em

caso de multiplicidades um para muitos
\u2013 Todos os detalhes que eram irrelevantes na análise,
\uf06c Ex: visibilidade das classes, navegabilidade dos

relacionamentos.

Desenho Orientado por
Objetos \u2013
Desenho da Persistência\uf06c Definição de estruturas externas de armazenamento persistente
\uf06c Problemas a resolver:
\u2013 Definição física das estruturas persistentes externas
\uf06c Esquema de um banco de dados.
\uf06c Realização de ponte entre o modelo de desenho orientado a

objetos e paradigmas das estruturas de armazenamento
(relacionais, por exemplo).

\u2013 Ponte feita pela camada de persistência,
\uf06c Pode ser reaproveitada em outros sistemas se bem desenhada.
\uf06c Pode ser reaproveitada de outros sistemas com camadas bem

desenhadas.

Desenho Orientado por
Objetos \u2013
Realização dos casos de uso\uf06c Determina como os objetos das classes de

desenho colaborarão para realizar os casos de uso:
\u2013 As classes da camada de controle conterão o código que

amarra essas colaborações
\u2013 Diagramas de interação são usados para descrever as

colaborações.
\u2013 Classes utilitárias ajudam a abstrair aspectos comuns.
_ Diferente da realização da análise - serve para validar

muitas das decisões tomadas nas atividades anteriores.

Desenho Orientado por
Objetos \u2013
Desenho das Liberações\uf06c Determina como a construção do

produto será dividida em liberações
executáveis (releases). Divisão procura:

\u2013 Mitigar os maiores riscos
\u2013 Obter realimentação dos usuários a

intervalos razoáveis
\u2013 Dividir as unidades de implementação

entre as equipes de trabalho.

	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18