Marcelo Henrique dos Santos

Tamanho: px
Começar a partir da página:

Download "Marcelo Henrique dos Santos"

Transcrição

1 Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação marcelosantos@outlook.com REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos

2 AULA 03 Linha de Produto REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos

3 Introdução Um ponto crítico no projeto e na construção de todo o sistema de software é sua arquitetura: isto é, sua organização bruta como uma coleção de componentes de interação. Uma boa arquitetura pode permitir que um sistema satisfaça às exigências chaves em áreas como: o desempenho, a confiabilidade, a portabilidade, a escalabilidade, e a sua interoperabilidade. Uma arquitetura má pode ser desastrosa. 3

4 Introdução Apesar da existência de livros, artigos e ferramentas, a Arquitetura de Software todavia ainda está em uma fase pouco madura. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 4

5 A Crise de Software Dificuldades no Trabalho com Software Medidas pobres de eficiência e qualidade Insatisfação do usuário é frequente Pouco entendimento dos requisitos Problemas de Comunicação entre o usuário e o analista A qualidade do software é frequentemente suspeita Poucas medidas e critérios de qualidade 5

6 A Crise de Software Dificuldades no Trabalho com Software Software existente é muito difícil de manter E tem que ser mantido até ser substituído REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 6

7 Causas A Crise de Software Introdução de erros no processo Má especificação Mau projeto Má implementação Testes incompletos ou mal feitos Problemas na comunicação homem-máquina REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 7

8 A Crise de Software Causas Problemas na gerência Falta de treinamento em novas técnicas de desenvolvimento O processo está evoluindo muito rapidamente em função do aprendizado. É necessário reciclar REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 8

9 Problemas Complexidade Especificar sistemas é uma atividade bastante complexa. Não se trata apenas de fazer uns programinhas. Insatisfação dos usuários usuários sentem-se frustrados com sistemas difíceis de serem operados e/ou cujo desenvolvimento se prolonga por vários anos. usuário precisa de sistemas funcionando de acordo com suas necessidades O valor de um sistema está em atender com precisão as necessidades de seus usuários. 9

10 Problemas Produtividade Costuma estar quase sempre aquém do desejado. Freqüentemente, a alocação de recursos e atividades são desbalanceadas. Algumas questões recebem consideração demasiada, enquanto outras são insuficientemente consideradas. Custos, tempo e recursos geralmente são subestimados 10

11 Problemas Confiabilidade do Sistema Há diversas estatísticas que provam a pouca confiabilidade de boa parte dos sistemas. depende do uso de métodos que possam garantir uma boa qualidade do produto construído Não basta que o sistema produza resultados solicitados pelo usuário.mas que também tenha o desempenho adequado. 11

12 Problemas Manutenibilidade Facilidade de se modificar um sistema para adaptar-se a circunstâncias novas, inexistentes à época da implantação. Sistemas recentemente implantados são substituídos por novos, devido ao alto custo para sua manutenção REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 12

13 Custo de Mudanças Custo 1x 1,5 a 5X 60 a 100 X Definição Projeto Manutenção Fase Crítica 13

14 Problemas Porque leva tanto tempo para terminar programas e sistemas? Porque os custos são tão altos? Porque temos dificuldade de medir o progresso do desenvolvimento do software? Porque não conseguimos detectar todos os erros antes de entregar o software aos nossos clientes? 14

15 Problemas Porque os usuários estão sempre insatisfeitos com o software entregue? REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 15

16 Mitos... da Gerência... Desatualizados, obsoletos Ferramentas modernas de software e hardware são suficientes O uso eficiente de ferramental exige conhecimento Manuais de Regras e Procedimentos Estamos atrasados Vamos alocar mais gente ao projeto! Custos de treinamento, gerência e entendimento do processo de trabalho 16

17 Mitos... do Desenvolvedor/Programador... Até que o programa esteja rodando não há como medir sua qualidade O único produto de um projeto de software é o conjunto de programas Especificação, projeto, plano de trabalho Programa escrito e testado! Acabei! Revisões anteriores à codificação Quanto mais cedo voce escrever o código, mais tempo irá demorar para completá-lo De 50 a 70 % do custo de produção de um software vai ser gasto para operacionalizá-lo para o usuário 17

18 Mitos... do Cliente... Uma lista de intenções (boas) é suficiente para começar a produzir o software Minhas necessidades vão mudar Mas mudanças são fáceis de introduzir porque software é bastante flexível A Especificação do Software é a fase mais crítica do processo Custo de mudanças é muito alto Erros na fase inicial têm um custo muito alto de correção 18

