Análise e Projeto Orientados a Objeto com UML e Padrões

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientados a Objeto com UML e Padrões
Advertisements

UML no CICLO de DESENVOLVIMENTO
UML Modelando um sistema.
UML Visões – Parte 2.
O Processo Praxis 3.0 Processos de Software 25/03/2017
(Unified Modeling Language)
Diagrama de Classes.
Engenharia de Software
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Projeto de Sistemas de Software
Metodologia de Desenvolvimento de Software
Prof. Aruanda Simões - Análise e Projeto OO Processo de Desenvolvimento n As grandes fases: –Planejamento e elaboração –Construção –Implantação Sistema.
© Nabor C. Mendonça Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo.
Linguagem de Programação
Análise e Projeto de Sistemas
Introdução Visão Geral do Método.
Padrões para Atribuições de Responsabilidades
RUP: Fluxo de Análise e Projeto
Análise e Gerenciamento de Requisitos com Casos de Uso
Classes e objetos Modelagem
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
© Nabor C. Mendonça Análise e Projeto Orientados a Objeto com UML e Padrões Parte V Implementação (1)
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Fundamentos de Engenharia de SW
Projeto de Sistemas de Software
Análise e Projeto de Sistemas
Análise e Projeto de Sistemas
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
UML Modelagem e Programação Orientada a Objetos
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Análise e Projeto Orientados a Objeto com UML e Padrões
Fase de Concepção (Início, Planejamento)
PSBD II Projeto de Sistemas de Banco de Dados II
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Padrão- MVC Model, View, Controller
RUP - Cap. 4 – Processo Centrado na Arquitetura
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Utilizando UML e Padrões Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Março de 2010.
Utilizando UML e Padrões Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Março de 2010.
© Nabor C. Mendonça Análise e Design Orientados a Objeto com a metodologia (R)UP + UML.
UML e a Ferramenta Astah
Linguagem de Modelagem Unificada
Engenharia de Software e Sistemas
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Fase de Concepção (Início, Planejamento)
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Fase de Concepção (Início, Planejamento)
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Análise e Projeto de Sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Engenharia de Requisitos Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Agosto de 2012.
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
UML (Unified Modeling Language) A linguagem unificada de modelagem
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

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

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 Prof. Msc. Emerson Silas Dória

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 Prof. Msc. Emerson Silas Dória

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 Prof. Msc. Emerson Silas Dória

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? Prof. Msc. Emerson Silas Dória

Conflito de Terminologias 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 Mais orientado a análise Mais orientado a projeto Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória 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. Prof. Msc. Emerson Silas Dória

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

Uma analogia — Organizando os negócios de uma empresa Analogia de Negócio APOO Documentos Associados Quais são os processos de negócio? Análise de requisitos Casos de uso Quais são os papeis dos empregados? Análise do domínio Modelo conceitual 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? Prof. Msc. Emerson Silas Dória

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

Jogo de Dados Exemplo continuação... Casos de Uso Descrições narrativas de processos do domínio no formato de prosa estruturada 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. Prof. Msc. Emerson Silas Dória

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

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

Jogo de Dados Exemplo continuação... 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 :Jogador d1 : Dado Jogar( ) 1: r1 := Lançar( ) 2: r2 := Lançar( ) d2 : Dado Prof. Msc. Emerson Silas Dória

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

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

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

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

A Linguagem de Modelagem Unificada 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 Prof. Msc. Emerson Silas Dória

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

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. Prof. Msc. Emerson Silas Dória

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. Prof. Msc. Emerson Silas Dória

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; Prof. Msc. Emerson Silas Dória

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; instalar planejar construir elaborar Prof. Msc. Emerson Silas Dória

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. Prof. Msc. Emerson Silas Dória

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

Prof. Msc. Emerson Silas Dória 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. Prof. Msc. Emerson Silas Dória

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

Prof. Msc. Emerson Silas Dória Planejar e Elaborar a:permanente b:opcional c: pode atrasar d: qq ordem 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 Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória 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) Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória 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 Prof. Msc. Emerson Silas Dória

Prof. Msc. Emerson Silas Dória 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. Prof. Msc. Emerson Silas Dória

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. Prof. Msc. Emerson Silas Dória

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. Prof. Msc. Emerson Silas Dória