FATUS Ferramenta para Automatizar Testes de Unidade de Software PATRICIA LEMOS OLIVEIRA

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

Download "FATUS Ferramenta para Automatizar Testes de Unidade de Software PATRICIA LEMOS OLIVEIRA"

Transcrição

1 FATUS Ferramenta para Automatizar Testes de Unidade de Software PATRICIA LEMOS OLIVEIRA Porto Alegre 2007

2 2 PATRICIA LEMOS OLIVEIRA FATUS Ferramenta para Automatizar Testes de Unidade de Software Trabalho de Conclusão de Curso II apresentado à Faculdade de Informática, como requisito parcial à obtenção do título de Bacharel em Sistemas de Informação. Orientadora: Profa. Silvia de Castro Bertagnolli Porto Alegre 2007

3 3 Agradeço à minha família, principalmente à minha mãe pela paciência e dedicação, ao meu amigo Alisson pelo incentivo e apoio, aos meus amigos em geral pela compreensão e aos professores pela atenção com os alunos.

4 4 RESUMO Hoje em dia, nas empresas de Tecnologia de Informação, seguir um processo de desenvolvimento e realizar o controle de qualidade do software são requisitos indispensáveis para obter um produto de software com qualidade. Devido a isso, vários tipos de ferramentas têm sido propostas, umas são direcionadas para as fases iniciais do processo, outras voltadas para as fases intermediárias, e outras ainda, que contemplam diversas fases. Nos últimos tempos, as ferramentas de teste passaram a ter um papel fundamental na produção do software, pois viabilizam que os testes sejam realizados de forma mais rápida e eficiente. A grande maioria das ferramentas de teste é utilizada pelos testadores que, normalmente, são responsáveis pelos testes funcionais dos sistemas. A ferramenta FATUS (Ferramenta para Automatizar Testes de Unidade de Software) é uma ferramenta utiliza para esse propósito, cujo objetivo principal é gerar um plano de teste, para sistemas orientados a objetos, o qual irá auxiliar o desenvolvedor a testar as unidades orientadas a objetos do sistema. Palavras-chave: Ferramenta de teste, Teste de software, Qualidade de software.

5 5 ABSTRACT Today, IT companies, following a process of development and achieve of quality control are essential requirements for a software product. Because of this, various types of tools have been proposed, some are directed to the early stages of the process, others focused on the intermediate stage, and still others, which include several phases. Recently, the tools of testing came to play a major role in the production of software, because that enable testing to be carried out more quickly and efficiently. Most of the tools of test is used by testers who are usually responsible for the functional tests of the systems. The tool FATUS (Tool for Automating Software Testing of the unit) is a tool used for that purpose, whose main objective is to generate a plan of test for the object oriented systems, which will help developers to test that units. Keywords: test tools, test software, software quality.

6 6 LISTA DE ABREVIATURAS E SIGLAS API CASE CMM CMMI FURPS IEC IPD-CMM ISO MCT NBR Application Programming Interface Computer Aided Software Engineering Capability Maturity Model Capability Maturity Model Integration Functionality, Usability, Reliability, Performance and Support International Electronics Commission Integrated Product Development Capability Maturity Model International Organization for Standardization Ministério da Ciência e Tecnologia Normas Brasileiras NOCAUTE Non Coded Automated Unit Testing Environment OMG RUP SAX SECM SEI SPICE SQA SW-CMM TI Object Management Group Rational Unified Process Simple API for XML System Engineering Capability Model Software Engineering Institute Software process Improvement and Capability determination Software Quality Assurance Capability Maturity Model for Software Tecnologia da Informação

7 7 UML VV&T XMI XML Unified Modeling Language Verificação, Validação e Testes XML Metadata Interchange Extensible Markup Language

8 8 LISTA DE FIGURAS FIGURA 1 Modelos, Padrões e Guidelines FIGURA 2 Estrutura do Processo FIGURA 3 Diagrama de Classes Ordem de Testes FIGURA 4 Esquema da Ferramenta JUnit FIGURA 5 Esquema da Ferramenta CBDUnit FIGURA 6 Esquema da Ferramenta SilkPerformance FIGURA 7 Modelo V FIGURA 8 Estrutura Geral da Ferramenta FIGURA 9 Diagrama de Casos de Uso da Ferramenta FIGURA 10 Diagrama de Classes Exemplo FIGURA 11 Fragmentos do XMI Gerado FIGURA 12 Casos de Teste: exemplo FIGURA 13 Plano de Testes Parcial Exemplo FIGURA 14 Diagrama de Classes Inicial FIGURA 15 Diagrama de Classes Final FIGURA 16 XMI descrevendo Classes, Atributos e Métodos FIGURA 17 XMI descrevendo Relacionamentos FIGURA 18 Estudo de Caso diagrama de classes FIGURA 19 Tela Principal FATUS FIGURA 20 Selecionando Arquivo XMI para Processar... 64

9 9 FIGURA 21 Visualizando Arquivo XMI FIGURA 22 Parte do código para leitura do XMI FIGURA 23 Visualizando a Árvore de Objetos FIGURA 24 Visualizando os Casos de Teste... 66

10 10 LISTA DE GRÁFICOS GRÁFICO 1 Teste de Software no Brasil GRÁFICO 2 Evolução do Teste... 33

11 11 LISTA DE TABELAS TABELA 1 Brasil Práticas para Avaliar a Qualidade do Produto TABELA 2 Comparativo de Ferramentas de Testes de Software Parte TABELA 3 Comparativo de Ferramentas de Testes de Software Parte TABELA 4 Casos de Uso Essenciais... 52

12 12 SUMÁRIO INTRODUÇÃO REFERENCIAL TEÓRICO QUALIDADE DE SOFTWARE ISO ISO ISO CMM CMMI RATIONAL UNIFIED PROCESS (RUP) Fases do RUP Disciplinas ou Fluxos de Trabalho TESTE DE SOFTWARE Processo de Teste de Software Técnicas de Teste de Software Fases de Teste de Software Tipos de Teste de Software Teste de Software Orientado a Objetos Técnica de Testes usando Limites ESTADO DA ARTE FERRAMENTA DE TESTE UNITÁRIO - JUNIT FERRAMENTA DE TESTE UNITÁRIO - CBDUNIT FERRAMENTA DE TESTE UNITÁRIO - NOCAUTE FERRAMENTA DE TESTE UNITÁRIO - SILKPERFORMANCE SOLUÇÃO ELABORADA ANÁLISE DOS REQUISITOS ANÁLISE E PROJETO IMPLEMENTAÇÃO Passos da Implementação Estudo de Caso CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS ANEXOS... 74

