IF718 Análise e Projeto de Sistemas Augusto Sampaio - acas Vitor Braga - vtb (Estágio docência) Diogo Peixoto - dcp (Monitor) 2011.2 Parte do material.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Advertisements

Engenharia de Software
UML no CICLO de DESENVOLVIMENTO
O Processo Praxis 3.0 Processos de Software 25/03/2017
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
(Unified Modeling Language)
Engenharia de Software
Rational Unified Process(RUP)
Engenharia de Software Professor Sandro de Paiva Carvalho.
FACULDADE DOS GUARARAPES
Metodologia de Desenvolvimento de Software
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Análise e Projeto de Sistemas
Introdução Visão Geral do Método.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Projetar Serviços Vítor Braga –
RUPinho Qualidade de Software
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Arquitetura Orientado a Serviços
Analisar Serviços Vítor Braga – Objetivos da aula Apresentar os passos necessários para realizar a atividade analisar Serviços Discutir.
Visão Geral PRO.NET.
Visão Geral do RUP.
Fundamentos de Engenharia de SW
Processos de Desenvolvimento de Software – Parte 2
Análise e Projeto de Sistemas
Análise e Desenvolvimento de Software
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.
Análise e Projeto Orientados a Objetos
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Padrão- MVC Model, View, Controller
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
Padrões de Interação com o Usuário
Processos de Software.
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Desenvolvimento de Software Dirigido a Modelos
Gestão de projetos de Software GTI-16
UML e a Ferramenta Astah
CIn-UFPE1 © 2003, Alexandre Vasconcelos Visão Geral do RUP.
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
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.
Copyright © 2006 Qualiti. Todos os direitos reservados. Projetar Classes.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
Análise e Projeto OO com UML e Padrões
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Processo de Desenvolvimento de Software Dirigida a Modelos e Orientada a Serviços (SOA/MDE) Vítor Braga –
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/38 Análise e Projeto de Sistemas Introdução à Análise e ao Projeto de Software.
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.
PSDS com CMMI Nível 2 Dimitri de Almeida Malheiros Barbosa 27/03/2006.
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.
Apresentação Leonardo Brussolo de Paula
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
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.
CIn-UFPE1 Análise e Projeto de Sistemas Introdução ao Projeto de Software.
©2008, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/45 Análise e Projeto de Sistemas Augusto Sampaio Em co-autoria com.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
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:

IF718 Análise e Projeto de Sistemas Augusto Sampaio - acas Vitor Braga - vtb (Estágio docência) Diogo Peixoto - dcp (Monitor) Parte do material cedido pela Qualiti Software Processes

Motivação Análise,e Projeto OO com UML para Sistemas RT| 2

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Essência de Análise e Projeto: construção de modelos O que é um modelo? Por que construir modelos? Quantos modelos construir para: ­ capturar os elementos do problema ­ Representar diferentes níveis de abstração Em Engenharia de Software ­ O que é Desenvolvimento Baseado em Modelos? Análise,e Projeto OO com UML para Sistemas RT| 3

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados Sistema respiratório Outros modelos: Muscular, Nervoso, Circulatório, Digestivo, etc. Esqueleto Realidade Modelos (visões parciais) Representa Um modelo é uma visão parcial (representação) da realidade

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Multiplas visões: controle da complexidade Carpenter's view Mason's view Plumber's view Architect's view Landlord's view Renter's view Interior Designer's view Tax Collector's view Electrician's view Model repOf System

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Desenvolvimento baseado em modelos A principal motivação é aumentar a produtividade: ­ Reutilização ­ Independência de tecnologia ­ Automação Aumentar o nível de abstração ­ Foco no modelo, não no código “The model is the code” Processos são essenciais para sistematizar o desenvolvimento

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. O grande desafio...

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Vídeo: Modeling Through the AgesModeling Through the Ages

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Objetivos do curso Processo de Análise e Projeto no RUP Aspectos de modelagem de paradigmas recentes: ­ SOA (Software-Oriented Architecture) ­ MDD (Model-Driven Development) Técnicas de modelagem OO em UML Ênfase em Padrões de Projeto e Arquiteturais Consolidação dos conceitos em um exemplo construído incrementalmente Uso de ferramentas de modelagem Análise e Projeto OO com UML e Padrões| 9

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Conteúdo do curso A&P no RUP ­ Disciplina de A&P ­ Análise de caso de uso ­ Projetar arquitetura ­ Projetar casos de uso Considerando SOA e MDD ­ Modelo de negócio ­ Analisar serviços ­ Projetar serviços Análise e Projeto OO com UML e Padrões| 10 Projetar subsistemas (componentes) Projetar classes Projetar concorrrência e distribuição Projetar base de dados Aulas conceituais e prática em laboratório Exemplo único para ilustrar conceitos

