REQUISITOS FUNCIONAIS DE SOFTWARE: REFLEXÕES INICIAIS DA INFLUÊNCIA DO MÉTODO DE ESPECIFICAÇÃO EM CARACTERÍSTICAS DE GESTÃO DE PROJETOS

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

Download "REQUISITOS FUNCIONAIS DE SOFTWARE: REFLEXÕES INICIAIS DA INFLUÊNCIA DO MÉTODO DE ESPECIFICAÇÃO EM CARACTERÍSTICAS DE GESTÃO DE PROJETOS"

Transcrição

1 1 ÁREA-5 GESTÃO DE OPERAÇÕES, TECNOLOGIA DA INFORMAÇÃO E INOVAÇÃO REQUISITOS FUNCIONAIS DE SOFTWARE: REFLEXÕES INICIAIS DA INFLUÊNCIA DO MÉTODO DE ESPECIFICAÇÃO EM CARACTERÍSTICAS DE GESTÃO DE PROJETOS Carlos Eduardo Marquioni i RESUMO Este trabalho apresenta como o método utilizado para a especificação dos requisitos funcionais de software através de textos em linguagem natural pode ultrapassar as fronteiras evidentes de documentação de produto, e apoiar diretamente na execução de atividades relacionadas a pelo menos três aspectos que podem ser observados em projetos de software: a negociação para entregas parciais dos requisitos, as solicitações de mudança como potenciais fontes de aumento de escopo e a elaboração de casos de teste de aceite para o produto construído (Leffingwell, Widrig, Pressman). É utilizado o conceito de granularidade do requisito (Robertson & Robertson) para debater a relevância do nível de detalhamento na especificação do requisito. A partir deste conceito são realizadas análises comparativas, através de um mesmo requisito redigido de formas distintas, o que possibilita avaliar como eventuais dificuldades relacionadas aos três aspectos considerados podem ser minimizadas quando utilizada uma granularidade que permite compreensão uniforme tanto por técnicos quanto por usuários do nível de detalhamento que deve ser aplicado (Alexander, Stevens) na formalização de cada requisito funcional. Palavras-chave: Engenharia de Requisitos. Gestão de escopo de software. Entrega parcial de sof 1 INTRODUÇÃO i i Universidade Federal do Paraná (UFPR), marquioni@marquioni.com.br, A definição de requisito considerada no trabalho é aquela proposta pela norma do Institute of Electrical and Electronics Engineers (IEEE): (1) Uma condição ou capacidade que um usuário necessita para resolver um problema ou atingir um objetivo. (2) Uma condição ou capacidade que obrigatoriamente deve ser atendida ou possuída por um produto ou um componente de um produto para satisfazer um contrato, um padrão, uma especificação, ou outros documentos formalmente estabelecidos. (3) Uma representação documentada de uma condição ou capacidade conforme descrita em (1) ou (2) (ap. CHRISSIS; KONRAD; SHRUM, 2003, p. 627)

2 2 O método utilizado para redação dos requisitos ii funcionais iii influencia sua compreensão. Se, por um lado, as representações formais através de diagramas técnicos costumam enfrentar dificuldades na leitura rigorosa por usuários iv, quando os requisitos são especificados através de textos em linguagem natural tampouco é possível afirmar que haverá compreensão adequada: Esta abordagem de escrita [a linguagem natural] possui a vantagem de não apresentar barreiras adicionais entre as pessoas de disciplinas diferentes que estão envolvidas na fase [do ciclo de vida do projeto de software]. Por outro lado, a linguagem natural tem muitas propriedades que são indesejáveis em especificações (ambigüidade, imprecisão e inconsistência) (MAZZA et al., 1994, p. 25). Embora controladas pela gramática, as linguagens naturais são mais fáceis de escrever porque sua gramática não é especificada de forma tão rígida quanto aquela das linguagens formais. Por outro lado, é mais difícil ser específico e preciso, evitar ambigüidades na linguagem natural (NADIN, 1988, p. 299). No caso dos requisitos funcionais, o método de especificação possui uma importância evidente, relacionada ao fato de ser fundamental que a documentação gerada para o produto possibilite aos participantes do projeto de software a compreensão do conteúdo formalizado, de modo que seja possível entender o que o produto oferece (suas funcionalidades). Mas a compreensão dos requisitos especificados pode influenciar também em aspectos que ultrapassam a documentação do produto: como exemplos podem ser citados o momento do projeto no qual o requisito deve ser desenvolvido, a determinação se solicitações de mudança originadas durante o projeto caracterizam aumento das funcionalidades previstas, além de auxiliar a definir critérios para evidenciar que o produto apresenta o comportamento esperado. Em outros termos, os requisitos funcionais especificados tanto orientam o que deve ser desenvolvido em termos de software como também apóiam a execução de tarefas de caráter gerencial e técnico, pois podem influenciar a negociação para entregas parciais, a determinação de variações de escopo e a especificação de casos de teste. ii A definição de requisito considerada no trabalho é aquela proposta pela norma do Institute of Electrical and Electronics Engineers (IEEE): (1) Uma condição ou capacidade que um usuário necessita para resolver um problema ou atingir um objetivo. (2) Uma condição ou capacidade que obrigatoriamente deve ser atendida ou possuída por um produto ou um componente de um produto para satisfazer um contrato, um padrão, uma especificação, ou outros documentos formalmente estabelecidos. (3) Uma representação documentada de uma condição ou capacidade conforme descrita em (1) ou (2) (ap. CHRISSIS; KONRAD; SHRUM, 2003, p. 627). iii Um requisito funcional é uma ação que o produto deve executar para ser útil aos usuários. Requisitos funcionais surgem a partir do trabalho que seus stakeholders necessitam fazer. Quase toda ação calcular, inspecionar, publicar [...] pode ser um requisito funcional. [...] Este requisito é algo que o produto obrigatoriamente deve fazer para ser útil no contexto do negócio do cliente (ROBERTSON; ROBERTSON, 2007, p. 09). iv Há evidências que pessoas que não sejam engenheiros de sistemas leiam todos os diagramas [independente da notação utilizada] [...] como se eles fossem [apenas] fluxogramas, então não espere muito de diagramas formais (ALEXANDER; STEVENS, 2002, p. 37).