13 13 INTRODUÇÃO Considerando a área de desenvolvimento de software, a qualidade pode ser entendida como um conjunto de características que devem ser satisfeitas, de modo que o produto de software alcance os resultados, ou seja, atenda a todas as necessidades dos usuários (ROCHA, 2001). Não basta afirmar que a qualidade do software é importante, na verdade, é necessário realizar atividades que irão garantir a qualidade em todo o projeto de software (PRESSMAN, 2002). Atualmente, as exigências em termos de qualidade do produto, no que diz respeito ao software, têm aumentado significativamente. Desse modo, visando maximizar e melhorar a qualidade dos sistemas computacionais, e tentando tornar mais rápido o seu desenvolvimento, vários setores têm investido em técnicas de garantia da qualidade de software (PRESSMAN, 2002). Com relação a software, a atividade mais usada para garantir a qualidade de um software é a VV&T Verificação 1, Validação 2 e Testes. Sendo que a verificação assegura a consistência e completude do produto em cada fase e entre fases consecutivas do ciclo de vida do software (ROCHA, 2001). A validação, por sua vez, é usada para garantir que o produto final corresponde aos requisitos do usuário. Já os testes são a atividade mais crítica das três, pois pode ser dinâmica ou estática, e ainda, o seu objetivo compreende a verificação da presença ou ausência de erros (ROCHA, 2001; PRESSMAN, 2002). 1 Verificação determinada pela pergunta Estamos construindo o produto corretamente? 2 Validação determinada pela pergunta Estamos construindo o produto certo?

14 14 Os erros afetam tanto os projetos de desenvolvimento de software que é possível encontrar algumas estatísticas referentes aos mesmos (COMPUTERWORLD, 2006): 50% do tempo dos desenvolvedores é gasto para encontrar e corrigir erros; 80% dos custos de desenvolvimento são destinados para identificar e corrigir erros; 56% dos erros encontrados depois do projeto pronto são originados na fase de requisitos; a cada 10 linhas de código escritas, pelo menos 1 erro é gerado; são gastas, em média, 12 horas para corrigir cada erro de um código; a cada 1000 linhas de código são encontrados entre 20 e 30 bugs. Além dessas estatísticas, Harrold (2000 apud ROCHA, 2001) aponta que, 50% dos custos do desenvolvimento de um software são destinados ao seu teste. E com dados extraídos de Beizer (1990 apud MACORATTI, 2005), é possível complementar esses dados afirmando que o tempo utilizado nas atividades de teste de um software correspondem a aproximadamente 50% do tempo gasto no desenvolvimento do código. Esses dados destacam a importância que a atividade de teste exerce no desenvolvimento de um sistema computacional. Ainda, segundo Pressman (2002, p. 429), o teste de software [...] representa a revisão final da especificação, projeto e geração de código. Analisando-se estas etapas percebeu-se que as formas mais padronizadas são as duas últimas (projeto e código). Como encontrado em Rocha, Maldonado e Weber (2001), para que a atividade de teste seja realizada de forma mais fácil é necessário utilizar padrões, e é justamente nessas duas fases que o uso destes encontra-se mais presente. Após, foi realizada uma análise da literatura percebeu-se que existe um vasto conjunto de classificações e formas de testes (BARTIE, 2002), (PRESSMAN, 2002), (FELIZARDO, 2004), (FIGUEIREDO, 2005),

15 15 (MACORATTI, 2005). Para realizar esse trabalho estas formas foram estudadas e o Teste de Unidade foi selecionado devido a um fator principal: ele é baseado no menor elemento testável de um software, as unidades. Além disso, ele possibilita testar a estrutura interna dessas unidades, tais como os fluxos de controle, os comportamentos, entre outros aspectos. Assim, o foco deste trabalho compreende a modelagem e o desenvolvimento de uma ferramenta que gera, de forma automática, os casos de teste de um plano de teste unitário. Um caso de teste corresponde a um conjunto de entradas que serão testadas juntamente com suas respectivas saídas. Já o plano de teste corresponde a um documento, que contém informações gerais sobre a finalidade dos testes e identifica as estratégias adotadas, bem como as entradas e saídas registradas para uma determinada unidade (KRUCHTEN, 2003). No processo de desenvolvimento de um projeto de TI (Tecnologia da Informação) é importante que sejam seguidos todos os passos necessários para garantir a qualidade do software: processos de definição dos requisitos, análise de projeto, implementação e testes. Para tanto, ter um cronograma que estipula a realização e o cumprimento das fases do projeto é fundamental. Entretanto, algumas empresas têm dificuldades em seguir tais cronogramas, seja por pressão de cliente, ou por falta de recursos, ou por redefinição de funcionalidades, etc. Dessa maneira, grande parte dos projetos de TI muitas vezes entra em produção (ou operação) sem ter passado por um conjunto adequado de testes. Nesse caso, uma solução para teste de software é a utilização de ferramentas que automatizam o trabalho do testador ou do analista homologador. A motivação principal é elaborar uma ferramenta de teste que auxilie o trabalho de parte desses profissionais. Outro fator motivador foi encontrado ao realizar uma análise do mercado de trabalho, pois se percebeu que há uma carência por profissionais que atuem nessa área.

16 16 Além disso, há um número reduzido de pessoas que trabalham com teste de software em suas empresas, como ilustra o Gráfico 1. Gráfico 1: Teste de Software no Brasil Fonte: MCT, 2001 Uma motivação adicional foi um levantamento realizado pelo Ministério de Ciência e Tecnologia (MCT, 2001) com relação às práticas de Engenharia de Software adotadas na avaliação da qualidade do produto. Ela aponta o uso intenso de teste de software como forma de realizar a avaliação. TABELA 1 Brasil Práticas para Avaliar a Qualidade do Produto Fonte: MCT, 2001

