DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT"

Transcrição

1 DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na área de desenvolvimento de software. Domain-Driven Design é uma dessas abordagens, apresentando um conjunto de princípios e práticas que tem como objetivo auxiliar profissionais a desenvolverem software voltado para o domínio do problema. Outra inovação é a técnica TDD Test-Driven Development, propondo que sejam elaborados testes antes que a solução seja codificada. Essas abordagens associadas são grandes instrumentos para a criação de aplicativos de alta qualidade, desempenho e manutenibilidade. Palavras-chave: Teste de software, TDD, DDD, Engenharia de software. 1. INTRODUÇÃO Metodologias e técnicas buscam garantir a agilidade e robustez no processo de desenvolvimento de software. Para atingir esse objetivo, técnicas e metodologias foram desenvolvidas para as diversas fases do desenvolvimento de projeto. Domain-Driven Design - DDD é uma dessas técnicas, propondo uma abordagem focada no domínio do problema. Outra técnica que surgiu com a evolução do desenvolvimento de software é o Test-Driven Developmen - TDD, propondo que testes de software sejam escritos antes da codificação. O principal obstáculo encontrado pelos desenvolvedores é a falta de conhecimento sobre o domínio do problema, e não seus aspectos técnicos, como a tecnologia e a arquitetura. Tal falta de conhecimento pode resultar em projetos com problemas que vão desde simples atrasos de cronograma até aplicações que não cumprem o objetivo proposto inicialmente. Uma das causas desses projetos mal-sucedidos provem da comunicação falha entre o especialista do domínio e o desenvolvedor, o que resulta em uma modelagem igualmente falha. E conseqüentemente um software superficial, ou seja, que não reflete suficientemente a forma de pensar de um cliente. A qualidade do software também é significativamente influenciada pela organização do código. Projetos com metodologias de teste falhas podem acarretar atrasos no projeto, devido as necessidades de recorrentes correções. Para minimizar tais atrasos, os programadores tendem a diminuir sua preocupação com a organização, levando o software a um produto de qualidade inferior. Com o crescimento de estratégias voltadas para o projeto e desenvolvimento de software, muito tem se falado de técnicas e abordagens para os mesmos. O DDD e o TDD fazem parte desse conjunto de técnicas, e quando executadas em conjunto, de forma

2 equilibrada, são extremamente eficientes e podem garantir a qualidade, objetividade e agilidade ao projeto. 2. DDD O termo DDD Domain-Driven Design surgiu pela primeira vez em 2004 no livro Domain-Driven Design: Atacando as Complexidades no Coração do Software por Eric Evans. Evans (2004) descreve que o DDD é uma maneira de pensar e um conjunto de princípios que ajudam os desenvolvedores a criar sistemas poderosos, robustos e sustentáveis. Não se trata de uma tecnologia, ou metodologia, mas sim de uma disciplinada abordagem de projeto de software, focado no domínio e na lógica do sistema. A Figura 1 mostra as quatro camadas essenciais que uma solução deve possuir, seguindo os preceitos do DDD. Figura 1 - Arquitetura de Camadas 1. Camada de infra-estrutura: age como uma biblioteca para as outras camadas, fornecendo a comunicação entre elas, persistência de objeto, entre outros. 2. Camada de domínio: onde estão localizadas todas as regras de negócio. 3. Camada de aplicação: onde as atividades do aplicativo são coordenadas, essa camada não deve conter a lógica do negócio, deve se restringir apenas ao estado do progresso de uma tarefa de aplicação. 4. Camada de interface: responsável por apresentar informações e interpretar comandos do usuário.