3 3 Visando minimizar as incompreensões em relação aos requisitos funcionais, pensadores têm apresentado características que merecem ser observadas durante sua formalização através de linguagem natural, destacando que é [...] importante utilizar boas práticas de escrita ao redigir requisitos [...] [como, por exemplo,] Escrita na voz ativa [...] Remoção de ambigüidades [...] Uso da linguagem do cliente [...] Organização em sentenças independentes, focadas e curtas: [...] Decomposição dos requisitos de modo que cada requisito tenha um foco claro e um propósito verdadeiro (JONASSON, 2008, p ). Este trabalho realiza análises comparativas no texto de um mesmo requisito funcional especificado de duas formas distintas, enfatizando a relevância da decomposição dos requisitos e tentando estabelecer o que pode significar um foco claro. Para estas análises, o artigo é dividido em quatro seções, além desta introdução e das considerações finais. A seção Contextualização geral introduz brevemente o conceito de granularidade do requisito funcional e apresenta o exemplo utilizado ao longo do trabalho. A seção Entregas parciais analisa como a forma de especificação utilizada pode influenciar nas negociações relacionadas à ordem de desenvolvimento e entrega de releases ao longo do projeto de software. A seção Variação de escopo apresenta como o método de especificação pode apoiar os profissionais de software a evidenciar situações em que uma solicitação de mudança caracteriza um aumento de escopo, enquanto a seção Especificação de testes analisa como a granularidade utilizada pode auxiliar na elaboração de casos de teste de aceite para demonstrar que o comportamento do produto foi implementado corretamente. Finalmente, as Considerações finais resumem o conteúdo debatido, indicando a necessidade de haver desdobramentos para este trabalho. 2 CONTEXTUALIZAÇÃO GERAL O método de especificação não exerce influência apenas quando considerados requisitos complexos em termos de negócio ou de implementação técnica. Visando demonstrar como inclusive requisitos simples merecem atenção em relação ao nível de refinamento durante sua especificação, as breves análises reflexivas realizadas neste artigo são elaboradas a partir de um exemplo de requisito funcional que sugere simplicidade, tanto sob perspectiva de negócio quanto para implementação em termos de software da funcionalidade requerida. A idéia é demonstrar que mesmo para os requisitos de implementação técnica simples, os aspectos considerados no trabalho são críticos e podem caracterizar risco caso sejam tratados apenas de maneira superficial.

4 4 Vale destacar que o exemplo utilizado assume como premissa que o conhecimento do negócio em questão foi equacionado (por exemplo, através do entendimento de causas raízes dos problemas v ), e o requisito resultante efetivamente corresponde à maneira adequada de atender às necessidades dos usuários: ou seja, o trabalho não avalia se o requisito exemplo deveria existir, por considerar que esta análise foi realizada anteriormente. Ainda, uma vez que a ênfase do trabalho é em relação ao método de especificação, não são realizadas análises reflexivas quanto a outros aspectos indubitavelmente relevantes, como restrições gerenciais (prazo, orçamento etc.), de equipe (conhecimento técnico, dedicação, motivação etc.) ou ambiente (tecnologia utilizada, dificuldade da linguagem de programação etc.). Em outros termos: o artigo se limita a apresentar qual é o impacto do método de formalização nos três aspectos considerados (negociação de entregas parciais, variação de escopo de produto e elaboração dos casos de teste). 2.1 GRANULARIDADE DO REQUISITO FUNCIONAL Todo requisito deveria nomear um único resultado desejado [grifo meu] (ALEXANDER; STEVENS, 2002, p. 99). A granularidade define a atomicidade do requisito funcional. O termo costuma ser utilizado para referenciar o quão detalhados estão os requisitos, referenciando o Nível de Detalhe ou Granularidade (ROBERTSON; ROBERTSON, 2007, p. 160): a partir da definição da granularidade do requisito funcional é possível estabelecer o que significa um requisito funcional (sua unidade). Uma analogia com a Engenharia Civil auxilia a entender em linhas gerais a relevância dessa definição: um indivíduo que conhece e compreende o conceito de área construída e a unidade metro quadrado compreende que uma casa que tem 100 metros quadrados construídos é menor do que uma outra com 200 metros quadrados de área construída. Por outro lado, no caso do desenvolvimento e manutenção de software, sem a definição da granularidade dos requisitos ainda que seja entendido o conceito de o que significa um software não é possível afirmar que um produto com 10 requisitos é menor que outro contendo 20 requisitos. Sem definir claramente o que significa um requisito funcional, a realização de análises comparativas de tamanho pode ser prejudicada. Em outros termos, a granularidade auxilia na definição de como o requisito funcional pode ter um foco claro. 2.2 REQUISITO BÁSICO DE REFERÊNCIA v Consulte (LEFFINGWELL; WIDRIG, 2006, p ).

5 5 Requisitos que contém conjunções palavras que unem sentenças são perigosos. Conjunções que podem trazer perigo incluem: e, ou, com, também [grifo no original] (ALEXANDER; STEVENS, 2002, p ). Conhecimentos do negócio e jargão relacionados à publicação de livros dão conta que obras editadas possuem um título, um autor (ou vários) e um número que o identifica, atribuído de acordo com um padrão mundial: o ISBN (International Standard Book Number). O exemplo utilizado no trabalho considera um requisito para disponibilizar consultas de livros já cadastrados. A primeira forma de especificação exemplo para as análises comparativas é apresentada na Tabela 1. Tabela 1 - Formato original exemplo para especificação de requisitos funcionais Requisito O sistema deverá permitir aos usuários a procura de um item por título, autor ou ISBN Fonte: (KOTONYA; SOMMERVILLE, 1998, p. 4) Apesar da aparente simplicidade e clareza, o trabalho considera que este requisito exemplo está especificado utilizando uma granularidade inadequada, pois parece fornecer três resultados possíveis (um resultado associado a cada consulta), devido ao uso da conjunção ou. Logo, considera-se que esta forma de especificação do requisito funcional não possui um foco claro. Para efeito de análises comparativas, é proposta uma forma de especificação alternativa através de três requisitos, ao invés de um único. Assim, a segunda forma de especificação para as análises comparativas é apresentada na Tabela 2. Tabela 2 - Formato alternativo exemplo para especificação de requisitos funcionais Requisito O sistema permite aos usuários a procura de um item por título O sistema permite aos usuários a procura de um item por autor O sistema permite aos usuários a procura de um item por ISBN Fonte: Sugestão do autor O leitor deve ter observado que inclusive o tempo verbal dos requisitos especificados segundo o formato alternativo sugerido na Tabela 2 é diferente daquele apresentado anteriormente: isto se deve ao fato que este trabalho considera que os requisitos são itens de

