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

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

© Nabor C. Mendonça 2001 1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo.

Apresentações semelhantes


Apresentação em tema: "© Nabor C. Mendonça 2001 1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo."— Transcrição da apresentação:

1 © Nabor C. Mendonça Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo

2 © Nabor C. Mendonça Aplicando UML, Padrões e APOO n Objetivo – Desenvolver habilidades práticas na utilização da TO para a criação de sistemas de software bem projetados, robustos, e modificáveis n Linguagens OO são um primeiro passo necessário mas insuficiente n Outros recursos importantes – processo de desenvolvimento – padrões – UML n Ilustrados na prática através de um estudo de caso detalhado

3 © Nabor C. Mendonça Atribuindo Responsabilidades n 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 n Padrões GRASP descrevem princípios fundamentais para auxiliar na atribuição de responsabilidades n Saber identificar objetos ou abstrações adequados é a segunda habilidade mais importante

4 © Nabor C. Mendonça O que é Análise e Projeto? Análise o quê Investigação do problema e dos requisitos Requisitos Casos de uso Restrições Vocabulário Projeto como Descrição de uma solução lógica Objetos Arquitetura Instalação & Operação Interface do usuário

5 © Nabor C. Mendonça n Termos Análise e Projeto não são fixos, mas usados ao longo de um contínuo n Significados variam de metodologia para metodologia n 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

6 © Nabor C. Mendonça O que é APOO? n Na essência, considerar um problema e uma solução dentro da perspectiva de objetos, coisas ou conceitos n O que é AOO? – Investigação dos objetos de domínio e seus relacionamentos Descritos no Modelo de Objetos de Domínio n O que é POO? – Elaboração de uma solução lógica em termos de componentes de software e suas colaborações e responsabilidades Descritos em Diagramas de Classes e Diagramas de Interação

7 © Nabor C. Mendonça 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 n Ex.: O conceito Livro em um sistema de biblioteca Livro título Representação na análise Livro título Representação no projeto imprimir()

8 © Nabor C. Mendonça Uma Analogia Organizando os Negócios de uma Empresa Documentos Associados APOOAnalogia 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?

9 © Nabor C. Mendonça n Objetivo: ganha o jogo o jogador que rolar dois dados e tirar sete n Modelagem na APOO – Casos de uso Descrições narrativas de processos do domínio no formato de prosa estruturada Ex.: Um Exemplo Jogo de Dados 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.

10 © Nabor C. Mendonça n Modelagem na APOO (cont.) – Modelo conceitual Conceitos, atributos, e associações que são considerados importantes no domínio da aplicação Ex.: – Um modelo conceitual descreve conceitos do mundo real, não componentes de software! Um Exemplo Jogo de Dados Jogador nome JogoDeDados Dado valor Rola Joga Inclui

11 © Nabor C. Mendonça Um Exemplo Jogo de Dados n Modelagem na APOO (cont.) – Diagramas de colaboração Alocação de responsabilidades para objetos ilustrando como eles interagem via mensagens Mostram o fluxo de mensagens entre instâncias e a invocação de métodos Ex.: :Jogador d1 : Dado d2 : Dado joga() 1: r1 := rola() 2: r2 := rola()

12 © Nabor C. Mendonça n Modelagem na APOO (cont.) – Diagramas de classes de projeto Como os objetos (de software) se conectam? Quais são os métodos de uma classe? Ex.: Rola Joga Inclui 2 2 Jogador nome joga() Dado valor rola() JogoDeDados inicializa() Um Exemplo Jogo de Dados

13 © Nabor C. Mendonça 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 n Metodologias mais antigas, como Análise e Projeto Estruturados, baseiam-se em outras dimensões de decomposição

14 © Nabor C. Mendonça n A UML é a linguagem padrão de diagramação para visualizar os resultados da análise e projeto n A notação (a própria UML) é relativamente trivial n Muito mais importante: habilidade para modelar com objetos – Só aprender a notação UML não ajuda n A UML não é – um processo ou metodologia – APOO – regras de projeto A Linguagem de Modelagem Unificada UML

15 © Nabor C. Mendonça Origem e Evolução da UML Unified Method 0.8 Unificação I (Out95) Booch93 OMT-2 Outros métodos Booch91 OMT-1 OOSE Fragmentação UML 1.0 Parceiros da UML Padronização (Jan97) UML 1.1 Industrialização (Set97) UML 0.9 & 0.91 Unificação II (Out96)

16 © Nabor C. Mendonça Processo de Desenvolvimento n Organização das atividades relacionas à produção e manutenção de sistemas de software n Útil, mas um fator de segunda ordem – O principal: equipe qualificada n Boa equipe + bom processo = menor risco n O processo racional unificado (RUP), baseado no modelo iterativo, é o processo padrão na indústria

17 © Nabor C. Mendonça n Simplificação do processo iterativo unificado n Fácil extensão e customização n Não inclui atividades importantes como – Verificação & validação – Divisão do trabalho – Gerência de projeto – Documentação Um Processo Iterativo Simplificado Construção Plan. & Elaboração Implantação

