A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Msc. Emerson Silas Dória1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Introdução.

Apresentações semelhantes


Apresentação em tema: "Prof. Msc. Emerson Silas Dória1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Introdução."— Transcrição da apresentação:

1 Prof. Msc. Emerson Silas Dória1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Introdução

2 Prof. Msc. Emerson Silas Dória2 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas em APOO para a criação de sistemas de software bem projetados, robustos e modificáveis. LPOO são um primeiro passo necessário, mas insuficiente Outros recursos importantes processo de desenvolvimento padrões UML Práticas através de estudo de caso detalhado

3 Prof. Msc. Emerson Silas Dória3 Atribuindo Responsabilidades Saber a maneira adequada de atribuir responsabilidades a componentes de software é a habilidade mais importante na APOO Mais difícil de dominar Afeta com mais profundidade a robustez, modificabilidade e reusabilidade do sistema

4 Prof. Msc. Emerson Silas Dória4 Atribuindo Responsabilidades Padrões descrevem princípios fundamentais para auxiliar na atribuição de responsabilidades, ex: GRASP Saber identificar objetos ou abstrações adequados é a segunda habilidade mais importante

5 Prof. Msc. Emerson Silas Dória5 O que são Análise e Projeto? Análise — “o quê” investigação do problema e dos requisitos Projeto — “como” descrição de uma solução lógica Quais os processos de negócio relacionados com o seu uso? Como exatamente o software irá capturar e registrar informações?

6 Prof. Msc. Emerson Silas Dória6 Termos “Análise” e “Projeto” não são fixos, mas usados ao longo de um contínuo Significados variam de metodologia para metodologia Distinção é útil na prática, mas debater definições rígidas não é construtivo Conflito de Terminologias Mais orientado a análise Mais orientado a projeto

7 Prof. Msc. Emerson Silas Dória7 O que é APOO? A essência da APOO é enfatizar a consideração de um domínio de problema e uma solução lógica, segundo a perspectiva de objetos (coisas, conceitos e entidades) O que é Análise OO? Ênfase na descoberta e na descrição dos objetos. O que é Projeto OO? Ênfase na definição de elementos lógicos de software.

8 Prof. Msc. Emerson Silas Dória8 Representação de um conceito na APOO Conceito de domínio public class Livro { public void imprimir(); private String titulo; } Representação no código Exemplo: O conceito “Livro” em um sistema de biblioteca. Livro título Representação na análise Livro título Representação no projeto imprimir()

9 Prof. Msc. Emerson Silas Dória9 Uma analogia — Organizando os negócios de uma empresa Documentos Associados APOO Analogia de Negócio Casos de usoAnálise de requisitosQuais são os processos de negócio? Modelo conceitualAnálise do domínioQuais são os papeis dos empregados? Diagramas de classes de projeto, diagramas de colaboração Atribuição de responsabilidades, projeto das interações Quem é responsável por o quê? Como eles interagem?

10 Prof. Msc. Emerson Silas Dória10 Objetivo: ganha o jogo o jogador que rolar dois dados e tirar sete Processo de Software OO Jogo de Dados Exemplo Definir Casos de Uso Definir Modelo Conceitual Definir Diagramas de Interação Definir Diagramas Classes de Projeto

11 Prof. Msc. Emerson Silas Dória11 Casos de Uso Descrições narrativas de processos do domínio no formato de prosa estruturada Jogo de Dados Exemplo continuação... Caso de uso: Atores: Descrição: Jogar Jogador Este caso de uso começa quando o jogador rola os dados. Se o total dos dados for sete, o jogador ganha; do contrário, ele perde.

12 Prof. Emerson Silas Dória - FIPP12 Modelo Conceitual Conceitos, atributos, e associações que são considerados importantes no domínio do problema Jogador Nome JogoDeDados Dado ValorDaFace lança joga inclui Jogo de Dados Exemplo continuação...