6 6 configuração vi, caracterizam documentação de produto e, como tal, devem ser especificados utilizando tempo verbal presente: com o produto construído, os requisitos continuam válidos e o tempo verbal futuro pode causar a sensação que mesmo requisitos entregues ainda não foram implementados. Contudo, o artigo não apresenta reflexões em relação aos requisitos funcionais como itens de configuração: a complexidade do tema parece justificar a elaboração de um trabalho específico para esta análise. As seções seguintes analisam comparativamente as duas formas de escrita, debatendo como a definição da granularidade influencia nos aspectos considerados. 3 ENTREGAS PARCIAIS 3.1 GRANULARIDADE E NEGOCIAÇÃO DO REQUISITO Entregas parciais podem ser observadas quando é utilizado um ciclo de vida iterativo vii para executar o projeto de software. O risco principal relacionado à negociação de entregas parciais nestes casos está associado ao usuário classificar a maioria (ou, em uma situação limite, a totalidade) dos requisitos funcionais como tendo necessidade de entrega urgente, dificultando a definição das iterações: os técnicos e gestores de software podem encontrar dificuldades para negociar quais funcionalidades necessitam ser entregues em cada release do sistema viii. O trabalho considera que a negociação para entregas parciais pode ser facilitada caso os requisitos sejam especificados detalhadamente (considerando como referência a granularidade proposta da Tabela 2). Complementando o detalhamento para as negociações, é recomendada também a utilização de uma classificação dos requisitos a partir de atributos que permitam pontuar características técnicas e de negócio a maior granularidade auxilia inclusive na pontuação destes atributos. Para efeito ilustrativo, o artigo utiliza como estratégia os atributos para negociação propostos por Leffingwell e Widrig (2006), que classificam os requisitos quanto à vi Um item de configuração (IC) é uma agregação de hardware, software ou ambos, que é designada para gestão de configuração e é tratada como uma entidade única no processo de gestão de configuração. Muitos fatores podem ser relevantes ao decidir onde definir as fronteiras de um item de configuração. Um item de configuração pode ser qualquer tipo de item de software, por exemplo: um módulo, um documento ou um conjunto de ICs (MAZZA et al., 1994, p. 64). Consulte ainda (LEON, 2005). vii Consulte (JACOBSON, BOOCH, RUMBAUGH, 2001). viii Uma release do sistema é um conjunto de itens que é entregue aos clientes. Cada release do sistema inclui novas funcionalidades ou features ou algumas correções para falhas encontradas por clientes, desenvolvedores ou testadores (LEON, 2005, p ).

7 7 prioridade, esforço ix e risco x. A estratégia sugerida pelos autores foi escolhida apesar de eles proporem um nível de granularidade para aplicação dos atributos distinto daquele recomendado por este trabalho (apresentada na Tabela 2): os autores defendem que a negociação deve ocorrer em relação às features xi (2006, p ) do produto que têm, por definição, menor granularidade (são menos refinadas). Esta variação, de certa forma, auxilia a demonstrar a relevância do maior refinamento no exemplo a seguir. O trabalho considera ainda que a estratégia de considerar uma menor granularidade para especificação dos requisitos funcionais nos estágios iniciais dos projetos de software, de modo que uma maior granularidade seja obtida à medida que o projeto avançasse no ciclo de vida (proposta por Leffingwell e Widrig) pode não ser interessante, pois essa variação supostamente prevista eventualmente caracteriza uma nova dificuldade, associada à definição de qual seria a variação esperada ou aceitável para o nível de detalhamento. Ao invés de supor níveis distintos de especificação, parece mais adequado que seja definido um método de especificação simples e que forneça já nas primeiras abstrações dos requisitos uma granularidade considerada adequada pelos profissionais envolvidos em projetos de software. Assim, este trabalho sugere o uso dos atributos propostos por Leffingwell e Widrig (2006), mas entende que a granularidade de features conforme proposta por esses autores pode dificultar a negociação: é apresentado em seguida um exemplo de como cada granularidade oferece possibilidades distintas de visibilidade e, conseqüentemente, de negociação. Vale destacar ainda que aparentemente a feature, conforme proposta por Leffingwell e Widrig (2006) possui um nível de detalhamento mais geral do que aquele apresentado na Tabela 1: talvez a feature correspondente ao exemplo que tenha fidelidade em relação à definição dos autores seja Possibilitar consultas. Contudo, por se tratar de uma hipótese (uma vez que o conceito de nível de detalhamento mais geral parece demasiado subjetivo), o trabalho considera que utilizar a especificação apresentada na Tabela 1 como feature não compromete as análises ou distorce de maneira significativa o conceito apresentado pelos autores. ix Os autores recomendam utilizar escalas considerando Prioridade: valores Crítico (Muito prioritário), Importante (Médio prioritário) e Útil (Pouco prioritário) e Esforço: Alto (Muito esforço), Médio (Médio esforço) e Baixo (Pouco esforço). x Os autores comentam que o risco a considerar deve ser aquele associado à probabilidade que uma implementação cause um impacto adverso no cronograma e/ou no orçamento. xi Features são expressões em alto nível do comportamento de um sistema desejado [...]. Features geralmente não estão bem definidas e podem inclusive estar em conflito entre si (LEFFINGWELL; WIDRIG, 2006, p. 96).