17 17 Desse modo, conclui-se que o estudo dessa área pode agregar muito a vida profissional e acadêmica da proponente deste trabalho. O objetivo geral compreende a modelagem e desenvolvimento de uma ferramenta para automatizar a fase de teste de unidade, no processo de desenvolvimento de um produto de software. Considerando as técnicas de teste encontradas na literatura, foi selecionada a técnica de teste de unidade, onde a ferramenta produz, de forma automática, um plano de teste para as unidades orientadas a objetos usadas na solução. Foi selecionada a técnica de teste de unidade porque é a que mais apresenta problemas com relação ao software, pois na maioria das empresas o próprio desenvolvedor é quem realiza o teste. A ferramenta analisa as classes modeladas e, a partir de sua especificação, produz os casos de teste, bem como o plano de testes para as unidades que compõe a solução projetada. Já os objetivos específicos propostos para atingir o objetivo geral compreendem: estudo de metodologias e processos de desenvolvimento de software orientado a objetos; estudo dos tipos e técnicas de teste; estudo de métricas e técnicas de qualidade de software; estudo do processo de desenvolvimento de software RUP (Rational Unified Process); análise de ferramentas de teste de software já existentes no mercado; implementação e validação do sistema; estudo de caso. Finalmente, para facilitar a compreensão do texto o trabalho foi dividido em capítulos que apresentam: capítulo 2 Referencial Teórico introduz os aspectos teóricos que auxiliaram na elaboração da solução;

18 18 capítulo 3 Estado da Arte compara algumas ferramentas de teste de software e as técnicas por elas utilizadas; capítulo 4 Solução Elaborada descreve os passos e as técnicas utilizadas para desenvolver a ferramenta proposta, apresentando os resultados obtidos com a aplicação do trabalho a um estudo de caso.

19 19 1 REFERENCIAL TEÓRICO 1.1 Qualidade de Software A qualidade de software pode ser descrita como [...] totalidade de características de um produto de software que lhe confere a capacidade de satisfazer necessidades explicitas e implícitas (NBR, 1994), e é através desse conjunto de requisitos que a qualidade de um produto é avaliada (BANAS QUALIDADE, 2006). Para um software ser desenvolvido com qualidade, controlando custos, prazos e suprindo as necessidades do mercado, é preciso melhorar os processos de engenharia de software (COMPUTERWORLD, 2006). Na verdade, a qualidade depende diretamente da qualidade do processo de desenvolvimento. Os erros podem ser gerados durante todo o processo, por isso o resultado final de projetos de TI é o somatório das decisões tomadas durante todas as etapas do ciclo de desenvolvimento (BARTIE, 2002). Os erros podem ser encontrados durante a criação do projeto, no processo de desenvolvimento, ou até mesmo em produtos já lançados no mercado. Para se obter qualidade em um produto de software, é necessário utilizar padrões e determinar como usá-los (BARTIE, 2002). Por isso, é importante verificar desde o início se foram seguidos padrões de qualidade e requisitos básicos, caso contrário, localizar um erro e consertá-lo mais tarde pode levar mais tempo do que se imagina. Quanto mais tarde o erro é encontrado, mais caro ele fica. Um erro detectado na fase inicial do projeto custa em média 1 dólar para ser consertado, após as fases iniciais o mesmo erro passa a custar 10 dólares para ser corrigido, e esse valor vai crescendo

20 20 conforme o projeto evolui podendo chegar à casa dos 5 dígitos no final do projeto (COMPUTERWORLD, 2006). Mas, apenas o uso de padrões não é suficiente, é necessário: monitorar o desempenho dos resultados; acompanhar a eficiência do desenvolvimento em diversos pontos de controle, possibilitando aos gerentes e profissionais envolvidos acompanhar variações de qualidade e elaborar ações corretivas e preventivas para manter o nível de qualidade (AGUIAR; BARTIE, 2002; MSW, 2000). Percebe-se que o processo de qualidade aborda a estruturação, a sistematização e a execução das atividades que terão como objetivo garantir o desempenho de cada etapa do desenvolvimento (BARTIE, 2002). Nesse sentido, vários modelos, padrões e métodos têm sido propostos para o desenvolvimento de software com qualidade. Esses modelos, em sua maioria denominados modelos de processos, estabelecem práticas que devem ser impostas de modo que o produto final tenha qualidade. Conclui-se que a qualidade do processo agrega qualidade ao produto (ROCHA, 20001).

21 21 A Figura 1 ilustra uma série de modelos que podem influenciar na qualidade do software. SDCE SCAMPI SCE CBA IPI People CMM SW-CMM PSP TSP DOD- STD- 7935A DOD- STD- 2167A DOD- STD ISO Six Sigma PSM CMMI IPD- CMM FAAiCMM SA- CMM FAM SE-CMM ISO/IEC SSE-CMM Baldrige * J-STD 016 RTCA DO-178B MIL-STD- 498 IEEE/EIA SECAM * EIA/IS 731 * SAM EIA/IS 632 IEEE 1220 MIL-STD- 499B Q9000 TL9000 Série ISO 9000 ISO/IEC EIA 632 ISO/IEC Modelo de Maturidade ou Capacidade Padrões de Qualidade Métodos de Avaliação Guidelines Padrões de Processo * Inclui Método de Avaliação Substitui Baseado em Usa/Referencia Figura 1: Modelos, Padrões e Guidelines Fonte: Alves, 2005 Neste trabalho, apenas alguns destes modelos serão brevemente descritos: ISO , ISO 9126, ISO 12207, CMM (Capability Maturity Model) e CMMI (Capability Maturity Model Integration), como apresentam as próximas seções. 3 ISO International Organization for Standardization

22 ISO 9000 A ISO é uma organização internacional, não-governamental, que foi fundada em 1947, na Suíça, cujos objetivos são a necessidade de referências/padrões internacionais que possam regular as obrigações contratuais, que tem como foco a garantia de manutenção e uniformidade da qualidade dos produtos. O ISO 9000 compreende uma série de normas elaboradas para oferecer apoio às organizações que desejam implementar, e colocar em operação Sistemas de Gestão da Qualidade eficazes (PRESSMAN, 2002). Ela encontrase subdividida em outras normas, como descrito abaixo (ROCHA, 2001): ISO 9001 modelo cujo foco é a garantia da qualidade em projeto, desenvolvimento, produção, instalação e assistência técnica; ISO 9002 modelo direcionado para garantir a qualidade em produção e instalação; ISO 9003 modelo adotado para a garantia da qualidade em inspeção e ensaios finais. Considerando a norma ISO 9000, é possível encontrar as especificações ISO , que determina as diretrizes para escolher entre as Normas ISO 9001, 9002 e 9003, e ISO , que compreende uma orientação para a aplicação da ISO 9001 em produtos de software (ISO, 1991). Todas as normas que compõe a série 9000 focalizam seus esforços em uma única direção, a definição de um sistema de qualidade. Outra norma definida pela ISO, mas cujo foco é a qualidade do produto é a ISO 9126, como apresenta a próxima seção ISO 9126 A ISO 9126 é utilizada para a definição dos requisitos de qualidade de um produto de software. Com ela é possível realizar a avaliação das