19 Ciclo de Vida de Software Definição dos requisitos Análise Projeto Documentos são gerados a cada fase e servem de entrada para a fase seguinte Implementação Teste/Avaliação Implantação Manutenção 19

20 Papéis Apesar de existirem numerosas definições sobre arquitetura do software, no núcleo de tudo está a noção de que a arquitetura de um sistema descreve sua estrutura bruta. Esta estrutura ilumina as decisões de projeto de alto nível, incluindo coisas como: o sistema é composto das peças de interação, onde estão os principais caminhos de interação Adicionalmente, uma descrição arquitetural inclui informação suficiente para permitir a análise de alto nível e crítica do sistema. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 20

21 Papéis Fornecendo uma descrição abstrata do sistema, a arquitetura expõe determinadas propriedades, ao mesmo tempo que esconde outras. Idealmente, esta representação fornece um guia de entendimento intelectual do sistema como um todo, permitindo aos projetistas raciocinar sobre a possibilidade do sistema satisfazer a determinadas exigências. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 21

22 Papéis Por exemplo: uma arquitetura para um aplicação de processamento de sinal, pode ser construída como uma rede do fluxo de dados em que os nós lêem vetores de entrada dos dados, transformam esses dados, e os escrevem aos vetores da saída. E aqui, os projetistas devem pensar em estruturas para este tipo de processamento. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 22

23 Papéis Na elaboração da Arquitetura de um software, 6 papéis são desempenhados: Compreensão, Reuso, Construção, Evolução, Análise e Gerência. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 23

24 Papéis: Compreensão A arquitetura do software simplifica nossa habilidade de entender grandes sistemas apresentando-os em um alto nível do abstração de forma a ser facilmente compreendido. Além disso, expõe as principais restrições do projeto do sistema, tanto quanto o aspecto racional para fazer escolhas arquiteturais específicas. 24

25 Papéis: Reuso Descrições de arquiteturas suportam reuso em múltiplos níveis. Trabalhos correntes focam geralmente em bibliotecas de componentes. Projetos de Arquiteturas, promovem reuso em grandes componentes e em Frameworks, onde seus componentes possam ser integrados. 25

26 Papéis: Construção A Construção de uma arquiterua oferece um norte para os desenvolvedores, indicando ou apresentando os maiors componentes e suas dependências. Por exemplo: as camadas de uma arquitetura tipicamente documentam as fronteiras da implementação, expondo os maiores componentes e suas interfaces, bem como as suas principais restrições. 26

27 Papéis: Evolução A arquitetura do software pode expor as dimensões na linha do tempo da possível evolução de um sistema. Deixa explícito "as paredes internas" de um sistema, os desenvolvedores do sistema podem melhor compreender as ramificações das mudanças, e estimar desse modo mais preciso o custo das modificações. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 27

28 Papéis: Evolução Além disso, as descrições arquiteturais separam interesses sobre as funcionalidade de um componente da forma com que esse componente é conectado (interage) a outros componentes. Esta separação permite mais facilmente aos mecanismos da conexão obter um maior reuso e interoperabilidade. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 28

29 Papéis: Análise As descrições arquiteturais fornecem novas facilidades para a tarefa de análise tais como: a consistência do sistema, o conformidade dos atributos da qualidade, a análise da dependência e A análises específicas de domínio para identificar arquiteturas semelhantes. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 29

30 Papéis: Gerência A avaliação crítica de uma arquitetura conduz tipicamente a uma grande compreensão das exigências, das estratégias da execução, e de riscos potenciais a serem enfrentados na implementação de um sistema de software. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 30

31 Linhas de Produtos e Padrões O que são linhas de produtos? São produtos que apresentam similaridades nas suas especificações. Entretanto, em uma abordagem de linha de produto, deve-se também considerar requisitos para a uma família de sistemas, e o relacionamento entre eles. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 31

32 Codificação e Disseminação Um problema inicial para o avanço de projetos arquiteturais como uma disciplina da engenharia de software era a falta do compartilhamento de conhecimento sobre arquiteturas e técnicas para desenvolver estas arquiteturas. Uma boa saída foi uso e padrões (pipes and filters, blackboard, MVC e outros). REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 32