8 8 3.2 VARIAÇÃO DE VISIBILIDADE DE NEGOCIAÇÃO A premissa considerada é que quanto menor for a granularidade dos requisitos, maior deve ser a dificuldade de negociação, pois a granularidade pode sugerir ao usuário que o que está em negociação não é a entrega de parte dos requisitos, mas a entrega de parte de um requisito (no caso do exemplo apresentado na Tabela 1, caso houvesse necessidade de negociar para uma primeira release a entrega apenas da pesquisa por título, o usuário poderia entender a release como um terço do requisito funcional). Quando há menor granularidade, inclusive a avaliação dos atributos para classificação dos requisitos é dificultada, provocando eventuais omissões de análise por simplificação. Para as tabelas a seguir, os valores atribuídos para as prioridades, esforços e riscos são apenas ilustrativos; o que se deseja evidenciar é que o formato de especificação apresentado na Tabela 3 pode induzir o profissional que vai atribuir valores para os critérios de classificação a uma simplificação. Tabela 3 - Exemplo de priorização para o requisito no formato original Requisito Prioridade Esforço Risco O sistema deverá permitir aos usuários a procura de um item por título, autor ou ISBN Crítico Baixo Baixo Fonte: Sugestão do autor adaptação a partir de (KOTONYA; SOMMERVILLE, 1998, p. 4) e (LEFFINGWELL; WIDRIG, 2006, p. 215) Tabela 4 - Exemplo de priorização para o requisito utilizando maior granularidade Requisito Prioridade Esforço Risco O sistema permite aos usuários a procura de um item Crítico xii Médio xiii Baixo por título O sistema permite aos usuários a procura de um item Importante Médio xiv Médio por autor O sistema permite aos usuários a procura de um item por ISBN Útil xv Baixo Baixo Fonte: Sugestão do autor Os requisitos especificados nas Tabelas 3 e 4 procuram demonstrar que a maior granularidade possibilita uma avaliação mais rigorosa dos atributos considerados: requisitos xii A pesquisa por título poderia ser considerada prioritária pelo cliente por ser aquela através da qual normalmente as consultas são realizadas (trata-se da consulta mais usual). xiii O esforço poderia ser considerado médio neste caso devido à necessidade de utilizar mecanismos técnicos de busca de texto eficiente. xiv O esforço maior em comparação aos outros requisitos poderia ser justificado, por exemplo, devido a uma entidade de dados auxiliar para manter o catálogo de autores. xv A pesquisa por ISBN poderia ser considerada pelo cliente pouco prioritária por ser pouco usual.

9 9 com menor granularidade podem não fornecer visibilidade suficiente para negociações, chegando mesmo a ofuscar nuances relacionadas a cada critério utilizado, eventualmente provocando omissão de informações relevantes. 4 VARIAÇÃO DE ESCOPO A granularidade dos requisitos funcionais pode auxiliar também a evidenciar variações de escopo do produto. O escopo do produto é função das funcionalidades que devem ser obrigatoriamente entregues para atender às necessidades dos usuários (LEFFINGWELL; WIDRIG, 2006, p. 207), e apresenta em um projeto de software típico uma variação que oscila xvi entre 125% e 500% (p. 209). Para entender como a granularidade do requisito pode auxiliar a evidenciar que houve variação de escopo, considere que uma solicitação de mudança originou três novos critérios de procura para a consulta de livros do exemplo: a editora, o idioma e o ISBN-13 do item. Para não tornar as considerações demasiado extensas, o exemplo não vai entrar no mérito da especificação do requisito relacionado à adição dos atributos nas entidades de dados ou classes correspondentes, e vai se deter apenas nas consultas. As Tabelas 5 e 6 apresentam a nova versão para os requisitos funcionais, considerando as duas formas de especificação utilizadas. Tabela 5 - Requisito original atualizado com novos critérios de procura Requisito O sistema deverá permitir aos usuários a procura de um item por título, autor, ISBN, editora, idioma ou ISBN-13 Fonte: Sugestão do autor adaptação a partir de (KOTONYA; SOMMERVILLE, 1998, p. 4) Tabela 6 - Requisitos alternativos atualizados com novos critérios de procura Requisito O sistema permite aos usuários a procura de um item por título O sistema permite aos usuários a procura de um item por autor O sistema permite aos usuários a procura de um item por ISBN O sistema permite aos usuários a procura de um item por editora O sistema permite aos usuários a procura de um item por idioma O sistema permite aos usuários a procura de um item por ISBN-13 Fonte: Sugestão do autor xvi É relevante destacar que a variação típica informada pelos autores é relativa à granularidade de features, que consideram adequada. Assim, considerando a granularidade proposta no trabalho, o índice de variação tende a ser menor.

10 10 Como a Tabela 5 apresenta, quando utilizada uma menor granularidade através do uso da conjunção ou, para ser mantida a coerência em relação à forma de especificação, os novos critérios para pesquisa dos itens deveriam ser adicionados no final do texto do requisito anteriormente especificado. Com isso, a quantidade de requisitos não varia: antes da solicitação de mudança havia um único requisito, e na nova especificação (após a solicitação de mudança) ainda há um único requisito: a granularidade menor esconde a variação quantitativa dos requisitos funcionais em relação à solicitação de mudança. A Tabela 6 procura evidenciar que quando cada critério é listado como um requisito independente, um novo critério adicionado aumenta a quantidade dos requisitos. Parece ainda importante destacar que caso a alternativa de especificação para formalizar os requisitos relacionados à solicitação de mudança seja semelhante àquela apresentada na Tabela 7 (ou com pequenas variações), o usuário pode ter a sensação que a equipe do projeto faz a quantidade de requisitos variar de acordo com os próprios interesses, por eventualmente não entender a lógica aplicada para que os novos critérios não fossem adicionados no final do requisito original, utilizando também a conjunção ou. Em outros termos, se a granularidade não é aplicada de maneira uniforme na especificação dos requisitos, é difícil estabelecer claramente como ocorre a variação de escopo do produto, ou qual é o critério utilizado para fazer variar a quantidade de requisitos. Tabela 7 - Requisitos atualizados com novos critérios de pesquisa sem manter granularidade uniforme Requisito O sistema deverá permitir aos usuários a procura de um item por título, autor ou ISBN O sistema deverá permitir aos usuários a procura de um item por editora, idioma ou ISBN- 13 Fonte: Sugestão do autor É relevante destacar que este trabalho não propõe romper com técnicas de estimativas de tamanho de produto (Pontos de Função, por exemplo que poderia ser utilizada para demonstrar a variação de escopo). Contudo, o método de especificação pode apoiar nesta definição do tamanho do produto de software: no caso do exemplo desta seção, provavelmente xvii haveria também variação de tamanho se realizadas contagens de Pontos de Função antes e depois do aumento dos critérios de pesquisa, mas talvez seja mais clara ao xvii Neste caso, a variação dependeria da solução técnica utilizada.