23 23 especificações do software, durante o desenvolvimento, para verificar se os requisitos de qualidade estão sendo atendidos, a descrição das características e atributos do software implementado. Por exemplo, nos manuais de usuário, a avaliação do software desenvolvido antes da entrega ao cliente e a avaliação do software desenvolvido antes da aceitação pelo cliente (ISO, 1991). Para tanto, ela estabelece critérios ou medidas de qualidade, tais como: funcionalidade 4, confiabilidade 5, usabilidade, eficiência 6, manutenabilidade 7 e portabilidade 8. Como se percebe essas medidas estão todas relacionadas com o produto gerado. Além disso, observa-se que nesse modelo os testes são previstos pelo atributo de manutenabilidade, no contexto da testabilidade, que representa o esforço necessário para testar o software. Como objetivo principal dessa norma destaca-se o estabelecimento de conceitos de qualidade, que são aplicados à garantia da qualidade de processo, consideradas as normas mais importantes atualmente. A próxima seção introduz a norma ISO/IEC 12207, que diz respeito aos Processos do Ciclo de Vida do Software ISO A Norma ISO/IEC foi lançada em 1995, e é responsável por formalizar a arquitetura do Ciclo de Vida do Software. Ela especifica os diversos processos envolvidos em um ciclo de vida do software e os divide em três categorias (ISO, 1995): 1. processos fundamentais cujo foco são as atividades de aquisição, fornecimento, desenvolvimento, operação e manutenção de um software; 4 Considerando os aspectos de adequação, acurácia, conformidade, interoperabilidade, segurança de acesso e conformidade. 5 Considerando os aspectos de maturidade, tolerância a falhas e recuperabilidade. 6 Considerando o comportamento com relação ao tempo e com relação aos recursos. 7 Considerando os aspectos de analisibilidade, modificabilidade, estabilidade e testabilidade. 8 Considerando os aspectos de adaptabilidade, facilidade de instalação e substituir, capacidade para coexistir.

24 24 2. processos de apoio responsável pelos processos de documentação, gerência de configuração, garantia de qualidade, verificação, validação, revisão conjunta, auditoria e resolução de problemas; e finalmente, 3. processos organizacionais direcionados para a gerência, definição da infra-estrutura, melhoria e treinamento de recursos humanos. Destaca-se que a atividade de teste tem relação com os processos de apoio, pois faz parte dos processos de garantia de qualidade, verificação e validação. Essa norma apresenta com detalhes os processos, atividades e tarefas que estão envolvidos no fornecimento, desenvolvimento, operação e manutenção de produtos de Software. Além dessas normas da ISO, é possível encontrar os modelos de maturidade aplicados a empresas, como o CMM e o CMMI, próximas seções CMM O CMM é um modelo, desenvolvido pelo SEI (Software Engineering Institute), foi publicado em Ele permite realizar uma avaliação e uma melhoria da capacitação das empresas que produzem software. Ele é muito usado para a medição de desempenho e para identificar áreas que mais necessitam de ações de melhoria (PAULK, 1993). Tem como principal objetivo determinar o nível de maturidade de uma organização, no que diz respeito ao processo de desenvolvimento de software. Sendo que esses níveis podem ser (ROCHA, 2001): 1. nível 1 inicial pobremente controlado e imprevisível; 2. nível 2 repetitivo repetição das tarefas executadas com sucesso; 3. nível 3 definido o processo é bem caracterizado e bem entendido;

25 25 4. nível 4 gerenciado o processo é medido e controlado; 5. nível 5 otimizado o foco está na melhoria contínua do processo. A passagem de um nível mais inferior para um mais superior é obtida utilizando-se as metas determinadas nas áreas chave de processo. Sendo que cada área-chave de processo encontra-se estruturada com base nas características comuns, as quais [...] delimitam as práticas-chave que, quando executadas em conjunto, cumprem as metas de uma área chave do processo. (ALVES, 2005). Cada um desses níveis possui critérios pré-estabelecidos, que determinam regras para o desenvolvimento, para o perfil dos recursos humanos, para as tecnologias e para as métricas. Destaca-se que para se atingir o nível 3 do CMM é condição básica considerar a atividade de teste de software (ROCHA, 2001). Por outro lado, o CMM possui limitações, inconsistências e não permite a inclusão de novos modelos, caso alguma nova necessidade seja identificada. Assim, foi criado o CMMI, que tenta minimizar ou eliminar esses problemas CMMI Outro modelo encontrado na literatura é o CMMI, evolução do CMM, que integra melhores práticas do desenvolvimento e manutenção de produtos, com ênfase na engenharia de software, existentes em outros modelos. Ele combina os modelos SW-CMM (Capability Maturity Model for Software), o SECM (System Engineering Capability Model) e o IPD-CMM (Integrated Product Development Capability Maturity Model) (CMMI, 2002). CMMI possibilita uma organização possa usar, avaliar, estudar, treinar e executar atividades utilizando um único modelo (CMMI, 2002).

26 26 Da mesma forma que o CMM, encontra-se dividido em níveis (ALVES, 2005): 1. nível 0 incompleto processo não executado ou executado parcialmente; 2. nível 1 executado, inicial ou incompleto satisfaz metas específicas da área de processo; 3. nível 2 gerenciado planejado, executado e monitorado e controlado; 4. nível 3 definido processo adaptado de processo padrão; 5. nível 4 quantitativamente gerenciado utiliza estatísticas e métodos quantitativos; 6. nível 5 em otimização foco na melhoria continua. Com o uso desses níveis ele consegue cobrir as seguintes áreas do conhecimento: engenharia de sistemas, engenharia de software, desenvolvimento integrado de produtos e processos e a contratação ou aquisição de fornecedores (CMMI, 2002). Ele implementa melhorias com base nas experiências adquiridas em outros projetos e assegura a integridade da norma ISO/IEC 15504, mais conhecida como SPICE (Software Process Improvement and Capability determination), permitindo a representação contínua, em áreas que são independentes do nível de maturidade (ALVES, 2005). Após uma breve análise de alguns dos modelos de qualidade de software é possível perceber que desvios de qualidade produzem retrabalho, aumentam os custos, dilatam os prazos, diminuem a produtividade e aumentam a insatisfação do cliente. Desse modo, é necessário unir características dos modelos de qualidade em um processo de desenvolvimento de software. Ao analisar o RUP, percebe-se que ele possui diversos mecanismos que permitem incorporar essa característica ao produto de software (JACOBSON, 1999). Dentre os processos de desenvolvimento de software encontrados o RUP foi selecionado, pois é o processo mais utilizado atualmente, tanto no meio acadêmico quanto no mercado de trabalho. Logo, a próxima seção