33 Linha de Produto de Software Por meio desta abordagem, é possível explorar as semelhanças dos seus produtos para aumentar o reúso de artefatos. A abordagem de LPS tem sido adotada na indústria de software. Vantagens: Maior reutilização de artefatos; Maximização de lucros; Diminuição do time to market; Diminuição de riscos; Produtos com maior qualidade; Contribuição para o aprimoramento; ROI; etc. 33

34 Linha de Produto de Software Atividades Essenciais de LPS Arquitetura da LPS Arquitetura de cada produto da LPS 34

35 Linha de Produto de Software A base de uma LPS é seu núcleo de artefatos. arquitetura da LPS, os componentes reusáveis, modelos de domínio, requisitos da LPS, modelos de características e planos de teste. Uma característica (feature) é uma capacidade do sistema que é relevante e visível para o usuário final. O modelo de características inclui todas as características de uma LPS e os seus interrelacionamentos. 35

36 Linha de Produto de Software A definição explícita de variabilidades em LPS é a diferença chave entre o desenvolvimento de sistemas únicos e o desenvolvimento de LPS. REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 36

37 Linha de Produto de Software Exemplo de Modelo de Características Legenda: Característica Obrigatória Característica Opcional Mutualmente Inclusivas Mutualmente Exclusivas 37

38 Linha de Produto de Software Variabilidade é a forma como os membros de uma família de produtos podem se diferenciar entre si. O gerenciamento de variabilidades é uma das atividades mais importantes no gerenciamento de uma LPS. A variabilidade é descrita por pontos de variação e variantes. 38

39 Linha de Produto de Software Ponto de variação: Um local específico de um artefato em que uma decisão de projeto ainda não foi tomada; Variante: Corresponde a uma alternativa de projeto para resolver uma determinada variabilidade. Restrições entre variantes: define os relacionamentos entre duas ou mais variantes para que seja possível resolver um ponto de variação ou uma variabilidade. 39

40 Gerenciamento de Variabilidade Similaridades Artefato de uma Linha de Produto Variabilidade Pontos de Variação REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 40

41 Gerenciamento de Variabilidade Artefato de uma Linha de Produto Variabilidade Variantes Pontos de Variação 41

42 Gerenciamento de Variabilidade Artefato de uma Linha de Produto Variabilidade Pontos de Variação 42

43 Restrições entre variantes Gerenciamento de Variabilidade Artefato de uma Linha de Produto Variabilidade Restrições entre variantes Pontos de Variação 43

44 Restrições entre variantes Gerenciamento de Variabilidade Opcionais podem ser selecionadas ou não. Ou uma ou mais podem ser selecionadas. Restrições entre variantes Mutualmente exclusivas (alternativa - XOR) apenas uma delas deve ser selecionada. 44

45 Gerenciamento de Variabilidade Possíveis produtos da LPS 45

46 Gerenciamento de Variabilidade Possíveis produtos da LPS Ou uma ou mais podem ser selecionadas. (alternativa - XOR) apenas uma delas deve ser selecionada. Opcionais podem ser selecionadas ou não. 46

47 Mapeamento de Características na arquitetura da LPS Uma das formas de se implementar características de LPS é tratando cada uma delas como um interesse presente na família. Interesses correspondem a requisitos, funcionais ou não, que devem estar presentes no sistema. Alguns são naturalmente transversais e, por isso, se espalham em vários pontos dentro do software. Quanto mais modularizado um interesse estiver dentro do projeto do software mais reusável será o seu projeto. Os interesses podem ser mapeados em artefatos da LPS usando estereótipos UML. 47

48 Mapeamento de Características na arquitetura da LPS Exemplo de Interface com Interesses associados usando estereótipos UML REUSO DE SOFTWARE E COMPONENTES Marcelo Henrique dos Santos 48

49 Metodologia Usada em PSS Use Case Descriptions Nome do Caso de Uso Categoria do Reuso obrigatório, opcional, alternativo Descrição Atores Dependências Estende Caso de Uso X Pré-condições Fluxo Principal Fluxos Alternativos Fluxos de Exceção Pontos de Variação Estruturas de Dados Regras de Negócio 49

50 Application Engineering Metodologia Usada em PSS Documento de como derivar produto Instruções para Derivação Indicar que artefatos (use cases, diagramas, classes) pertencem ao kernel e a cada feature Arquivo de Configuração Arquivo de Propriedades Arquivo XML do Spring Instanciação Automática GenArch Apresentar produto derivado 50