11 11 usuário a variação de requisitos através da evidência de variação da quantidade numérica ao invés do uso de uma unidade mais complexa como Pontos de Função, que necessita de maior repertório técnico para compreensão. 5 ESPECIFICAÇÃO DE TESTES Para evidenciar que os requisitos funcionais desenvolvidos possuem o comportamento esperado existem os casos de teste, que devem ser especificados ainda nos estágios iniciais do projeto de software xviii. Os casos de teste estabelecem relação direta com os requisitos: Testar é o processo de exercitar ou avaliar um sistema ou um componente de sistema, utilizando meios manuais ou automatizados para: - confirmar que ele satisfaz os requisitos especificados (MAZZA et al., 1994, p ). A relação entre os requisitos funcionais e os casos de teste fica ainda mais evidente quando considerado que: Conhecendo a função especificada para a qual um produto foi projetado, podem ser conduzidos testes para demonstrar que cada função está completamente operacional, ao mesmo tempo em que são procurados erros em cada função (PRESSMAN, 2000, p. 432) as funções que um produto de software deve executar são seus requisitos funcionais. É relevante também prever situações de erro para avaliar o comportamento do produto no tratamento de exceções durante os testes. 1. Testar é um processo de executar um programa com o objetivo de encontrar um erro. 2. Um bom caso de teste é aquele que tem grande probabilidade de encontrar um erro não descoberto até o momento. 3. Um teste de sucesso é aquele que descobre um erro não descoberto até o momento (MYERS, 1979 ap. PRESSMAN, 2000, p. 428). Com isso, é necessário especificar, no mínimo, dois casos de teste para cada requisito: um caso para testar o comportamento conforme esperado, e outro para o tratamento da exceção. Evidentemente, quanto maior o número de exceções previsto, maior o número de casos de teste que deve ser elaborado para haver uma validação sistemática. Segundo esta instrução, os requisitos listados na Tabela 6 teriam ao menos doze casos de teste associados: dois para cada requisito (por exemplo, um caso de teste para pesquisar um título cadastrado, e outro para avaliar comportamento quando pesquisado um título não cadastrado; um caso de xviii Jacobson, Booch e Rumbaugh comentam que ainda na fase de concepção do produto de software, Paralelamente às atividades de análise, design e implementação, [...] os engenheiros de testes tomam conhecimento da natureza geral do sistema proposto, considerando quais testes serão requeridos (2001, p. 354).

12 12 teste para pesquisar um autor cadastrado, e outro para avaliar comportamento quando pesquisado um autor não cadastrado etc.). Os mesmos doze casos de teste mínimos deveriam ser identificados em relação à Tabela 5 contudo, neste caso parece mais difícil ao profissional responsável pela formalização dos testes identificar todas as possibilidades, inclusive determinar aquela quantidade mínima necessária, uma vez que há uma única sentença para especificar todo o comportamento. Em outros termos, há risco de ser subestimada a quantidade mínima de casos de teste, o que pode comprometer o aceite do produto: a especificação de cenários para tratar alternativas (na execução correta e em situações de erro) parece facilitada quando os requisitos possuem maior granularidade, ao invés de ter funcionalidades agrupadas. 6 CONSIDERAÇÕES FINAIS A especificação de requisitos não é uma tarefa trivial: enquanto as representações formais através diagramas técnicos não são validadas com o rigor técnico esperado, textos em linguagem natural enfrentam o problema da ambigüidade e podem ser prejudicados em função da quantidade de informações de cada requisito funcional. Pensadores de software têm divulgado que A essência da boa escrita [de requisitos] é a simplicidade, e a chave para isso é permitir que cada requisito diga apenas uma coisa. Os requisitos se tornam complicados quando tentam definir de uma única vez [todo] um comportamento, um desempenho, um ou dois casos especiais, além de um comportamento alternativo (ALEXANDER; STEVENS, 2002, p. 18), Associado aos fatores de escrita há o fato que mesmo requisitos com implementação tecnicamente simples podem caracterizar fontes potenciais de problemas quando a especificação não estiver em um nível de detalhamento adequado para compreensão uniforme entre os participantes do projeto de software. Contudo, são poucos os métodos definidos para redação de requisitos funcionais utilizando linguagem natural xix, e embora estes métodos apresentem boas práticas relacionadas à escrita de requisitos, ainda não é possível afirmar que exista uma definição clara de qual é a granularidade a utilizar para especificação dos requisitos funcionais de software. Um exemplo para esta afirmação pode ser obtido através do método Volere (ROBERTSON; ROBERTSON, 2007), que apresenta boas práticas de escrita para os xix Como exemplos de métodos de especificação textual podem ser citados Freedom (LUTOWSKI, 2005), Volere (ROBERTSON; ROBERTSON, 2007), o guia de especificação Software Requirement Patterns (WITHALL, 2007), as orientações de especificação apresentadas em (WIEGERS, 2003).

13 13 requisitos, aborda o problema da granularidade/atomicidade dos requisitos funcionais, fornece um modelo de artefato para proceder com a formalização, mas se limita, na instrução de preenchimento deste artefato, a indicar que a especificação do requisito corresponde a Um enunciado através de uma sentença acerca da finalidade do requisito (ROBERTSON; ROBERTSON, 2007, p. 15): indubitavelmente vago. Além disso, os exemplos de especificação apresentados pelos autores parecem não realizar reflexões aprofundadas acerca dos requisitos como documentação de produto (como itens de configuração), pois a formalização apresentada utiliza tempo verbal futuro para redação, sugerindo que os requisitos possam ser descartados uma vez com o produto construído. Os exemplos apresentados ao longo do artigo tampouco podem ser classificados como tendo a granularidade adequada apenas procuraram ilustrar que a definição de um nível de detalhamento que seja compreendido e aceito possibilita atuar em relação aos requisitos com aspectos que ultrapassam a documentação (por mais importante que seja a documentação). Assim, este trabalho não se considera conclusivo ao contrário, apresentou reflexões apenas iniciais da relevância de definir uma granularidade para os requisitos, não apenas para que os usuários tenham maior probabilidade de compreensão do conteúdo especificado, mas também para que os próprios profissionais (técnicos e gestores) que atuam em projetos possam extrair informações do conteúdo especificado dos requisitos que minimizem dificuldades durante o desenvolvimento e a manutenção de produtos de software.

14 14 FUNCTIONAL SOFTWARE REQUIREMENTS: INITIAL REFLECTIONS RELATED TO THE INFLUENCE OF THE SPECIFICATION METHOD IN PROJECT MANAGEMENT CHARACTERISTICS ABSTRACT This paper presents a relation between the method used to specify functional requirements (using natural language) and three aspects that can characterize difficulties in software projects: the negotiation to realize incremental deliveries of the product, the change requests as a potential source to increase product scope and acceptance test cases elaboration (Leffingwell, Widrig, Pressman). Using the requirement granularity concept (Robertson & Robertson), this work proposes some analytical reflection considering the specification of the same requirement in different ways, which allow an evaluation of how some difficulties related to these three aspects can be minimized when using a requirement s specification granularity that reduces misunderstandings (Alexander, Stevens) between technicians and users. Keywords: Requirements Engineering. Software scope management. Software partial delivery. Software test cases.