3 O foco do DDD está na camada de domínio da arquitetura, a qual é responsável pelos conceitos do domínio, dos casos de uso e regras de negócio. O estado dos objetos é armazenado nesta camada, porém a persistência de objetos e possivelmente seu estado são tarefas da camada de infra-estrutura. A utilização das práticas sugeridas pelo DDD afeta diretamente a extensibilidade, usabilidade, testabilidade e manutenibilidade de um sistema. Portanto, cada camada deve exercer apenas o papel a qual se destina, sendo que o isolamento da camada de domínio é um pré-requisito para o DDD. Um modelo de domínio pode ser a base de comunicação num projeto de software. Sendo que esta comunicação não está limitada apenas aos diagramas da UML. Os especialistas de um determinado domínio possuem um entendimento limitado do vocabulário técnico, e um vasto vocabulário da sua própria área. Por outro lado, desenvolvedores também possuem uma linguagem própria baseada em termos descritivos e funcionais. Em meio a essa divisão lingüística, especialistas descrevem vagamente o que querem. Faz-se necessário então, a utilização de uma linguagem comum entre os envolvidos no projeto, desde peritos do domínio até analistas, desenvolvedores, e gerentes de projeto. A linguagem que prove tal comunicação é chamada Ubíqua ou Onipresente. Para a construção de design baseado em modelos, o DDD sugere a adoção de padrões a fim de gerar um modelo prático para a implementação. 1. Entidades A definição de um objeto deve ser simples e concentrada na continuidade do ciclo de vida e identidade, é necessário encontrar um meio de distinguir cada objeto, independente da sua forma ou histórico e atentar aos requisitos que exigem combinações de objetos por atributos. Entidades são objetos definidos por sua identidade e não seus atributos. 2. Objetos de Valor Ao contrário das Entidades, os Objetos de Valor não possuem uma identidade. Na maioria das vezes, são imutáveis e possuem um ciclo de vida curto. Quando a preocupação de um objeto é somente com os seus atributos, esse deve ser classificado como um Objeto de Valor. 3. Serviços Esse padrão se concentra nos Serviços que estão relacionados com domínio, mas não são parte natural de uma entidade ou objeto de valor, a interface deve ser definida em termos de outros elementos do modelo do domínio e a operação não deve possuir estado. (EVANS, 2004). 4. Módulos

4 Os Módulos, também conhecidos como Pacotes, são agrupamentos de conceitos do modelo, e não de código. O princípio geral deste padrão está na alta coesão, e no baixo acoplamento. Um baixo acoplamento entre módulos minimiza o custo da relação entre elementos em Módulos diferentes e possibilita uma análise mais clara do conteúdo de um Módulo. 5. Agregações Agregações são conjuntos de Entidades ou Objetos de Valores que são encapsulados numa única classe. Evans (2004) sugere que Entidades e Objetos de Valor sejam agrupados em Agregados e limites devem ser determinados para cada um. Deve ser escolhida uma entidade para ser a raiz de cada agregado e que controle o acesso aos objetos dentro do limite através da raiz. 6. Fábricas As Fábricas são utilizadas para encapsular o conhecimento necessário para a criação de objetos, e é importante citar que o processo deve ser atômico. A responsabilidade pela criação desses complexos objetos não faz parte do modelo do domínio, mas é uma importante parte do projeto. 7. Repositórios O uso de Repositórios tem o propósito de encapsular toda a lógica necessária para obter objetos. O domínio não tem que lidar com a camada de infra-estrutura para referenciar objetos. Quando um objeto é criado, ele pode ser armazenado em um Repositório e utilizado depois. A diferença entre um Repositório e um acesso tradicional à camada de dados é que nos Repositórios, os objetos são acessados em uma Coleção. 3. TESTE DE SOFTWARE Diante da necessidade de melhores estruturas, a Engenharia de Software vem evoluindo significativamente nas últimas décadas, oferecendo critérios e métodos para a produção de software. Ainda que o processo de produção empregue as metodologias de trabalho oferecidas pela engenharia de software, erros são inevitáveis em todas as fases do desenvolvimento. Para minimizá-los, as equipes têm utilizado cada vez mais técnicas como a VV&T (Verificação, Validação e Teste) e dentre elas a atividade de teste é uma das mais empregadas. O livro Program Test Methods trouxe um primeiro conceito para teste: O teste é um processo de aquisição de confiança no fato de que um programa ou sistema faz o que se espera dele (HETZEL, 1987) Muitas definições e visões sobre teste de software surgiram depois, como a proposta por Myers (2004): Teste é o processo de executar um programa ou sistema com a finalidade de encontrar erros.