Processos de software Análise,e Projeto OO com UML para Sistemas RT| 11

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Para ser uma atividade sistematizada, Análise e Projeto deve ser parte de um processo Processo: ­ O que é? ­ Representação? ­ Ciclo de vida? ­ Execução? ­ Modelos de processo Análise e Projeto OO com UML e Padrões| 12 Processo de software

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 13/45 Análise e Projeto no modelo Cascata Análise e Projeto

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 14/45 Análise e Projeto no modelo Espiral

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 15/45 Análise e Projeto no modelo iterativo do RUP Planejamento e Gerenciamento..... Fluxos de Suporte Gerência de Configuração Requisitos Análise e Projeto Implementação Testes Implantação Fluxos de Processo Iterações Fases Concepção ElaboraçãoConstrução Transição Inicial

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Análise e Projeto em SOA (Service Oriented Architecture) Especificação do modelo de negócios Analisar serviços Implementação Teste Avaliação Planejamento Inicial Planejamento Modelagem do Negócio Requisitos Projetar Serviços

Análise versus Projeto Análise,e Projeto OO com UML para Sistemas RT| 17

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 18/45 Análise versus Projeto Na Análise, investigamos o problema e descobrimos o QUE precisa estar no sistema Durante o Projeto: ­ detalhamos a Análise de modo a encontrar uma solução computacional que satisfaça os requisitos (não funcionais) do software ­ estruturamos COMO o sistema será implementado O projeto oferece uma ponte entre a Análise e a Implementação

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 19/45 Análise versus Projeto No conceito de MDD (Model Driven Development) da OMG (Object Management Group)... ­ Análise corresponde aos modelos independentes de plataforma (PIM – Platform Independent Model) ­ No projeto, os modelos podem estar vinculados a uma tecnologia particular (PSM – Platform Specific Model)

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 20/45 Análise versus Projeto Análise ­ Foco no problema ­ Comportamento (caixa preta, sem detalhes de implementação) ­ Estrutura geral da arquitetura do sistema ­ Requisitos funcionais ­ Modelo simples Projeto ­ Foco em uma solução ­ Operações e atributos ­ Representação próxima do código ­ Requisitos não-funcionais (exemplo: desempenho), além dos funcionais ­ Modelo complexo Fonte: Rational

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 21/45 Modelo de Análise e Projeto Pode ser um só artefato ­ evoluindo de uma visão abstrata (nas atividades de análise), para uma visão detalhada (nas atividades de projeto) Podem ser feitos dois artefatos ­ um modelo de análise ­ um modelo de projeto (inicia igual à última versão do modelo de análise e evolui independentemente) Documentação x esforço e disciplina de manutenção