51 Referências Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: The kobra approach. In Donohoe, P., ed.: Proceedings of thefirstsoftware Product Line Conference. (2000) Cirilo, E., Kulesza, U., Lucena, C.: GenArch: A Model-Based Product Derivation Tool. In: Proceedings of the 1º Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS 2007), Campinas, Brazil (2007) Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison- Wesley, Boston, MA, USA (2002). Software Product Lines. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison Wesley Longman (2000). Gomaa H. Designing Software Product Lines with UML: From Use Cases to Pattern- Based Software Architectures. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA,

52 Referências Kang K. C., Kim S., Lee J., Kim K., Shin E., and Huh M.. Form: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng., 5: , Matinlassi M. Comparison of software product line architecture design methods: Copa, fast, form, kobra and qada. In ICSE 04: Proceedings of the 26th International Conference on Software Engineering, pages , Washington, DC, USA, IEEE Computer Society. Nunes I., Nunes C., Kulesza U., and Lucena C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: 9th International Workshop on Agent-Oriented Software Engineering, 2008, Estoril. 9th International Workshop on Agent-Oriented Software Engineering, p Pohl, K., Bckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag, New York,USA (2005). Weiss D. M., Lai C. T. R.: Software Product-line Engineering: A Family-Based Software Development Process, Addison-Wesley,

53 ATIVIDADE 04 Leia o artigo Linhas de Produto de Software: riscos e vantagens de sua implantação e explique o conceito do modelo de linhas de produto de software, suas vantagens e desvantagens, assim como os riscos de sua implantação. (2 ou 3 alunos) 53

54 ATIVIDADE 05 Pense em um exemplo de projeto de software que possa ser uma linha de produtos. Quais seriam os produtos gerados por essa linha? (2 ou 3 alunos) 54

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação Email:

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Marcelle Mussalli Cordeiro {mmussalli@gmail.com} Cordeiro Reflexão O que é software?? Cordeiro 2 O que é Software? Programa Dados de configuração Dados de documentação Tudo que esteja

Leia mais

Linha de Produtos de Software (SPL) em Java: Teoria e Prática

Linha de Produtos de Software (SPL) em Java: Teoria e Prática Linha de Produtos de Software (SPL) em Java: Teoria e Prática Prof. Me. Djan Almeida Santos Prof. Me. Pablo Freire Matos Slides baseados no material elaborado pelos professores: Ingrid Oliveira de Nunes,

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

Composição e Geração de Aplicações usando Aspectos

Composição e Geração de Aplicações usando Aspectos Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Rosana Teresinha Vaccare Braga 1 1 Programa de Mestrado em Ciências de Computação e Matemática Computacional

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Contexto. Motivação. variabilidade. variabilidade

Contexto. Motivação. variabilidade. variabilidade Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade

Leia mais

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Paulo Cesar Masiero 1 Rosana Teresinha Vaccare Braga 1 1 Instituto de Ciências

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

Processo de Desenvolvimento de Software Linhas de Produtos de Software

Processo de Desenvolvimento de Software Linhas de Produtos de Software Processo de Desenvolvimento de Software Linhas de Produtos de Software Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Departamento Acadêmico de Gestão e Tecnologia da Informação

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

Introdução ao Catalysis

Introdução ao Catalysis Introdução ao Catalysis Tópicos Avançados de Engenharia de Software João Bosco jbapf@cin.ufpe.br Roteiro Dificuldades Motivação Componentes Desenvolvimento Baseado em Componentes (DBC) Catalysis jbapf@cin.ufpe.br

Leia mais

Histórico: Linha de Produção

Histórico: Linha de Produção Escola Regional de Informática ERI-MG Linha de Produtos de Software: Conceitos Histórico: Linha de Produção Produtos em geral eram feitos manualmente Com o crescimento do consumo, foi necessário automatizar

Leia mais

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois Cláudia Werner Karin Becker Agenda Motivação Engenharia de Domínio e Desenvolvimento Baseado

Leia mais

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares Aula 1 - Apresentação Ementa Definição de arquitetura de software. Importância e impacto

Leia mais

Introdução à Qualidade de Software

Introdução à Qualidade de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução à Qualidade de Software Prof. Luthiano Venecian venecian@ucpel.tche.br

Leia mais

Frameworks. Viviane Torres da Silva

Frameworks. Viviane Torres da Silva Frameworks Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/es1 Frameworks Motivação Definição Classificação Características Propriedades Técnicas de Customização Frameworks

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Rosana T.Vaccare Braga

Rosana T.Vaccare Braga Rosana T.Vaccare Braga Processo de remover detalhes físicos,espaciais ou temporais no estudo de objetos ou sistemas com o objetivo de focar em outros aspectos de interesse (Colburn) Similar ao processo