15 15 REFERÊNCIAS ALEXANDER, Ian F.; STEVENS Richard. Writing Better Requirements. Londres: Addison-Wesley, CHRISSIS, Mary B.; KONRAD, M.; SHRUM, S. CMMI Guidelines for process integration and product improvement. Boston: Addison-Wesley, JACOBSON, I.; BOOCH, G.; RUMBAUGH, J. The unified software development process. Boston: Addison-Wesley, JACOBSON, I.; NG, Pan-Wei. Aspect-Oriented software development with use cases. Boston: Addison-Wesley, JONASSON, H. Determining project requirements. Boca Raton: Auerbach Publications, KOTONYA, G.; SOMMERVILLE, I. Requirements Engineering Processes and Techniques. New York: John Wiley & Sons Inc, LEFFINGWELL, D.; WIDRIG, D. Managing Software Requirements Second Edition A use case approach. Boston: Addison-Wesley, LEON, A. Software configuration management handbook. Boston: Artech House, LUTOWSKI, R. Software Requirements: encapsulation, quality and reuse. Boca Raton: Auerbach Publications, MAZZA, C. et al. Software Engineering Standards. Londres: Prentice-Hall, NADIN, M. Interface design: a semiotic paradigm. In: Semiotica 69-3/4. Amsterdam: Mouton-de Gruyter, 1988, p Disponível em: < Acesso em: 03 fev PRESSMAN, R., Software Engineering: A Practitioner s Approach: European Adaptation. Londres: McGraw-Hill International, ROBERTSON, S.; ROBERTSON, J. Mastering the requirements process: Second Edition. Boston: Addison Wesley, WIEGERS, Karl E. Software requirements. Redmond: Microsoft Press, WITHALL, S. Software requirement patterns. Redmond: Microsoft Press, 2007.

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis Abstract. Resumo. 1. Introdução Vinicius A. C. de Abreu 1 Departamento de Ciência da Computação - DCC Universidade

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

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

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

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Gerenciamento de Projetos Modulo VIII Riscos

Gerenciamento de Projetos Modulo VIII Riscos Gerenciamento de Projetos Modulo VIII Riscos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

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

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

A seguir são apresentadas as etapas metodológicas da Pesquisa CNT de Rodovias.

A seguir são apresentadas as etapas metodológicas da Pesquisa CNT de Rodovias. Metodologia A Pesquisa CNT de Rodovias propõe-se a avaliar a situação das rodovias brasileiras a partir da perspectiva dos usuários da via. As características - pavimento, sinalização e geometria - são

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

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software Módulo 1 SCE186-ENGENHARIA DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br CONSTRUÇÃO Planejamento do Codificação Teste MANUTENÇÃO Modificação 2003 2 Planejamento do Gerenciamento CONSTRUÇÃO de Codificação

Leia mais

Qualidade de Software

Qualidade de Software de Software Gerenciamento de de Software Dedica-se a assegurar que o nível requerido de qualidade seja atingido Em um produto de software Envolve a definição de padrões e procedimentos apropriados de qualidade

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

Processos de Software

Processos de Software Processos de Software Prof. Márcio Lopes Cornélio Slides originais elaborados por Ian Sommerville O autor permite o uso e a modificação dos slides para fins didáticos O processo de Um conjunto estruturado

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software (Cap 6 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Requisitos funcionais e não funcionais

Leia mais

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX Murilo Augusto Tosatti (ICV-Unicentro), Marcos Antonio Quináia (Orientador), e-mail: maquinaia@gmail.com. Universidade Estadual do

Leia mais

Gerenciamento de Projetos Modulo IX Qualidade

Gerenciamento de Projetos Modulo IX Qualidade Gerenciamento de Projetos Modulo IX Qualidade Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.

Leia mais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares André Assis Lôbo de Oliveira Francisco Guerra Fernandes Júnior Faculdades Alves Faria, 74445190, Brasil andrelobin@hotmail.com,

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

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos NOÇÕES DE OHSAS 18001:2007 CONCEITOS ELEMENTARES SISTEMA DE GESTÃO DE SSO OHSAS 18001:2007? FERRAMENTA ELEMENTAR CICLO DE PDCA (OHSAS 18001:2007) 4.6 ANÁLISE CRÍTICA 4.3 PLANEJAMENTO A P C D 4.5 VERIFICAÇÃO

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Conceitos, estudo, normas Giuliano Prado de Morais Giglio profgiuliano@yahoo.com.br Objetivos Definir Qualidade Definir Qualidade no contexto de Software Relacionar Qualidade de Processo

Leia mais

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP Planejamento - 7 Planejamento do Gerenciamento do Risco Identificação dos riscos 1 O que é risco? Evento que representa uma ameaça ou uma oportunidade em potencial Plano de gerenciamento do risco Especifica

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Projeto e Desenvolvimento de Sistemas Dr. Fábio Levy Siqueira levy.siqueira@gmail.com Aula 2: Garantia da Qualidade e Padrões Qualidade de software Quais são as atividades de Gestão

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE ULRICH, Helen Departamento de Engenharia de Produção - Escola de Engenharia

Leia mais

ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS

ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS ESTRUTURA DE GERENCIAMENTO DO RISCO OPERACIONAL DO BANCO COOPERATIVO SICREDI E EMPRESAS CONTROLADAS Versão : 31 de dezembro de 2008 CONTEÚDO 1. INTRODUÇÃO...3 2. ORGANIZAÇÃO DA GESTÃO DE RISCO OPERACIONAL...3

Leia mais

Teste de Software Parte 1. Prof. Jonas Potros

Teste de Software Parte 1. Prof. Jonas Potros Teste de Software Parte 1 Prof. Jonas Potros Cronograma Verificação e Validação Teste de Software: Definição e Conceitos Técnicas de Teste Fases de Teste Processo de Teste Automatização do Processo de

Leia mais

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO DESENVOLVENDO UM PROJETO 1. Pense em um tema de seu interesse ou um problema que você gostaria de resolver. 2. Obtenha um caderno

Leia mais

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento de Projetos Modulo III Grupo de Processos Gerenciamento de Projetos Modulo III Grupo de Processos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software. Engenharia de Software Aula 06 Tópicos da Aula Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 26 Março 2012 Funcionais e não funcionais De usuário e do Engenharia de Estudo

Leia mais

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR Data: 6 de Dezembro de 2011 Horário: 13:00 às 17:00 horas (hora de Brasília) Nome: e-mail: Nota: INSTRUÇÕES Você deve responder a todas as questões. O total máximo de pontos da prova é de 100 pontos (100%),

Leia mais

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Gestão do Risco e da Qualidade no Desenvolvimento de Software Gestão do Risco e da Qualidade no Desenvolvimento de Software Questionário Taxinómico do Software Engineering Institute António Miguel 1. Constrangimentos do Projecto Os Constrangimentos ao Projecto referem-se

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)