27 27 descreve, brevemente, o processo unificado e introduz alguns dos mecanismos de qualidade por ele adotados. 1.2 Rational Unified Process (RUP) O RUP é um processo de desenvolvimento de software que fornece técnicas para orientar membros de equipes de desenvolvimento de software. Tem como objetivo aumentar a produtividade, para tanto usa a abordagem da orientação a objetos. Toda a sua documentação e projeto utilizam a notação UML 9 (Unified Modeling Language), bem como técnicas e práticas aprovadas comercialmente. Com o uso do RUP é possível fornecer soluções disciplinadas para tarefas e responsabilidades dentro da organização de desenvolvimento, uma vez que sua meta é garantir que serão produzidos softwares de alta qualidade. Na maioria das vezes é aplicado a grandes projetos e equipes de desenvolvimento, pois é considerado um processo pesado, no entanto, por ser um processo customizável é possível adaptá-lo a projetos de várias escalas. Esse processo possui três características fundamentais (JACOBSON, 1999): 1. guiado por casos de uso todas as etapas tem origem no diagrama de casos de uso, pois ele é fácil de entender o que facilita a comunicação dos envolvidos; 2. centrado na arquitetura a arquitetura direciona as decisões que devem ser tomadas durante a elaboração do produto de software; 3. iterativo 10 e incremental o processo é organizado em iterações 11, e à medida que elas ocorrem o software evolui e forma incremental. 9 UML notação composta por diagramas que permite modelar software procedimental e orientado a objetos. 10 Percorrer várias vezes as disciplinas de desenvolvimento. 11 Cada vez que a seqüência de disciplinas do processo é percorrida.

28 28 O RUP é um conjunto de passos sistematicamente ordenados com o objetivo criar um software ou aperfeiçoar um existente. Ele encontra-se organizado utilizando-se como conceitos principais as fases e as disciplina ou fluxos de trabalho, como apresentam as próximas seções, respectivamente Fases do RUP As fases do RUP compreendem um ponto decisivo no ciclo de vida de um projeto. No final de cada fase do projeto é realizada uma avaliação, que mostra se os objetivos foram alcançados, conforme esse resultado o projeto passa para próxima fase, ou não. Esse processo é composto por quatro fases, como descrito abaixo (KRUCHTEN, 2003) (HILMER, 2004a): fase de iniciação utilizada para definir o escopo do projeto, critérios de aceitação e o que não pode faltar no produto; definir os casos de uso; definir custos, geral e de programação; estimar riscos e preparar o ambiente de suporte. No final desta fase está o primeiro e mais importante marco do projeto Objetivos do Ciclo de Vida, é neste momento que é feita a análise dos objetivos do ciclo, decidindo o destino do projeto. Caso este marco não seja atingido, o projeto pode ser anulado ou repensado; fase de elaboração tem o objetivo de garantir que a arquitetura, os requisitos e planos são estáveis, diminuindo os riscos. Nesta fase são elaborados os protótipos do sistema e os modelos de projeto são definidos. No final desta fase está o segundo marco do projeto Arquitetura do Ciclo de Vida, neste momento é analisada a arquitetura do ciclo, examinam-se os objetivos, escopo do sistema e principais riscos. Caso este marco não seja atingido, o projeto pode ser abortado ou completamente repensado; fase de construção utilizada para otimizar recursos evitando o retrabalho e diminuindo os custos; garantir a qualidade, rapidez e

29 29 eficiência; concluir a análise, design, desenvolvimento e testes das funcionalidades; disponibilizar o produto completo; certificar se os usuários estão prontos para usar o aplicativo. Nesta fase, encontra-se o terceiro marco do processo Capacidade Operacional Inicial, o qual indica que o produto está praticamente pronto, as funcionalidades e os testes já foram desenvolvidos e o manual do usuário foi elaborado; e finalmente, fase de transição compreende testes beta, treinamentos, distribuição, empacotamento, correção de erros, suporte e aceitação. No final desta fase está o quarto marco Release do Produto. Neste momento é decido se os objetivos foram alcançados, e se é necessário um outro iniciar outro ciclo de desenvolvimento. Esse marco pode ocasionar o fim da fase de iniciação do próximo ciclo. Existe, também, o marco de lançamento do produto que é a conclusão da atividade, neste momento o produto está em produção e se inicia o ciclo de manutenção. Além das fases o RUP utiliza em sua estruturação as disciplinas e os fluxos de trabalho, como apresenta a próxima seção Disciplinas ou Fluxos de Trabalho As disciplinas mostram as atividades a serem realizadas para produzir um conjunto de artefatos. Elas são descritas por alguns elementos, como descrito abaixo (KRUCHTEN, 2003) (HILMER, 2004a): introdução: finalidade e relacionamentos da disciplina; conceitos: destaca os conceitos essenciais para o entendimento da disciplina; fluxo de trabalho: utilizando esquemas/figuras são detalhados os fluxos de trabalho de cada disciplina;

A IMPORTÂNCIA DO TESTE DE SOFTWARE PARA A QUALIDADE DO PROJETO

A IMPORTÂNCIA DO TESTE DE SOFTWARE PARA A QUALIDADE DO PROJETO A IMPORTÂNCIA DO TESTE DE SOFTWARE PARA A QUALIDADE DO PROJETO Autora: LUCIANA DE BARROS ARAÚJO 1 Professor Orientador: LUIZ CLAUDIO DE F. PIMENTA 2 RESUMO O mercado atual está cada vez mais exigente com

Leia mais

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

QUALIDADE DE SOFTWARE AULA N.7

QUALIDADE DE SOFTWARE AULA N.7 QUALIDADE DE SOFTWARE AULA N.7 Curso: SISTEMAS DE INFORMAÇÃO Disciplina: Qualidade de Software Profa. : Kátia Lopes Silva 1 CMM: DEFINIÇÃO Capability Maturity Model Um modelo que descreve como as práticas

Leia mais

Teste de Software Apresentação

Teste de Software Apresentação Teste de Software Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Teste de Software VV&T e Defeitos de Software Inspeção de Software Teste

Leia mais

Qualidade de software