18 © Nabor C. Mendonça Fases n Planejamento e Elaboração – Concepção inicial, investigação de alternativas, definição de requisitos, etc. n Construção – Construção do sistema através de múltiplos ciclos de análise, projeto, implementação e teste n Implantação – Instalação e operação do sistema

19 © Nabor C. Mendonça Modelos e Artefatos n Um modelo descreve e abstrai aspectos essenciais de um sistema – Modelo estático (estrutura) – Modelo dinâmico (comportamento) n Modelos são compostos por artefatos diagramas e documentos que descrevem os elementos do modelo n Na APOO, a UML é usada para descrever e visualizar os modelos e artefatos produzidos em cada fase do processo de desenvolvimento

20 © Nabor C. Mendonça Fase de Planejamento e Elaboração 2. Criar Rel. Prel. de Investigação 3. Definir Requisitos 9. Refinar Plano 7. Definir Mod. Conc. Inicial c 4. Reg. Termos no Glossário a 6. Definir Casos de Uso 1. Definir Plano Inicial 5. Implementar Protótipo b, d a. contínua b. opcional c. adiável d. ordem variada 8. Definir Arquit. Inicial a, c, d Notas Construção Plan. & Elaboração Implantação

21 © Nabor C. Mendonça Fase de Planejamento e Elaboração n Atividades: 1. Definir plano inicial Prazos, recursos, orçamento 2. Criar relatório preliminar de investigação Motivação, alternativas, necessidades de negócio 3. Definir requisitos Especificação declarativa dos requisitos 4. Registrar termos no glossário Dicionário de termos, regras, restrições 5. Implementar protótipo Protótipo do sistema para ajudar na definição dos requisitos

22 © Nabor C. Mendonça Fase de Planejamento e Elaboração n Atividades: 6. Definir casos de uso Descrição em prosa estruturada dos processos de negócio 7. Definir modelo conceitual inicial Objetos de domínio e seus relacionamentos 8. Definir arquitetura inicial Principais subsistemas e suas dependências 9. Refinar plano n Atividades não lineares – Ex.: 7, 4, 6 em paralelo

23 © Nabor C. Mendonça Fase de Construção Ciclo de Desenv. 1 Sinc. Artefatos AnáliseProjetoTeste Refin. Plano Impl. Ciclo de Desenv Construção Plan. & Elaboração Implantação

24 © Nabor C. Mendonça Fase de Construção n Repetição de ciclos de desenvolvimento – Construção progressiva do sistema até atingir uma versão que satisfaça corretamente os requisitos n Atividades típicas de cada ciclo: 1. Refinar plano 2. Sincronizar artefatos 3. Análise 4. Projeto 5. Implementação 6. Teste

25 © Nabor C. Mendonça Ciclos de Desenvolvimento n Cada ciclo implementa um conjunto reduzido de requisitos, adicionando novas funções ao sistema – Crescimento incremental, através de expansões e refinamentos sucessivos n Ciclos com tempo fixo de duas a oito semanas n Vantagens: – Evita complexidade excessiva – Antecipa feedback dos usuários

26 © Nabor C. Mendonça Ciclos de Desenvolvimento e Casos de Uso n Um ciclo deve atacar um ou mais casos de uso, ou versões simplificadas de casos de uso n Casos de uso mais relevantes devem ser atacados nos primeiros ciclos – Prioridade para serviços com grande influência na arquitetura do sistema ou de alto risco Ciclo de Desenv. 1 Caso de uso A Versão Simplificada Ciclo de Desenv. 2 Caso de uso A Versão Completa Ciclo de Desenv. 3 Caso de uso B Caso de uso C

27 © Nabor C. Mendonça Análise a. se ainda não feito b. contínuo c. opcional 2. Refinar Diag. Casos de Uso 3. Refinar Modelo Conceitual 4. Refinar Glossário b 6. Definir Contrat. de Operação 1. Definir Casos de Uso Essenciais a 5. Definir Diag. Seq. 7. Definir Diag. Estado c Notas... Ciclo de Desenv. 1 Sinc. Artefatos AnáliseProjetoTeste Refin. Plano Impl. Ciclo de Desenv. 2

28 © Nabor C. Mendonça Análise n Subatividades: 1. Definir casos de uso essenciais 2. Refinar diagramas de casos de uso 3. Refinar modelo conceitual 4. Refinar glossário 5. Definir diagramas de seqüência do sistema 6. Definir contratos de operação 7. Definir diagramas de estado

29 © Nabor C. Mendonça Projeto 2. Definir Rel. & IU 4. Definir Diag. Interação 5. Definir Diag. Classes a 6. Definir Esquema do BD 1. Definir Casos de Uso Reais 3. Refinar Arquitetura b Notas a. em paralelo com diag. interação b. ordem variada... Ciclo de Desenv. 1 Sinc. Artefatos AnáliseProjetoTeste Refin. Plano Impl. Ciclo de Desenv. 2

30 © Nabor C. Mendonça Projeto n Subatividades: 1. Definir casos de uso reais 2. Definir relatórios e interfaces com o usuário 3. Refinar arquitetura do sistema 4. Definir diagramas de interação 5. Definir diagramas de classes de projeto 6. Definir esquema do banco de dados


Carregar ppt "© Nabor C. Mendonça 2001 1 Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo."

Apresentações semelhantes


Anúncios Google