Leia mais

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

Integrando o Framework I* com a Gerência de Risco

Integrando o Framework I* com a Gerência de Risco Integrando o Framework I* com a Gerência de Risco Jean Poul Varela¹, Jaelson Castro¹, Victor F. A. Santander² ¹Centro de Informática, Universidade Federal de Pernambuco, Recife, Brasil. {jpv, jbc}@cin.ufpe.br

Leia mais

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

Política de Gerenciamento de Risco Operacional

Política de Gerenciamento de Risco Operacional Política de Gerenciamento de Risco Operacional Departamento Controles Internos e Compliance Fevereiro/2011 Versão 4.0 Conteúdo 1. Introdução... 3 2. Definição de Risco Operacional... 3 3. Estrutura de

Leia mais

Porque estudar Gestão de Projetos?

Porque estudar Gestão de Projetos? Versão 2000 - Última Revisão 07/08/2006 Porque estudar Gestão de Projetos? Segundo o Standish Group, entidade americana de consultoria empresarial, através de um estudo chamado "Chaos Report", para projetos

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

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 5 Leandro Loss, Dr. Eng. loss@gsigma.ufsc.br http://www.gsigma.ufsc.br/~loss Roteiro Análise de Qualitativa Quantitativa Medidas

Leia mais

UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO

UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO UNIÃO EDUCACIONAL DO NORTE UNINORTE AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO RIO BRANCO Ano AUTOR (ES) AUTOR (ES) TÍTULO DO PROJETO Pré-Projeto de Pesquisa apresentado como exigência no processo de seleção

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE QUALIDADE DE SOFTWARE - 02 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.

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 2-26/04/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Princípios do teste de software

Princípios do teste de software Teste de Software Princípios do teste de software Conforme a Lei de Pareto, 80% dos erros podem ser localizados em 20% do projeto, geralmente nos módulos principais do sistema; A atividade de teste não

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

Escopo de Projeto x Escopo de Produto: A Engenharia de Requisitos como subsídio para a Gestão de Software 1

Escopo de Projeto x Escopo de Produto: A Engenharia de Requisitos como subsídio para a Gestão de Software 1 Escopo de Projeto x Escopo de Produto: A Engenharia de Requisitos como subsídio para a Gestão de Software 1 Carlos Eduardo Marquioni 2, M.Sc., PMP Resumo: Considerando que a qualidade do processo utilizado

Leia mais

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Curso de Especialização em Tecnologia da Informação. Engenharia de Software Universidade Federal de Pernambuco Departamento de Informática Curso de Especialização em Tecnologia da Informação Engenharia de Software Questionário para Discussão e Reflexão Aluna: Danielle Novaes de

Leia mais

ALTERNATIVA PARA SIMPLIFICAÇÃO NA ESTRUTURA DE EXECUÇÃO DE PROJETOS SEIS-SIGMA

ALTERNATIVA PARA SIMPLIFICAÇÃO NA ESTRUTURA DE EXECUÇÃO DE PROJETOS SEIS-SIGMA Blucher Engineering Proceedings Agosto de 2014, Número 2, Volume 1 ALTERNATIVA PARA SIMPLIFICAÇÃO NA ESTRUTURA DE EXECUÇÃO DE PROJETOS SEIS-SIGMA Cristiano Marques de Oliveira 1 1 Delphi Automotive Systems

Leia mais

Orientação para elaboração de provas de acordo com o ENADE

Orientação para elaboração de provas de acordo com o ENADE Orientação para elaboração de provas de acordo com o ENADE Alexandre Porto de Araujo São José dos Campos, abril de 2014 Estrutura do item de múltipla escolha Item de múltipla escolha utilizado nos testes

Leia mais

Professor: Curso: Disciplina: Aula 4-5-6

Professor: Curso: Disciplina: Aula 4-5-6 Professor: Curso: Disciplina: Aula 4-5-6 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Engenharia de Requisitos 03º semestre 1 Engenharia de Requisitos Prof. Marcos

Leia mais

PMBoK Comentários das Provas TRE-PR 2009

PMBoK Comentários das Provas TRE-PR 2009 PMBoK Comentários das Provas TRE-PR 2009 Comentário geral: As provas apresentaram grau de dificuldade médio. Não houve uma preocupação da banca em aprofundar os conceitos ou dificultar a interpretação

Leia mais

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! DEFINIÇÃO A pesquisa experimental é composta por um conjunto de atividades e técnicas metódicas realizados para recolher as

Leia mais

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Requisitos do usuário, do sistema e do software [Sommerville, 2004] Requisitos Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema Condição ou capacidade necessária que o software deve possuir para que

Leia mais

Qualidade e Comportamento do Produto em Pós-venda

Qualidade e Comportamento do Produto em Pós-venda Qualidade e Comportamento do Produto em Pós-venda Sandro Mioni Moreira ( UNIMEP ) smmoreir@unimep.br Jurandir Jones Nardini ( UNIMEP) jnardini@unimep.br Resumo O objetivo deste artigo é informar técnicas

Leia mais

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 QUALIDADE DE SOFTWARE Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1 Objetivos Apresentar o processo de gerenciamento de qualidade e as atividades centrais da garantia de

Leia mais

Processo de Criação de Cronogramas Prazo

Processo de Criação de Cronogramas Prazo Nome do de Criação de Cronogramas Número do Prazo - Informações sobre o Documento Nome do Projeto: Centro de Custo: 05.10..02.XX Gerente do Projeto: Versão do Documento: 0.0 Método de Revisão de Qualidade:

Leia mais

Unidade I Conceitos BásicosB. Conceitos BásicosB

Unidade I Conceitos BásicosB. Conceitos BásicosB à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar

Leia mais

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série kessia@unipar.br Motivações Gerenciamento de projetos, vem sendo desenvolvido como disciplina desde a década de 60; Nasceu na indústria bélica

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

Regimento Interno do Sistema