Qualidade de software Faculdade de Ciências Sociais e Aplicadas de Petrolina - FACAPE Curso: Ciência da Computação Disciplina:Projeto de Sistemas Qualidade de software cynaracarvalho@yahoo.com.br Qualidade de software Qualidade

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

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

Professor: Disciplina:

Professor: Disciplina: Professor: Curso: Disciplina: Marcos Morais de Sousa marcosmoraisdesousa@gmail.com marcosmoraisdesousa.blogspot.com Sistemas de informação Engenharia de Software II Gerenciamento de Qualidade CMMI e MPS.BR

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Introdução Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção com qualidade. Tem-se

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

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

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI Profa. Celia Corigliano Unidade IV GERENCIAMENTO DE PROJETOS DE TI Agenda da disciplina Unidade I Gestão de Projetos Unidade II Ferramentas para Gestão de Projetos Unidade III Gestão de Riscos em TI Unidade

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

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

Padrões de Qualidade de Software e Métricas de Software

Padrões de Qualidade de Software e Métricas de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software e Métricas de Software Engenharia de Software I Aula 3 e 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de

Leia mais

21. Qualidade de Produto ou Qualidade de Processo de Software?

21. Qualidade de Produto ou Qualidade de Processo de Software? 21. Qualidade de Produto ou Qualidade de Processo de Software? Qualidade de software é uma preocupação real e esforços têm sido realizados na busca pela qualidade dos processos envolvidos em seu desenvolvimento

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

FACULDADE LOURENÇO FILHO ENADE 2011 Prof. Jackson Santiago Engenharia de Software DATA: 29/10/2011

FACULDADE LOURENÇO FILHO ENADE 2011 Prof. Jackson Santiago Engenharia de Software DATA: 29/10/2011 Assunto : Ciclo de vida de software 1. O modelo de ciclo de vida em cascata: a) enfatiza a realização sequencial das atividades do desenvolvimento de um produto de software. b) enfatiza a comunicação estreita

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

Gerenciamento de Qualidade

Gerenciamento de Qualidade UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Qualidade Engenharia de Software 2o. Semestre de

Leia mais

Qualidade de Software: Visão Geral

Qualidade de Software: Visão Geral Qualidade de Software: Visão Geral Engenharia de Software 1 Aula 05 Qualidade de Software Existem muitas definições de qualidade de software propostas na literatura, sob diferentes pontos de vista Qualidade

Leia mais

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com) CMMI Conceitos básicos 113 CMMI integra as disciplinas de engenharia de sistemas e de engenharia de software em um único framework de melhoria de processos. 114 No tocante às disciplinas de engenharia

Leia mais

Qualidade de Software. MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/cursos)

Qualidade de Software. MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/cursos) Qualidade de Software MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/cursos) Qualidade de Software MC626 Adaptado de notas de aula da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/cursos)

Leia mais

Guia Técnicas de Teste Metodologia Celepar

Guia Técnicas de Teste Metodologia Celepar Guia Técnicas de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiatecnicasteste.odt Número de páginas: 22 Versão Data Mudanças Autor 1.0 17/09/07 Criação. Ariel

Leia mais

VANTAGENS DA APLICAÇÃO DO PROGRAMA DE MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO MPS.BR NOS AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE

VANTAGENS DA APLICAÇÃO DO PROGRAMA DE MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO MPS.BR NOS AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE 1 VANTAGENS DA APLICAÇÃO DO PROGRAMA DE MELHORIA DE PROCESSO DE SOFTWARE BRASILEIRO MPS.BR NOS AMBIENTES DE DESENVOLVIMENTO DE SOFTWARE Elvis Ferreira da Silva* Msc. Marta Alves de Souza** Msc. Helder

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Testes de Software Fases. Baseado em notas de aula da profa. Eliane Martins

Testes de Software Fases. Baseado em notas de aula da profa. Eliane Martins Testes de Software Fases Baseado em notas de aula da profa. Eliane Martins Tópicos Testes de Unidades Testes de Integração Testes de Aceitação e de Sistemas Testes de Regressão Testes de Unidades Visam

Leia mais

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Evandro Polese Alves Ricardo de Almeida Falbo Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória - ES - Brasil

Leia mais

Qualidade de Software. Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com

Qualidade de Software. Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com Qualidade de Software Prof. Natália Oliveira M.Sc queiroz.nati@gmail.com Ementa Conceitos sobre Qualidade Qualidade do Produto Qualidade do Processo Garantida da Qualidade X Controle da Qualidade Conceitos

Leia mais

Qualidade de. Software. Definições. Qualidade do Produto ISO 9126. Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

Qualidade de. Software. Definições. Qualidade do Produto ISO 9126. Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207 Qualidade de : Visão Geral ISO 12207: Estrutura s Fundamentais Aquisição Fornecimento s de Apoio Documentação Garantia de Qualidade Operação Desenvolvimento Manutenção Verificação Validação Revisão Conjunta

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ ModeloPlanoProjeto_2007_04_24 SIGECO07_PlanoProjeto_2007_09_23 Página

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

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

Leia mais

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto,

14 Os principais documentos de um projeto são: o termo de. 15 Elemento integrante do gerenciamento do escopo do projeto, De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir.

No que se refere a conceitos básicos do gerenciamento de projetos, segundo o PMBoK, julgue os itens a seguir. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

Normas e Padrões de Qualidade em Software - I

Normas e Padrões de Qualidade em Software - I Tema da Aula Normas e Padrões de Qualidade em - I Prof. Cristiano R R Portella portella@widesoft.com.br Certificação da Qualidade Certificações emitidas por entidades públicas conceituadas: 9 ABIC Selo

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

Introdução à Qualidade de Software

Introdução à Qualidade de Software FACULDADE DOS GUARARAPES Introdução à Qualidade de Software www.romulocesar.com.br Prof. Rômulo César (romulodandrade@gmail.com) 1/41 Objetivo do Curso Apresentar os conceitos básicos sobre Qualidade de

Leia mais

Qualidade de software

Qualidade de software Qualidade de software É cada dia maior o número de empresas que buscam melhorias em seus processos de desenvolvimento de software. Além do aumento da produtividade e da diminuição do retrabalho, elas buscam

Leia mais

CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas SÉRIE: 3º Semestre TURNO: Noturno DISCIPLINA: ANÁLISE DE SISTEMAS ORIENTADA A OBJETOS

CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas SÉRIE: 3º Semestre TURNO: Noturno DISCIPLINA: ANÁLISE DE SISTEMAS ORIENTADA A OBJETOS CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas SÉRIE: 3º Semestre TURNO: Noturno DISCIPLINA: ANÁLISE DE SISTEMAS ORIENTADA A OBJETOS CARGA HORÁRIA: 60 horas I - Ementa Modelagem de Processos

Leia mais

Processo de Software

Processo de Software Processo de Software Uma importante contribuição da área de pesquisa de processo de software tem sido a conscientização de que o desenvolvimento de software é um processo complexo. Pesquisadores e profissionais

Leia mais

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É. MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI)

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É. MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI) 1 MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI) Teresinha Moreira de Magalhães 1 Lúcia Helena de Magalhães 2 Fernando Machado da Rocha 3 Resumo Este trabalho visa apresentar uma

Leia mais

Engenharia de Software Qualidade de Software

Engenharia de Software Qualidade de Software Engenharia de Software Qualidade de Software O termo qualidade assumiu diferentes significados, em engenharia de software, tem o significado de está em conformidade com os requisitos explícitos e implícitos

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY)

COBIT (CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY) Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE Curso: Sistemas de Informação Disciplina: Projetos I Professor: Renato Cislaghi Aluno: Fausto Vetter Orientadora: Maria

Leia mais

RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software

RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 RUP como Metodologia de Desenvolvimento de Software para Obtenção da Qualidade de Software Alfredo Nazareno P. Boente Fabiano S. G. de Oliveira João

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

Atividade da gerência da qualidade

Atividade da gerência da qualidade O que é qualidade de software? Qualidade, de forma simplista, significa que o produto deve esta de acordo com a especificação. Problemas: Tensão entre requisitos do cliente: Eficiência, confiança, etc.

Leia mais

Garantia da Qualidade de Software

Garantia da Qualidade de Software Especialização em Gerência de Projetos de Software Garantia da Qualidade de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br Qualidade de Software 2009 Instituto de Ciências Exatas e Naturais

Leia mais

Padrões de Qualidade de Software

Padrões de Qualidade de Software Universidade Federal do Vale do São Francisco Padrões de Qualidade de Software Engenharia de Software I Aula 4 Ricardo Argenton Ramos Agenda da Aula Introdução (Qualidade de Software) Padrões de Qualidade

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Teste de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Teste de Software Ciência da Computação ENGENHARIA DE SOFTWARE Teste de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Introdução Teste é um conjunto de atividades que pode ser planejado antecipadamente

Leia mais

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Agenda Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria Introdução Processo de software é o conjunto de ferramentas, métodos

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

Qualidade de Software. Anderson Belgamo

Qualidade de Software. Anderson Belgamo Qualidade de Software Anderson Belgamo Qualidade de Software Software Processo Produto Processo de Software Pessoas com habilidades, treinamento e motivação Processo de Desenvolvimento Ferramentas e Equipamentos

Leia mais

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás Prof.: Ivon Rodrigues Canedo PUC Goiás Qualidade Subjetiva Não sei o que é mas reconheço quando a vejo Qualidade Baseada no Produto O produto possui algo que produtos similares não têm Qualidade Baseada

Leia mais

Qualidade de Software. Aécio Costa

Qualidade de Software. Aécio Costa de Software Aécio Costa A Engenharia pode ser vista como uma confluência de práticas artesanais, comerciais e científicas [SHA90]. Software sem qualidade Projetos de software difíceis de planejar e controlar;

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software O software é algo abstrato, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional. (Algoritmo). As principais características são: Complexidade:

Leia mais

MDC Metodologia de Desenvolvimento Compartilhado Roteiro da Disciplina de Teste

MDC Metodologia de Desenvolvimento Compartilhado Roteiro da Disciplina de Teste MDC Metodologia de Desenvolvimento Compartilhado Roteiro da Disciplina de Teste Agosto - 2005 SUMARIO 1 INTRODUÇÃO...3 2 APLICAÇÃO...3 3 ESTRUTURA DO ROTEIRO...3 4 DESCRIÇÃO DO ROTEIRO...4 4.1 PLANEJAR

Leia mais

Estudo de Caso da Implantação do Nível G do MPS.BR em Uma Empresa

Estudo de Caso da Implantação do Nível G do MPS.BR em Uma Empresa Estudo de Caso da Implantação do Nível G do MPS.BR em Uma Empresa Dayana Henriques Fonseca 1, Frederico Miranda Coelho 1 1 Departamento de Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC)

Leia mais

UMA ABORDAGEM SOBRE TESTES AUTOMATIZADO DE SOFTWARES EM AMBIENTES DE DESENVOLVIMENTO

UMA ABORDAGEM SOBRE TESTES AUTOMATIZADO DE SOFTWARES EM AMBIENTES DE DESENVOLVIMENTO UMA ABORDAGEM SOBRE TESTES AUTOMATIZADO DE SOFTWARES EM AMBIENTES DE DESENVOLVIMENTO Robson L. Nascimento 1, Késsia R. C. Marchi¹ 1 Universidade Paranaense (UNIPAR) Paranavaí-PR-Brasil robsonluisn@yahoo.com.br,

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software André Mesquita Rincon Instituto de Informática/Universidade Federal de Goiás (UFG) Goiânia GO Brasil Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas/Fundação

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 8 http://www.ic.uff.br/~bianca/engsoft2/ Aula 8-17/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do

Leia mais

Qualidade de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br

Qualidade de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Qualidade de Software Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br Verificação x validação Verificação prova que o produto vai ao encontro dos requerimentos especificados no desenvolvimento

Leia mais

Introdução ao Teste de Software

Introdução ao Teste de Software Introdução ao Teste de Software Prof. Dr. Sandro Bezerra - srbo@ufpa.br AGENDA Verificação e Validação Motivação para teste Finalidades dos Testes Testes de Software: Definições e Conceitos Formando a

Leia mais

Um Sistema Web para apoio ao Gerenciamento de atividades de Teste de Software em Pequenas Empresas

Um Sistema Web para apoio ao Gerenciamento de atividades de Teste de Software em Pequenas Empresas Um Sistema Web para apoio ao Gerenciamento de atividades de Teste de Software em Pequenas Empresas Luciano Gomes Helvinger, Rodrigo Prestes Machado Curso de Análise e Desenvolvimento de Sistemas Faculdade

Leia mais

Uma Arquitetura de Processos para ISO 9001:2000 e SW- CMM Nível 3