13 Prof. Msc. Emerson Silas Dória13 Modelo Conceitual Um modelo conceitual descreve conceitos do mundo real, não componentes de software! Jogo de Dados Exemplo continuação...

14 Prof. Msc. Emerson Silas Dória14 Diagramas de Interação Diagrama de Colaboração Alocação de responsabilidades para objetos e ilustração de como eles interagem via mensagens Mostram o fluxo de mensagens entre instâncias e a invocação de métodos :Jogadord1 : Dado Jogar( ) 1: r1 := Lançar( ) 2: r2 := Lançar( ) d2 : Dado Jogo de Dados Exemplo continuação...

15 Prof. Msc. Emerson Silas Dória15 Diagramas de Interação Diagrama de Seqüência :JogoDeDad os d2:Dadod1:Dado Lançar( ) vf1:=ObterValorDaFace( ) Lançar( ) vf2:=ObterValorDaFace( ) Jogar() Jogo de Dados Exemplo continuação...

16 Prof. Msc. Emerson Silas Dória16 Diagramas de Classes de Projeto Como os objetos (de software) se conectam? Quais são os métodos de uma classe? 2 Jogador Nome Jogar( ) Dado Valordaface:int Lançar( ) 1 Versão 1 JogoDeDados Inicializar( ) 1 2 Jogo de Dados Exemplo continuação...

17 Prof. Msc. Emerson Silas Dória17 Diagramas de Classes de Projeto Como os objetos (de software) se conectam? Quais são os métodos de uma classe? Jogo de Dados Exemplo continuação... 2 JogoDeDados d1,d2:Dado Jogar( ) Dado Valordaface:int Lançar( ) ObterValorDaFace():int 1 Versão 2

18 Prof. Msc. Emerson Silas Dória18 APOO X APE Sistema de Biblioteca Sistema A&P Orientados a Objeto decomposição por objetos ou conceitos A&P Estruturados decomposição por funções ou processos Registra Empréstimos Adiciona Recursos Reporta Multas Catálogo Livro Bibliotecário Biblioteca Metodologias mais antigas, como Análise e Projeto Estruturados, baseiam-se em outras dimensões de decomposição

19 Prof. Msc. Emerson Silas Dória19 A UML é a linguagem padrão de diagramação para visualizar os resultados da análise e projeto A notação (a própria UML) é relativamente trivial Muito mais importante: habilidade para modelar com objetos Só aprender a notação UML não ajuda A UML não é um processo ou metodologia APOO regras de projeto A Linguagem de Modelagem Unificada

20 Prof. Msc. Emerson Silas Dória20 Origem e Evolução da UML Unified Method 0.8 Unificação I (Out’95) Booch’93 OMT-2 Outros métodos Booch’91 OMT-1 OOSE Fragmentação UML 1.0 Parceiros da UML Padronização (Jan’97) UML 1.1 Industrialização (Set’97) UML 0.9 & 0.91 Unificação II (Out’96)

21 Prof. Msc. Emerson Silas Dória21 Processo de Desenvolvimento Um processo de desenvolvimento de software é um método para organizar as atividades relacionadas à criação, entrega e manutenção de sistemas de software. A habilidade de saber como criar um bom projeto é mais importante do que seguir um método ou processo oficial.

22 Prof. Msc. Emerson Silas Dória22 Processo de Desenvolvimento Essa habilidade é adquirida dominando-se um conjunto de princípios e heurísticas para identificar e abstrair um conjunto relevante de objetos e atribuir responsabilidade a eles. Em essência, a descrição de um processo inclui atividades que vão da análise dos requisitos até a instalação. O material apresentado (e a disciplina) não vão tratar de atividades tais como: concepção, planejamento, gerenciamento, documentação e teste.

23 Prof. Msc. Emerson Silas Dória23 Processo de Desenvolvimento UML padroniza artefatos e notação, mas não define um processo-padrão, razões: Aumentar a probabilidade de aceitação ampla de uma notação de modelagem padronizada; Variação significativa naquilo que constitui um processo apropriado;

