Aula 9 Especificação de Requisitos Exercício

Documentos relacionados
Aula 8 Especificação de Requisitos

Aula 10 Arquitetura de Software e Exercício. Alessandro Garcia LES/DI/PUC-Rio Abril de 2017

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 02 Conceitos e Princípios de Modularidade 1

Estágio II. Aula 01 Qualidade de Software. Prof. MSc. Fred Viana

Aula 02 Conceitos e Princípios de Modularidade 1

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

Introdução a Teste de Software

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

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

Requisitos de Software

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

Teste de Software. Karen Frigo Busolin Novembro / 2010

3. Engenharia dos requisitos de software

2

MODELAGEM DE SISTEMA Apresentação

Princípios da Engenharia de Software aula 03

VETORES Motivação AULA 19

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

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

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Programação Orientada a Objetos

Análise de sistemas. Engenharia de Requisitos

Engenharia de Software

Aprendizado de Máquina

Trabalho B Campo Minado

Projeto Xadrez Entrega 01: Polimorfismo e Herança

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Programação Aplicada de Computadores. Trabalho 1 Freecell

Apêndice 1. Recomendações para testes de módulos

Professor Emiliano S. Monteiro

Unidade VI. Inspeção de software

Programação II. Trabalho 2 Freecell

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

Computação II - Python Aula 1 - Apresentação do curso e revisão de programação modular

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

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Trabalho Computacional Jogo da Forca

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Desenvolvimento de um Jogo de Xadrez em Java

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014

Introdução a Banco de Dados. Curso: Engenharia de Produção Disciplina: Informática Aplicada Professor: Rodrigo da Rocha

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

SSC-546 Avaliação de Sistemas Computacionais

Engenharia de Software II

Computação I - Python Aula 1 - Teórica: Introdução

Guia do Processo de Teste Metodologia Celepar

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Introdução a Métodos Ágeis. Curso de Verão IME/USP

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

1ª Colocação 10 pontos. 2ª Colocação 08 pontos. 3ª Colocação 06 pontos

Requisitos de Software

Algoritmos e Linguagem de Programação I

Módulo 1. Tabuleiro, peças, movimentos e capturas

Algoritmos e Programação

DCC / ICEx / UFMG. O Jogo SimulES. Eduardo Figueiredo.

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

MODELAGEM FUNCIONAL USANDO DIAGRAMA DE FLUXO DE DADOS. Professora: Fabíola Gonçalves.

Levantamento, Análise e Gestão Requisitos. Aula 05

Programação: Vetores

Formação Técnica em Administração. Modulo de Padronização e Qualidade

Aula 11 Assertivas. Alessandro Garcia LES/DI/PUC-Rio Abril 2016

Transcrição:

Aula 9 Especificação de Requisitos Exercício Alessandro Garcia LES/DI/PUC-Rio Abril 2017 Exercício Faça a especificação de requisitos do programa do jogo FreeCell com base no que foi apresentado na aula passada: não somente requisitos funcionais mas também: não-funcionais (pelo menos 3) A especificação deve ser feita com seu grupo do trabalho T2 Devem ser especificados todos os requisitos que devem ser satisfeitos pelo programa até o T4 Deve ser possível jogar uma partida por completo, obedecendo a todas regras do FreeCell Não inclua requisitos que não serão implementados pela equipe Não é necessário armazenar dados ou estatísticas de partidas em arquivos nem funcionalidades adicionais como undo e verificar se jogo está travado. Alessandro Garcia LES/DI/PUC-Rio 2 /35 1

FreeCell Não deve pairar dúvidas sobre as regras de disposição inicial das cartas, movimentação das cartas individuais e em bloco, informações a serem solicitados do jogador, quando o jogo termina, etc.. 3 /35 Critérios de qualidade de especificações Especificações devem ser de boa qualidade quanto melhor a qualidade, menor será o retrabalho inútil é estimado que 70% dos defeitos de um programa são causados por especificações inexistentes, incompleta ou erradas Diferente de programas, não testamos especificações uma forma simples de fazer isso é verificar se a especificação satisfaz um conjunto de critérios 4 /36 2

Critérios de qualidade de especificações Especificações devem ser de boa qualidade quanto melhor a qualidade, menor será o retrabalho inútil é estimado que 70% dos defeitos de um programa são causados por especificações inexistentes ou erradas Diferente de programas, não testamos especificações Uma das técnicas de controle da qualidade de especificações é a leitura com intenção de encontrar defeitos uma forma simples de fazer isso é verificar se a especificação satisfaz um conjunto de critérios formas mais eficazes e bem mais complexas revisões por desenvolvedores que não produziram a especificação Ago 2008 5 /36 Critérios de qualidade de especificações Concisão a especificação é redigida com poucas palavras... mas isso não significa omitir definições de conceitos: Explicitude (explícito + -(t)ude) todos os itens da especificação estão explicitamente definidos ex.: esquecer de definir cada uma das peças de um jogo de xadrez Suficiência a especificação não omite aspectos relevantes ex.: esquecer ou omitir conscientemente detalhes de cada rodada ou mão do jogo de truco Exatidão a especificação está em conformidade observável com o mundo real ex. 1: inventar ou banir regras básicas do jogo de xadrez ex. 2: usar termos (tais como nomes de jogadas) que não são aqueles utilizados comumente por jogadores de xadrez Compreensibilidade a especificação deve ser compreensível pelos diversos leitores, em particular por leigos em computação Ago 2008 6 /36 3

Critérios de qualidade de especificações Não-ambigüidade (inequívoco) diferentes leitores entendem o item exatamente da mesma maneira ex.: usar o termo jogo, quando quer se referir a uma partida em particular Ausência de redundância Redundância ocorre quando um mesmo item é especificado em vários lugares (duplicação, repetição) Verificabilidade ou testabilidade deve ser possível determinar objetivamente a satisfação de cada item da especificação ex.: extrair raiz quadrada tem menor verificabilidade do que extrair raiz quadrada de um inteiro x com precisão double, onde x >= 0 Prioridade está claro o que é efetivamente requerido e o que é apenas desejado Ago 2008 7 /36 Critérios de qualidade de especificações Consistência a especificação não contém contradições internas, ou com outros documentos ex.: em parte da especificação, se diz que dama pode pular qualquer quantidade de casas na diagonal, mas em outra parte se diz que há um limite no máximo, até a última casa antes da primeira peça da mesma cor na diagonal Nivelamento a especificação está no nível de abstração do artefato sendo especificado ex.: para usar um programa, não interessa saber quais as estruturas de dados utilizadas Ago 2008 8 /36 4

Dicas Trabalho T2 - Não esquecer... Preencher tabela de atividades ao longo do processo. NÃO DEIXE PARA ÚLTIMA HORA, POIS VOCÊ NÃO SE LEMBRARÁ DO QUE FEZ TAL DIA, TAL HORA. Com relatórios similares a esse você aprende a planejar o seu trabalho O relatório é INDIVIDUAL Ferramentas como gmake e batches de apoio deve ser utilizados LES/DI/PU C-Rio Dicas para o Trabalho Não esqueça de rever cuidadosamente: critérios de avaliação procedimentos para entrega do trabalho Certifique-se que seu trabalho atende os seguintes pontos: estruturação: contém tanto o fonte dos módulos de implementação quanto módulos definição (interface) siga princípios de modularidade: interfaces simples e documentadas,... obediência a padrões de programação não esqueçam de produzir arquivos LEIAME.TXT e RELATOR.TXT LES/DI/PU C-Rio 5

Aula 9 Especificação de Requisitos Exercício Alessandro Garcia LES/DI/PUC-Rio Abril 2017 6