Uma Arquitetura de Processos para ISO 9001:2000 e SW- CMM Nível 3 Uma Arquitetura de Processos para ISO 9001:2000 e SW- CMM Nível 3 Carlo Giovano Pires, Fabiana Marinho, Gabriela Telles, Márcia Sampaio Instituto Atlântico, Rua Chico Lemos, 946, 60822-780, Fortaleza -

Leia mais

Fatores humanos de qualidade CMM E CMMI

Fatores humanos de qualidade CMM E CMMI Fatores humanos de qualidade CMM E CMMI Eneida Rios¹ ¹http://www.ifbaiano.edu.br eneidarios@eafcatu.gov.br Campus Catu 1 Curso de Análise e Desenvolvimento de Sistemas Conteúdos Fatores humanos de qualidade

Leia mais

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB

UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB UMA ABORDAGEM SOBRE OS PADRÕES DE QUALIDADE DE SOFTWARE COM ÊNFASE EM SISTEMAS PARA WEB Alan Francisco de Souza¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil alanfsouza.afs@gmail.com,

Leia mais

Qualidade de Software

Qualidade de Software Início Qualidade de Software Álvaro Rocha amrocha@ufp.pt http://www.ufp.pt/~amrocha Início>Tópicos Tópicos 1. Fundamentos 2. Qualidade e Maturidade do Processo de SW ISO 9000, ISO 12207, SW-CMM, TRILLIUM;

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! 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! Conclusões 2 Processo

Leia mais

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de

Leia mais

Melhoria da Qualidade de Produto e de Processo de Software a partir da Análise de Indicadores de Teste

Melhoria da Qualidade de Produto e de Processo de Software a partir da Análise de Indicadores de Teste Melhoria da Qualidade de Produto e de Processo de Software a partir da Análise de Indicadores de Teste ERIKA DE FREITAS NITA CI&T SYSTEMS S/A www.cit.com.br Resumo Atualmente, a maioria das empresas de

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Curso de Desenvolvimento de Software Prof. Alessandro J de Souza ajdsouza@cefetrn.br 1 Rational Unified Process RUP Fase Construção 2 VISÃO GERAL Fase Construção. Visão Geral 3

Leia mais

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto Prof. Elias Batista Ferreira Material cedido por: Prof. Edison A M Morais Objetivo Descrever os processos da norma

Leia mais

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL)

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL) Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL) Versão 2.0 Escritório de Gerenciamento de Projetos - EGP Superintendência da Gestão Técnica da Informação SGI Agência Nacional de Energia Elétrica

Leia mais

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Gustavo Zanini Kantorski, Marcelo Lopes Kroth Centro de Processamento de Dados Universidade Federal

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

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

Leia mais

Proposta de Implementação de Qualidade de Software na Organização

Proposta de Implementação de Qualidade de Software na Organização Proposta de Implementação de Qualidade de Software na Organização Daniel Gonçalves Jacobsen 1 Faculdade Dom Bosco de Porto Alegre Porto Alegre RS Brasil daniel@flete.com.br Abstract. This article describes

Leia mais

Qualidade de Software

Qualidade de Software Engenharia Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros Qualidade de Software Desvendando um requisito essencial no processo de desenvolvimento

Leia mais

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

Metodologia de Desenvolvimento de Sistemas (Versão 2.0) SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA INTEGRAÇÃO NACIONAL DEPARTAMENTO NACIONAL DE OBRAS CONTRA AS SECAS Metodologia de Desenvolvimento de Sistemas (Versão 2.0) 1 Sumário 1Introdução... 5 1.1 Objetivo...

Leia mais

Qualidade, Qualidade de Software e Garantia da Qualidade de Software São as Mesmas Coisas?

Qualidade, Qualidade de Software e Garantia da Qualidade de Software São as Mesmas Coisas? Qualidade, Qualidade de Software e Garantia da Qualidade de Software São as Mesmas Coisas? Fábio Martinho. obtido [on-line] na URL http://www.testexpert.com.br/?q=node/669, em 11/03/2008. Segundo a NBR

Leia mais

Processo Unificado (RUP)

Processo Unificado (RUP) Fases do Desenvolvimento Processo Unificado (RUP) Ulf Bergmann ulf@ime.eb.br Domínio do Problema Objetos Objetos do do Mundo Mundo real real Modelo Semântico Domínio da Solução Aplicação Interface Serviços

Leia mais

Qualidade de Software Aula 6 / 2010. luis@garcia.pro.br www.garcia.pro.br

Qualidade de Software Aula 6 / 2010. luis@garcia.pro.br www.garcia.pro.br Qualidade de Software Aula 6 / 2010 Prof. Dr. Luís Fernando Garcia luis@garcia.pro.br www.garcia.pro.br Introdução As três dimensões críticas Introdução Começando MAL CMMI Impeditivos CMMI Desculpas CMMI

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

GESTÃO DA QUALIDADE DE SOFTWARE

GESTÃO DA QUALIDADE DE SOFTWARE GESTÃO DA QUALIDADE DE SOFTWARE Fernando L. F. Almeida falmeida@ispgaya.pt Principais Modelos Capability Maturity Model Integration (CMMI) Team Software Process and Personal Software Process (TSP/PSP)

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE DE ACORDO COM A NORMA ISO/IEC 15504

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE DE ACORDO COM A NORMA ISO/IEC 15504 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE DE ACORDO COM A NORMA ISO/IEC 15504 MARCELO NORTE DE OLIVEIRA 1 marcelonorte.ti@gmail.com IREMAR NUNES DE LIMA 2 iremar.prof@uol.com.br RESUMO: Este artigo trata

Leia mais

Workshop de Teste de Software. Visão Geral. Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br

Workshop de Teste de Software. Visão Geral. Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br Workshop de Teste de Software Visão Geral Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br 1 AGENDA DO CURSO Conceitos Básicos Documentação Processo Plano de Teste Caso de Teste BIBLIOGRAFIA

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

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

Prof. Dr. Ivanir Costa. Unidade IV QUALIDADE DE SOFTWARE Prof. Dr. Ivanir Costa Unidade IV QUALIDADE DE SOFTWARE introdução As mudanças que estão ocorrendo nos clientes e nos ambientes de negócios altamente competitivos têm motivado as empresas a modificarem

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Requisito O que é um REQUISITO? Em software: É a CARACTERIZAÇÃO do que o

Leia mais

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL E-MAIL: PEDROHOLI@GMAIL.COM CMM E CMMI INTRODUÇÃO Aumento da Importância do Software Software está em tudo: Elemento crítico

Leia mais