Estratégias de decomposição Análise,e Projeto OO com UML para Sistemas RT| 22

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 23/45 Estratégias de Decomposição Funcional x Dados Decomposição Funcional ­ Decomposição do sistema em componentes funcionais ­ O estado do sistema é centralizado e compartilhado entre as funções ­ Experiência mostrou inadequação para estruturação de modelos de análise e projeto (as regras de negócio mudam constantemente) ­ Entretanto, útil para estruturar requisitos, planejar e gerenciar projetos, e realizar testes

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 24/45 Estratégias de Decomposição Funcional x Dados Decomposição Baseada em Dados ­ O sistema é visto como uma coleção de entidades que interagem (ou objetos, no paradigma OO) ­ O estado do sistema é descentralizado ­ Pode existir uma considerável sobreposição entre os modelos de análise e de projeto Na prática muitas porções do modelo de análise podem ser reusadas no projeto ­ Mostrou-se adequada como mecanismo de estruturação (estabilidade de dados com relação a funções) de modelos de análise, projeto e implementação

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 25/45 Estratégias de decomposição Projeto Top-down x Bottom-up

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 26/45 Projeto Top-down x Bottom-up Na prática, o projeto de grandes sistemas nunca é inteiramente top-down ­ Os projetistas reutilizam experiência (e componentes) ­ No processo, ocorre brainstorm nos dois sentidos

Atributos de qualidade de modelos de análise e projeto Análise,e Projeto OO com UML para Sistemas RT| 27

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 28/45 Atributos de Qualidade A qualidade é uma propriedade relativa a prioridades específicas da organização Características de qualidade são igualmente aplicáveis a projetos orientados a objeto ou à função Dois atributos importantes são coesão e acoplamento

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 29/45 O Atributo Coesão Medida da proximidade das partes (elementos) de um componente do sistema Um componente deve implementar uma única entidade lógica ou função (abstração) Importância ­ Quando uma mudança tiver que ser feita, ela será facilmente localizada ­ Reuso... Em Orientação a objetos, cada classe deve modelar uma única entidade

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 30/45 Medida da intensidade das interconexões entre componentes do sistema Importância ­ Baixo acoplamento implica que mudanças em um componente tendem a não afetar outros componentes ­ Reuso... O Atributo Acoplamento

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 31/45 Acoplamento Forte

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 32/45 Acoplamento Fraco

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 33/45 Sistemas orientados a objeto são, potencialmente, fracamente acoplados ­ Geralmente não compartilham estado ­ A comunicação é feita através de passagem de mensagens Entretanto... ­ uma classe está acoplada a sua superclasse (mudanças nos atributos ou operações se propagam a todas as subclasses) ­ Relacionamentos cíclicos (em particular, bidirecionais) também geram forte acoplamento Acoplamento em Orientação a Objetos

Padrões, anti-padrões e frameworks Análise,e Projeto OO com UML para Sistemas RT| 34

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. 35 Padrões de Projeto e Arquiteturais Projetistas experientes (re)utilizam soluções bem sucedidas no passado Padrões sistematizam soluções, incluindo Nome Problema Solução Conseqüência Exemplo,... Durante as duas última décadas, surgiu uma “comunidade” voltada a padrões

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Exemplo: Padrão Fachada 36 Fachada

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. 37 Anti-Padrões São uma maneira de documentar soluções recorrentes que não tiveram sucesso Podem também incluir soluções re-trabalhadas que sejam efetivas

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. 38 Frameworks Usualmente baseado em padrões, mas já voltados para uma linguagem de programação Especialização/instanciação ­ Hot spots ­ Herança

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. Análise e Projeto OO com UML e Padrões| 39 Relacionamento com outras disciplinas do processo de software Planejamento e Gerenciamento – planeja e acompanha todo o desenvolvimento Requisitos – entrada para a análise e projeto do sistema Implementação – o modelo de análise e projeto é entrada a implementação Gerência de Configuração e Ambiente – oferece suporte aos artefatos gerados (incluindo modelos)

Copyright © 2008 Qualiti. Todos os direitos reservados. Copyright © 2006 Qualiti. Todos os direitos reservados. CIn-UFPE 40/45 Planejamento do Curso Programa, cronograma, transparências, referências, avaliação, projetos e ferramentas: ­ ­ Mas só a partir de quinta-feira...