5 Myers (2004) usa a psicologia para defender que o objetivo do teste deve ser encontrar erros. Se o objetivo for contrário, ou seja, provar que o software não possui falhas, o subconsciente do testador tenderá a selecionar dados para o teste com baixa probabilidade de falha. Logo, se o objetivo for encontrar erros, os dados selecionados tenderão a uma maior probabilidade de falha. Idealmente, o processo de teste deve se repetir para todos os cenários possíveis, nos quais o software possa ser eventualmente submetido, ou seja, testar todas as situações possíveis. Entretanto, isto é impraticável devido à grande complexidade da maioria dos softwares. Logo, se deve estabelecer um escopo para o processo, definindo previamente o que será testado, quando o processo será encerrado e quem o realizará. As metodologias aplicadas para os testes de software são normalmente divididas em três fases: Teste de Programa (geralmente realizado pelos próprios programadores), Teste de Sistema (realizado normalmente por uma equipe de teste) e Testes de Aceitação (realizados pelo usuário final ou cliente). Myers (2004) e Hetzel (1987) propõem princípios importantes para que os testes de software produzam resultados confiáveis, principalmente no que diz respeito à formação da equipe de teste e dos planos de teste. Embora os autores destaquem princípios diferentes, como a independência citada por Hetzel (1987) e a importância do desenvolvedor não ser o responsável pelos testes de seu trabalho, destacada por Myers (2004), ambos concordam que a equipe que os realiza deve ser valorizada e bem preparada. Ambos os autores destacam ainda, a importância de os testes serem planejados, escrevendo-se os chamados planos de teste. 4. TDD O Test-Driven Development (TDD) ou Desenvolvimento Dirigido a Teste consiste, basicamente, em escrever os testes antes dos códigos, ou seja, seguir duas regras propostas por Beck (2002): Escrever testes antes de codificar a solução; Eliminar duplicações. São regras simples, mas que geram um comportamento complexo por parte dos desenvolvedores. Pois deve-se mais que planejar as entradas e saídas esperadas do sistema, como acontece no teste de software clássico. Os testes devem ser escritos para todas as funções, por menor que sejam, antes das mesmas serem codificadas. Para seguir as duas regras existem três mantras: Red (vermelho) escrever um teste inicial; Green (verde) escrever o código necessário para que o teste funcione; Refactor (refatorar) eliminar todas as duplicações de código para que existe apenas o necessário para o teste funcionar.

6 O funcionamento da técnica encontra-se com o estilo de programação proposto por Benck (2002): Fake it, till you make it, traduzindo: Finja ter feito, até que tenha feito, que o que o TDD propõe. A Figura 2 ilustra esse funcionamento. Figura 2 TDD O TDD se diferencia do teste clássico de software em diversos pontos, como na definição da equipe que deve elaborar e executar os testes. No caso do TDD, o próprio programador deve escrevê-los, excutá-los e repetir o processo até que todos os testes sejam satisfeitos com o mínimo de código possível. Em contra-partida, quando a maneira clássica é adotada, o mais indicado é que o programador não teste seu próprio trabalho. Diferença esta que suporta um argumento que defende o TDD, já que se os testes são feitos todos durante o desenvolvimento, ao final do mesmo, a probabilidade de o sistema ainda possuir falhas é consideravelmente menor. Tal diferença implica ainda na organização do código, pois quando os testes são realizados apenas ao final do projeto e são encontradas falhas, o software deve retornar para a responsabilidade do programador, o qual na maioria das vezes terá um prazo menor para corrigir os erros, assim, como uma maneira de economizar tempo, deixa de se preocupar tanto com a organização do código, ou seja, a manutenibilidade do produto final fica prejudicada. Por outro lado, quando a técnica TDD é usada, o código tende a ter uma maior organização, não apenas pela baixa probabilidade de haver a necessidade de correção de erros, mas também pela refatoração realizada durante o processo. Embora existam claras diferenças entre a metodologia clássica de testes e a técnica de programação TDD, alguns princípios de elaboração dos testes devem ser levados em consideração, como por exemplo, o que orienta o elaborador dos mesmos a considerar o maior número de cenários possível. Assim como na maneira clássica, em TDD um grande

7 número de testes não é garantia de um produto final livre de falhas, sendo importante a qualidade dos mesmos, os cenários que abordam. Um projeto desenvolvido utilizando TDD e com testes bem construidos resulta em um software de qualidade. Pois, além do código mínimo e organizado, a técnica proporciona uma documentação, que não apenas condiz com o software, mas também é executável. Quando houver a necessidade de manutenção no software, é possível executar os testes, e assim descobrir o que já está implementado 5. CONCLUSÕES Embora TDD e DDD não sejam co-dependente tem-se resultados satisfatórios ao agregá-los. Ambos resultam em um código organizado, além da alta separação de tarefas produzidas pelo DDD, devido a metodologia implicar em uma divisão de camadas, e a documentação executável resultante da utilização da técnica TDD. Tal combinação eleva a manutenibilidade do código, garantindo uma maior qualidade do produto final. REFERÊNCIAS BIBLIOGRÁFICAS BECK, K. Test-Driven Development By Example. Three Rivers Institute, EVANS, E. Domain-Driven Design: Atacando as complexidades no coração do software. Rio de Janeiro: Alta Books, HETZEL, W. Guia complete ao teste de software. Rio de Janeiro: Campus, MYERS, G. J. The Art of Software Testing. New Jersey, Hoboken: John Wiley & Sons, Inc, 2004.

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com

Fundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com Fundamentos em Teste de Software Vinicius V. Pessoni viniciuspessoni@gmail.com Objetivos do treinamento 1. Expor os fundamentos de Teste de Software; 2. Conceituar os Níveis de Teste; 3. Detalhar sobre

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Tipos de teste de software

Tipos de teste de software Tipos de teste de software Volnys Borges Bernal volnys@lsi.usp.br Adilson Hira ayhira@lsi.usp.br Laboratório de Sistemas Integráveis Departamento de Sistemas Eletrônicos Escola Politécnica da USP Sumário

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)

Leia mais

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu. "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Práticas de Engenharia de Software Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

Gerência e Planejamento de Projeto. SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

Gerência e Planejamento de Projeto. SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 Gerência e Planejamento de Projeto SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

Leia mais

02/10/2012. Padronização de interfaces. Referências

02/10/2012. Padronização de interfaces. Referências Referências Engenharia de Usabilidade Prof.: Clarindo Isaías Pereira da Silva e Pádua Contribuição: Cláudio Márcio de Souza Vicente Gestus Hix, D.; Hartson, H. R. Developing User Interfaces: ensuring usability

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

PROJETO Pró-INFRA/CAMPUS

PROJETO Pró-INFRA/CAMPUS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO Pró-INFRA/CAMPUS IMPLEMENTAÇÃO DE SOLUÇÃO PARA AUTOMATIZAR O DESENVOLVIMENTO DE SOFTWARE UTILIZANDO A LINGUAGEM C#.NET

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Testes Orientação Visão Conceitual em Testes Versão 0.3

Testes Orientação Visão Conceitual em Testes Versão 0.3 Testes Versão 0.3 ori_visao_conceitual_testes.odt 1 de 10 Histórico de Revisões Data Versão Descrição Autor 23/04/2010 0.1 Versão inicial Fernanda Monteiro 07/10/10 0.2 Verificação ortográfica Ana Eckel

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE Prof. Dr. Ivanir Costa Unidade III QUALIDADE DE SOFTWARE Normas de qualidade de software - introdução Encontra-se no site da ABNT (Associação Brasileira de Normas Técnicas) as seguintes definições: Normalização

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 2 Semana - Paradigmas e Processo de Software : Abrangência possui 3 elementos fundamentais: métodos: como fazer ferramentas:

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Modelagem e Simulação Material 02 Projeto de Simulação

Modelagem e Simulação Material 02 Projeto de Simulação Modelagem e Simulação Material 02 Projeto de Simulação Prof. Simão Sirineo Toscani Projeto de Simulação Revisão de conceitos básicos Processo de simulação Etapas de projeto Cuidados nos projetos de simulação

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

Leia mais

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

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

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

Engenharia de Software

Engenharia de Software Engenharia de Software Testes de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Introdução Teste é um conjunto de atividades que pode ser planejado antecipadamente

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI) APARECIDA DE GOIÂNIA 2014 LISTA DE TABELAS Tabela 1 Áreas de processo por

Leia mais

Requisitos. Sistemas de Informações

Requisitos. Sistemas de Informações Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa

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 SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Desenvolvimento estruturado versus orientado a objetos.

Desenvolvimento estruturado versus orientado a objetos. Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Objetivos Identificar diferenças entre: Desenvolvimento

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS

04/07/2015 UML. Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com DEFINIÇÃO DE REQUSIITOS 1 REQUISITOS São os serviços fornecidos para um sistema. São classificados em requisitos

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.

Leia mais

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1.

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1. 19 Congresso de Iniciação Científica ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UMA FERRAMENTA AUTOMATIZADA DE APOIO AO GERSE: GUIA DE ELICITAÇÃO DE REQUISITOS PARA SISTEMAS EMBARCADOS Autor(es) BARBARA STEFANI