24 Prof. Msc. Emerson Silas Dória24 Processo Iterativo Simplificado Planejar e Elaborar: planejamento, definição de requisitos, protótipo, etc; Construir: a construção do sistema; Instalar: a colocação em uso do sistema; planejar elaborar construir instalar

25 Prof. Msc. Emerson Silas Dória25 Desenvolvimento Iterativo Um ciclo de vida iterativo envolve a repetição de vários ciclos de planejamento, elaboração, construção e instalação. O sistema cresce pela adição de novas funções (e refinamento das existentes) em cada ciclo iterativo. Cada ciclo ataca um pequeno conjunto de requisitos.

26 Prof. Msc. Emerson Silas Dória26 Desenvolvimento Iterativo Ciclo de Desenv. 1 Sinc. Artefatos AnáliseProjeto Teste Refin. Plano Impl. Ciclo de Desenv Construção Plan. & Elaboração Implantação

27 Prof. Msc. Emerson Silas Dória27 Casos de Uso e CVIs Um caso de uso é uma descrição textual (narrativa) de um processo do domínio. Exemplo: “Emprestar um livro da biblioteca” Os ciclos de desenvolvimento iterativos são organizados com base nos requisitos de um conjunto de casos de uso. Os casos de uso devem ser classificados e os mais importantes devem ser atacados nos CVIs iniciais, bem como requisitos não funcionais.

28 Prof. Msc. Emerson Silas Dória28 CVIs baseados em Casos de Uso Ciclo de Desenvolvi- mento 1 Caso de uso A Versão Simplificada --- Ciclo de Desenvolvi- mento 2 Caso de uso A Versão Completa --- Ciclo de Desenvolvi- mento 3 Caso de uso B Caso de uso C...

29 Prof. Msc. Emerson Silas Dória29 Planejar e Elaborar Definir plano inicial Criar Relatório de Investigação Preliminar Definir Requisitos Registrar termos no glossário (a) Implementar protótipo (b,d) Definir casos de uso(alto nível e essenciais) Definir modelo conceitual inicial Definir a arquitetura inicial do sistema(a,c,d) Refinar o plano a:permanente b:opcional c: pode atrasar d: qq ordem

30 Prof. Msc. Emerson Silas Dória30 Análise Definir os casos de uso essenciais (se ainda não foi feito) Refinar os diagramas de casos de uso Refinar o modelo conceitual Refinar o glossário (permanente) Refinar os Diagramas de Seqüência do Sistema Definir os contratos de operação Definir os diagramas de estado (opcional)

31 Prof. Msc. Emerson Silas Dória31 Projeto Definir casos de uso reais Definir Relatórios, Interface e Storyboards Refinar a arquitetura do sistema (qq ordem) Definir diagramas de interação Definir diagramas de classe do projeto (em paralelo com diagramas de interação) Definir esquema da base de dados

32 Prof. Msc. Emerson Silas Dória32 Casos de Uso e CVIs Na fase de planejamento e elaboração, criar todos os casos de uso de alto nível, mas refinar apenas os mais críticos e importantes, deixando os demais para outros CVIs.

33 Prof. Msc. Emerson Silas Dória33 Definição de Modelos e Artefatos O mundo real é complexo e cheio de detalhes, por isso ele deve ser decomposto em partes, chamadas de modelos, que descrevem e abstraem aspectos essenciais dos sistemas. Modelos são compostos de outros modelos, que são chamados de artefatos - diagramas e documentos – e são visualizados em visões. Os modelos podem enfatizar aspectos dinâmicos e estáticos do sistema.

34 Prof. Msc. Emerson Silas Dória34 Definição de Modelos e Artefatos Modelo de Análise: modelos relacionados a uma investigação do domínio e do espaço do problema, mas não à solução. Modelo de Projeto: modelos relacionados à solução lógica.


Carregar ppt "Prof. Msc. Emerson Silas Dória1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Introdução."

Apresentações semelhantes


Anúncios Google