Leia mais

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and

Leia mais

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES] DMS - DOCUMENTO DE MODELAGEM DE SISTEMA Este documento foi criado seguindo as recomendações e orientações do livro UML na Prática Do Problema ao Sistema e do modelo PRISM do MPDS (Modelo Prático para Desenvolvimento

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Projeto de Software Introdução O que é projeto em software? O termo projeto é um tanto

Leia mais

Arquitetura de Software visão emergente

Arquitetura de Software visão emergente Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Tópico 1 - Visão Geral da Engenharia de Software Sistemas Computacionais o Definição e conceitos básicos o Evolução do desenvolvimento Natureza do produto software Definição de Engenharia

Leia mais

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02 Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE Qualidade de Software Qualidade do produto e do processo Padrões de software Revisões Medições e métricas de software Kele Teixeira Belloze kelebelloze@gmail.com CONCEITO DE QUALIDADE

Leia mais

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Qualificação de Mestrado Instituto de Matemática

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná Reuso Motivações para reutilização de software Aspecto econômico Produtividade Time to market Qualidade Utilização de artefatos (código,

Leia mais

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

Leia mais

Elicitando Semelhanças e Variabilidades de Linhas de Produtos de Software com Diagramas de Interação do Usuário

Elicitando Semelhanças e Variabilidades de Linhas de Produtos de Software com Diagramas de Interação do Usuário Computer on the Beach 2015 - Artigos Completos 219 Elicitando Semelhanças e Variabilidades de Linhas de Produtos de Software com Diagramas de Interação do Usuário Jefferson Kobs, Patrícia Vilain Departamento

Leia mais

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Arquitetura de software

Arquitetura de software Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Engenharia de Software.

Engenharia de Software. Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software

Leia mais

Componentes de Software Baseados em Engenharia de

Componentes de Software Baseados em Engenharia de 19 a 21 de mar o de 2010 117 Componentes de Software Baseados em Engenharia de Domínio Leonardo Ciocari, Rafael Cancian 1 Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar) Universidade do Vale

Leia mais

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada

Leia mais

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001 FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS Projeto de Programas PPR0001 2 Introdução Antes de desenvolver ou construir qualquer produto ou sistema em engenharia é necessário um... o PROJETO O que é um

Leia mais

Introdução. Conteúdo. Usabilidade. Engenharia de software X Usabilidade. Benefícios. Introdução. Introdução. Introdução. Introdução.

Introdução. Conteúdo. Usabilidade. Engenharia de software X Usabilidade. Benefícios. Introdução. Introdução. Introdução. Introdução. Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG Clarindo Pádua 2 Referências Hix, D.; Hartson, H. R. Developing

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução Ciência da Computação ENGENHARIA DE SOFTWARE Capítulo 1 Introdução Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Plano de Ensino 1. Introdução à Engenharia de Software Importância da Engenharia

Leia mais

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas

Leia mais

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade

Leia mais

Análise de Domínio: Um Método para Geração Automática do Modelo de Features

Análise de Domínio: Um Método para Geração Automática do Modelo de Features Análise de Domínio: Um Método para Geração Automática do Modelo de Features Marianne B. Diniz da Silva 1, Isabel D. Nunes 2 1 Programa de Pós-Graduação em Ciência da Computação (PROCC) Universidade Federal

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Introdução 27/9/2005. Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus. Usabilidade.

Introdução 27/9/2005. Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus. Usabilidade. Introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus Referências Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability through product

Leia mais

Run-Time Variability through Component Dynamic Loading

Run-Time Variability through Component Dynamic Loading Run-Time Variability through Component Dynamic Loading Leonardo Murta, Aline Vasconcelos Ana Paula Blois, Marco Lopes Carlos Júnior, Marco Mangan Cláudia Werner Agenda Contexto e Motivação Variabilidades

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer

Leia mais

Arquitetura de Software: Documentação

Arquitetura de Software: Documentação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SSC-0527 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa Tiago Volpato Introdução

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Criado: mar/2001 Atualizado: set/2005 Tópicos Definição de Requisitos Participantes Processo Documento de Requisitos (SRS) Evolução dos Requisitos 2 Referência I.Sommerville. Sw

Leia mais

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Problemas e Práticas Recomendadas no Desenvolvimento de Software Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento

Leia mais

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Eduardo Santana de Almeida Daniel Lucrédio Calebe de Paula Bianchini Antonio Francisco do

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Fundamentos da Engenharia de Software Modelos de desenvolvimento Importância do software Importância do Software Qualidade é fundamental Consequências de erros no software podem

Leia mais

Arquitetura de Software: Sistemas RNA e Ava Edulivre. Ana Claudia Costa, Rharon Maia, Wolgrand Cardoso1

Arquitetura de Software: Sistemas RNA e Ava Edulivre. Ana Claudia Costa, Rharon Maia, Wolgrand Cardoso1 Arquitetura de Software: Sistemas RNA e Ava Edulivre Ana Claudia Costa, Rharon Maia, Wolgrand Cardoso1 Arquitetura de Software Surgiu na década de 80 e hoje é amplamente usado. Permite que projetistas

Leia mais

2 Desenvolvimento de Linhas de Produtos de Softwares

2 Desenvolvimento de Linhas de Produtos de Softwares 19 2 Desenvolvimento de Linhas de Produtos de Softwares Este capítulo apresenta uma visão geral do desenvolvimento de Linhas de Produtos de Software (LPS). Diversos conceitos relacionados ao desenvolvimento

Leia mais

Ciclo de vida: fases x atividades

Ciclo de vida: fases x atividades Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CI 221 DISCIPLINA: Engenharia de Software AULA NÚMERO: 5B DATA: / / PROFESSOR: Andrey APRESENTAÇÃO Nesta aula serão apresentados e discutidos os conceitos de planejamento de um projeto de software e elaboração

Leia mais

Uma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica

Uma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica Uma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica Eldânae ogueira Teixeira Orientadora: Claúdia M. L. Werner PESC/COPPE Universidade Federal do Rio de Janeiro Caixa

Leia mais

Arquitetura de Software: Introdução

Arquitetura de Software: Introdução Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Elias Ferreira Elaborador por: Prof. Edison A. M. Morais Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA DEFINIÇÕES / RESUMO Apostilas de NORMAS, disponíveis no site do professor. 1 NORMAS VISÃO GERAL Qualidade é estar em conformidade com os requisitos dos clientes; Qualidade é antecipar e satisfazer os desejos

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

Modelos de design arquitetural

Modelos de design arquitetural Modelos de design arquitetural Jair C Leite Modelos de design arquitetural Objetivo Guiar o arquiteto nas etapas para desenhar a arquitetura Deve considerar diferentes visões arquiteturais Atualmente existem

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem

Leia mais

Arquitetura de Software

Arquitetura de Software Frameworks Wanderson Câmara dos Santos, Elves 1 wanderson@crea-rn.org.br,elveskiss@yahoo.com.br 1 Departamento Acadêmico de Tecnologia da Informação Centro Federal de Educação Tecnológica do Rio Grande

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

LINHA DE PRODUTO DE SOFTWARE. Por Sergio Crespo UFF Puro

LINHA DE PRODUTO DE SOFTWARE. Por Sergio Crespo UFF Puro LINHA DE PRODUTO DE SOFTWARE Por Sergio Crespo UFF Puro INTRODUÇÃO A engenharia de software tradicional tem como base a construção de um elemento de software ou um produto, no prazo definido. Um elemento

Leia mais

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes. DCC / ICEx / UFMG Técnicas de Reutilização Reutilização em Programação Orientada a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reuso de classes Bibliotecas Frameworks Considere três classes

Leia mais

Qualidade de software. Prof. Emiliano Monteiro

Qualidade de software. Prof. Emiliano Monteiro Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação

Leia mais

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins. Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES LIVRO ENGENHARIA FUNDAMENTOS, MÉTODOS E PADRÕES WILSON PADUA PAULA FILHO CAPÍTULO REQUISITOS 1 REQUISITOS TECNICO E GERENCIAL ESCOPO (RASCUNHO) CARACTERISTICAS 2 O que são Requisitos? São objetivos ou

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Profa. Reane Franco Goulart

Profa. Reane Franco Goulart Profa. Reane Franco Goulart É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro áreas principais: dados, arquitetura, interfaces e componentes.

Leia mais

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO Campus Senhor do Bonfim I N S T I T U T O F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O L O G I A B A I A N O C a m p u s S E N

Leia mais

RAD Rapid Application Development

RAD Rapid Application Development RAD Rapid Application Development Desenvolvimento Rápido de Aplicação Brunna Leite Rafaela Trevizan Renan Gonçalvez Samanta de Masi RAD é um modelo de processo de desenvolvimento de software iterativo

Leia mais