Leia mais

Teste de software. Definição

Teste de software. Definição Definição O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

A IMPORTÂNCIA DA ATIVIDADE DE TESTE NO DESENVOLVIMENTO DE SOFTWARE

A IMPORTÂNCIA DA ATIVIDADE DE TESTE NO DESENVOLVIMENTO DE SOFTWARE A IMPORTÂNCIA DA ATIVIDADE DE TESTE NO DESENVOLVIMENTO DE SOFTWARE Karla Pires de Souza (FPM ) karlapsouza@hotmail.com Angelita Moutin Segoria Gasparotto (FPM ) angelita@usp.br A atividade de teste de

Leia mais

Programação Orientada a Testes Rodrigo Rebouças de Almeida

Programação Orientada a Testes Rodrigo Rebouças de Almeida Programação Orientada a Testes Rodrigo Rebouças de Almeida http://rodrigor.com rodrigor@rodrigor.com Agenda Nossos objetivos hoje: Entender o que é programação orientada a testes Entender a sua função

Leia mais

Gerenciamento de Requisitos Gerenciamento de Requisitos

Gerenciamento de Requisitos Gerenciamento de Requisitos Gerenciamento de Requisitos Objetivos da disciplina Descrever o processo de Gerenciamento e Engenharia de Requisitos para projetos Treinar alunos no Gerenciamento de Requisitos Apresentar estudos de caso

Leia mais

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira LEVANTAMENTO DE REQUISITOS Lílian Simão Oliveira Níveis de erros Fonte: imaster.com um software São as características e funcionalidades que um software tem Engenharia de Requisitos O que é? Quem faz?

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE QUALIDADE DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 A ISO 9000-3 é um guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software. As

Leia mais

Capítulo 1. Extreme Programming: visão geral

Capítulo 1. Extreme Programming: visão geral Capítulo 1 Extreme Programming: visão geral Extreme Programming, ou XP, é um processo de desenvolvimento de software voltado para: Projetos cujos requisitos são vagos e mudam com freqüência; Desenvolvimento

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 SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE

NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE NORMAS ISO E SUA IMPORTÂNCIA NA PRODUÇÃO DE SOFTWARE Marina Benedetti Preto¹ RESUMO Muito se fala sobre a qualidade de software, mas sem sempre se tem uma verdadeira noção deste conceito. A qualidade possui

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

Leia mais

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1 Qualidade Plácido A. S. Neto 1 1 Gerência Educacional de Tecnologia da Informação Centro Federal de Educação Tecnologia do Rio Grande do Norte 2006.1 - Planejamento e Gerência de Projetos Agenda Introdução

Leia mais

UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS

UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS Ademilson Ângelo Cabral Discente do curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas

Leia mais

Sumário. Prefácio...14. Capítulo 1 O que é qualidade?...17. Capítulo 2 Normas e organismos normativos...43. Capítulo 3 Métricas: visão geral...

Sumário. Prefácio...14. Capítulo 1 O que é qualidade?...17. Capítulo 2 Normas e organismos normativos...43. Capítulo 3 Métricas: visão geral... Prefácio...14 Capítulo 1 O que é qualidade?...17 1.1 História... 17 1.2 Uma crise de mais de trinta anos...20 1.3 Qualidade e requisitos...25 1.4 Papel da subjetividade...27 1.5 Qualidade e bugs I: insetos

Leia mais

METODOLOGIA DE GERENCIAMENTO DE PROJETO DE SOFTWARE ORIENTADO A OBJETO COM PMBOK

METODOLOGIA DE GERENCIAMENTO DE PROJETO DE SOFTWARE ORIENTADO A OBJETO COM PMBOK V EPCC Encontro Internacional de Produção Científica Cesumar 23 a 26 de outubro de 2007 METODOLOGIA DE GERENCIAMENTO DE PROJETO DE SOFTWARE ORIENTADO A OBJETO COM PMBOK Cleber Lecheta Franchini 1 Resumo:

Leia mais

Qualidade de Processo de Software Normas ISO 12207 e 15504

Qualidade de Processo de Software Normas ISO 12207 e 15504 Especialização em Gerência de Projetos de Software Qualidade de Processo de Software Normas ISO 12207 e 15504 Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Software para especificação de motores de indução trifásicos