Regimento Interno do Sistema Identificação: R.01 Revisão: 05 Folha: 1 / 14 Artigo 1 - Objetivo do documento 1.1. Este documento tem como objetivo regulamentar as atividades para credenciamento de uma planta de produção com o SELO

Leia mais

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A3 DATA 15/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Analise as afirmações

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: GESTÃO DE PROJETOS Aula N : 10 Tema: Gerenciamento

Leia mais

Especificação de requisitos no desenvolvimento de software para TV digital interativa terrestre no Brasil: Reflexões e Relato de Experiência

Especificação de requisitos no desenvolvimento de software para TV digital interativa terrestre no Brasil: Reflexões e Relato de Experiência Especificação de requisitos no desenvolvimento de software para TV digital interativa terrestre no Brasil: Reflexões e Relato de Experiência Requirements specification in software development for Brazilian

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software 1 Mundo Real Modelagem Elicitação Análise Problemas Soluções Gap Semântico Mundo Computacional Elicitação de Requisitos Análise de Requisitos Modelagem dos Requisitos 2 Projeto

Leia mais

TRANSIÇÃO DAS CERTIFICAÇÕES DOS SISTEMAS DE GESTÃO DA QUALIDADE E SISTEMAS DE GESTÃO AMBIENTAL, PARA AS VERSÕES 2015 DAS NORMAS.

TRANSIÇÃO DAS CERTIFICAÇÕES DOS SISTEMAS DE GESTÃO DA QUALIDADE E SISTEMAS DE GESTÃO AMBIENTAL, PARA AS VERSÕES 2015 DAS NORMAS. TRANSIÇÃO DAS CERTIFICAÇÕES DOS SISTEMAS DE GESTÃO DA QUALIDADE E SISTEMAS DE GESTÃO AMBIENTAL, PARA AS VERSÕES 2015 DAS NORMAS. As novas versões das normas ABNT NBR ISO 9001 e ABNT NBR ISO 14001 foram

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

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11. Sumário Introdução... xiii A quem se destina este livro...xiii Como o livro está organizado...xiii Como baixar os arquivos de prática...xiv Suas configurações no Project...xv Suporte técnico...xvi Parte

Leia mais

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos Antonio Mendes da Silva Filho * The most important thing in communication is to hear what isn't being said. Peter Drucker

Leia mais

Mauricio Barbosa e Castro

Mauricio Barbosa e Castro Mauricio Barbosa e Castro A interação homem-computador está muito relacionada com o processo de projeto, provendo soluções que levam em consideração todas as restrições e requisitos. O aspecto de projeto

Leia mais

Fernanda E. Espinola Andréia F. da Silva. Universidade Anhembi-Morumbi

Fernanda E. Espinola Andréia F. da Silva. Universidade Anhembi-Morumbi Dra. Judith Pavón (coordenadora) Fernanda E. Espinola Andréia F. da Silva Universidade Anhembi-Morumbi Dr. Sidney Viana (colaborador) UNIFIEO Motivação Objetivos Engenharia de Requisitos Metodologia Técnicas

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Auditoria como ferramenta de gestão de fornecedores durante o desenvolvimento de produtos

Auditoria como ferramenta de gestão de fornecedores durante o desenvolvimento de produtos Auditoria como ferramenta de gestão de fornecedores durante o desenvolvimento de produtos Giovani faria Muniz (FEG Unesp) giovanifaria@directnet.com.br Jorge Muniz (FEG Unesp) jorgemuniz@feg.unesp.br Eduardo

Leia mais

Desenvolve Minas. Modelo de Excelência da Gestão

Desenvolve Minas. Modelo de Excelência da Gestão Desenvolve Minas Modelo de Excelência da Gestão O que é o MEG? O Modelo de Excelência da Gestão (MEG) possibilita a avaliação do grau de maturidade da gestão, pontuando processos gerenciais e resultados

Leia mais

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

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

Leia mais

Gestão de Riscos em Projetos de Software

Gestão de Riscos em Projetos de Software Gestão de Riscos em Projetos de Software Júlio Venâncio jvmj@cin.ufpe.br 2 Roteiro Conceitos Iniciais Abordagens de Gestão de Riscos PMBOK CMMI RUP 3 Risco - Definição Evento ou condição incerta que, se

Leia mais

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos SENAC Pós-Graduação em Segurança da Informação: Análise de Riscos Parte 2 Leandro Loss, Dr. Eng. loss@gsigma.ufsc.br http://www.gsigma.ufsc.br/~loss Roteiro Introdução Conceitos básicos Riscos Tipos de

Leia mais

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento da Integração (PMBoK 5ª ed.) Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar

Leia mais

ORIENTAÇÕES PARA ELABORAÇÃO DO PAPER NO ACOMPANHAMENTO ESPECIAL DE TODAS AS DISCIPLINAS

ORIENTAÇÕES PARA ELABORAÇÃO DO PAPER NO ACOMPANHAMENTO ESPECIAL DE TODAS AS DISCIPLINAS 1 ORIENTAÇÕES PARA ELABORAÇÃO DO PAPER NO ACOMPANHAMENTO ESPECIAL DE TODAS AS DISCIPLINAS APRESENTAÇÃO Esse documento é dirigido aos docentes e discentes da Fesp Faculdades com a finalidade de adotar normas

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS Atualizado em 21/12/2015 GESTÃO DE PROCESSOS Um processo é um conjunto ou sequência de atividades interligadas, com começo, meio e fim. Por meio de processos, a

Leia mais

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP DARCI PRADO Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP Versão 1.6.4 Setembro 2009 Extraído do Livro "Maturidade em Gerenciamento de Projetos" 2ª Edição (a publicar) Autor: Darci

Leia mais

Gerenciamento de Projeto: Planejando os Riscos. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Gerenciamento de Projeto: Planejando os Riscos. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Gerenciamento de Projeto: Planejando os Riscos Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução Planejar o Gerenciamento dos Riscos. Identificar os Riscos Realizar a Análise Qualitativa

Leia mais

SIMPROS 2007 02/01/2008

SIMPROS 2007 02/01/2008 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Um Modelo para Avaliação da Qualidade da Tradução de Requisitos para Casos de Uso Ms. Fabiana Zaffalon

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

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

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

Leia mais

Desenvolvimento de Sistemas Tolerantes a Falhas

Desenvolvimento de Sistemas Tolerantes a Falhas Confiança de software Desenvolvimento de Sistemas Tolerantes a Falhas Em geral, os usuários de um sistema de software esperam ele seja confiável Para aplicações não-críticas, podem estar dispostos a aceitar

Leia mais