Software para especificação de motores de indução trifásicos Instituto Federal Sul-riograndense Campus Pelotas - Curso de Engenharia Elétrica Software para especificação de motores de indução trifásicos Disciplina: Projeto Integrador III Professor: Renato Neves

Leia mais

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas. UTILIZAÇÃO DA UML NO DESENVOLVIMENTO DE SISTEMA DE CONTROLE DE VENDAS E ESTOQUE GILBERTO FRANCISCO PACHECO DOS SANTOS Discente da AEMS Faculdades Integradas de Três Lagoas JACKSON LUIZ ARROSTI Discente

Leia mais

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014 IntroduçãoaoGuia SWEBOK Ernani Lopes Isensee 2014 Conhecendo o SWEBOK Guide to the Software Engineering Body of Knowledge IEEE Institute of Electrical and Electronic Engineers Conhecendo o SWEBOK O guia

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Plano de Projeto G Stock. G Stock. Plano de Projeto. Versão 1.0

Plano de Projeto G Stock. G Stock. Plano de Projeto. Versão 1.0 Plano de Projeto G Stock Plano de Projeto G Stock Versão 1.0 Histórico das Revisões Data Versão Descrição Autores 10/09/2010 1.0 Descrição inicial do plano de projeto Denyson José Ellís Carvalho Isadora

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Processos de gerenciamento de projetos em um projeto

Processos de gerenciamento de projetos em um projeto Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 11 APRESENTAÇÃO Nesta aula serão discutidos os conceitos relacionados

Leia mais

definido por um documento de padronização. A Fig. 1 representa a organização dos Grupos de Processos juntamente com os documentos exigidos.

definido por um documento de padronização. A Fig. 1 representa a organização dos Grupos de Processos juntamente com os documentos exigidos. A GESTÃO DE PROJETOS EXISTENTE NA NORMA DO-178B Matheus da Silva Souza, matheusdasilvasouza@gmail.com Prof. Dr. Luiz Alberto Vieira Dias, vdias@ita.br Instituto Tecnológico de Aeronáutica Praça Marechal

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Diretoria de Sistema - DS Superintendência de Arquitetura de Sistemas - SAS Gerência de Arquitetura de Informação - GAAS

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0

VANT-EC-SAME. Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 VANT-EC-SAME Software de Suporte do VANT V-SUP Caso de Desenvolvimento Versão 1.0 Histórico da Revisão Data Versão Descrição Autor 17/0/07 1.0 Versão Inicial Douglas Moura Confidencial VANT-EC-SAME, 2007

Leia mais

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB Testes de Software 1 AULA 01 INTRODUÇÃO A TESTES DE SOFTWARE Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB Conteúdo Programático do Curso Introdução a Testes de Software Técnicas de Testes de Software

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores Márcio Cornélio,

Leia mais

EN1002 Engenharia Unificada I. FORMAÇÃO DE EQUIPES Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

EN1002 Engenharia Unificada I. FORMAÇÃO DE EQUIPES Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas EN1002 Engenharia Unificada I FORMAÇÃO DE EQUIPES Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas Conteúdo da Apresentação Formas de comunicação em Projetos de Engenharia (PE) Interpretação

Leia mais

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software Prof. Ricardo A. Ramos Ciclo de Vida de Software 2 Manutenção de Software Alterações efetuadas no software depois de sua liberação.

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva UML & Padrões Aula 7 UML & Padrões - Profª Kelly C C Silva Divisão das classes do Modelo de Análise Jacobson propõe a divisão das classes do Modelo de Análise de acordo com os seguintes estereótipos: entidades

Leia mais

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de SCE186-ENGENHARIA DE SOFTWARE Módulo 1 Atividades da Engenharia de GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br 2003 DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO MANUTENÇÃO

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Slide 05 Modelos de Processos Maurício Archanjo Nunes Coelho mauricio.coelho@ifsudestemg.edu.br Instituto Federal Análise de Sistemas Por que surgiu a Engenharia de Software? Resposta

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 05 PROFª BRUNO CALEGARO Santa Maria, 24 de Setembro de 2013. Revisão aula anterior Processos de Software Engenharia de Requisitos, Projeto,

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Processo de software I Ricardo de Sousa Britto rbritto@ufpi.edu.br + O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática,

Leia mais

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s Plano de Projeto Versão Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s 2010 2 Histórico de Revisões Data Versão Descrição Autores 07/04/2010 1.0 Criação da primeira versão do Plano

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

Leia mais