Aula 8 Especificação de Requisitos

Documentos relacionados
Fundamentos de Teste de Software

ENGENHARIA DE SOFTWARE

Engenharia de Software II

Análise de Requisitos

Análise e Projeto de Sistemas

Arquitecturas de Software Enunciado de Projecto

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

SISTEMAS DISTRIBUÍDOS

MBA em Gerenciamento de Projetos

Objetivo do Portal da Gestão Escolar

Manual do Desenvolvedor Geração de Tokens

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

Inteligência Artificial

Manual Geral de Aplicação Universal Entrada 2008

Módulo de Princípios Básicos de Contagem. Segundo ano

MODELAGENS. Modelagem Estratégica

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Como Elaborar uma Proposta de Projeto

MANUAL DO PROFESSOR. - Inscrições Colégios. Colégios Participantes de Temporadas anteriores:

Desenvolvimento de Software

Manual Mobuss Construção - Móvel

Sistemas Distribuídos

Deswik.Sched. Sequenciamento por Gráfico de Gantt

Dicas de Segurança sobre Virus

Modelagem De Sistemas

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

Indíce. Indice ) Identificar a sua persona (Cliente ideal)...erro! Indicador não definido. Exemplo... 4

Treinamento sobre Progress Report.

Registro de Retenções Tributárias e Pagamentos

PODER JUDICIÁRIO JUSTIÇA DO TRABALHO CONSELHO SUPERIOR DA JUSTIÇA DO TRABALHO

MBA em Gerenciamento de Projetos. Teoria Geral do Planejamento. Professora: Maria Erileuza do Nascimento de Paula

Série Rações Semanais Xpath e XSLT Rogério Araújo

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Métricas de Software

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

MODELO SUGERIDO PARA PROJETO DE PESQUISA

Atividade de Treinamento. Documentando Programas no SPDSW. HI Tecnologia Indústria e Comércio Ltda. Documento de acesso Público

Código: MINV-P-003 Versão: 03 Vigência: 03/2011 Última Atualização: 02/2016

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

Unidade 1: O Computador

Gestão Documental. Gestão Documental

Curso de Desenvolvimento de Negócios Sociais e Inclusivos

Experiência 04: Comandos para testes e identificação do computador na rede.

Ayuda Sua ONG na mão

O que é um banco de dados? Banco de Dados. Banco de dados

DOCUMENTO DE REQUISITO DE SOFTWARE

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Usando potências de 10

mercado de cartões de crédito, envolvendo um histórico desde o surgimento do produto, os agentes envolvidos e a forma de operação do produto, a

Banco de Dados I. Prof. Edson Thizon

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

Motantagem de Contigs de sequências de genomas e Transcriptomas. Introdução

Metodologias de PETI. Prof. Marlon Marcon

Problems and Programmers

TESTES SOCIOMÉTRICOS

Disciplina: Unidade III: Prof.: Período:

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

UM JOGO BINOMIAL 1. INTRODUÇÃO

Estudo aponta influência do código de barras e da tecnologia na decisão de compra do consumidor e na estratégia do varejo

WEBDESK SURFLOG. MANUAL DO USUÁRIO VERSÃO 2.0.1

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

EDITAL DE SELEÇÃO PARA MESTRADO 2016 PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO (UNIFEI)

8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros:

Para usar com Impressoras multifuncionais (MFPs) ativadas para a Tecnologia Xerox ConnectKey

Certificação e Auditoria Ambiental

MANUAL DO USUÁRIO. Figura 1: Tela de Apresentação do FaçaCalc.

Métodos Estatísticos Avançados em Epidemiologia

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

de fevereiro de 2002

No contexto das ações de Pesquisa e Desenvolvimento


Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Guia Sudoe - Para a elaboração e gestão de projetos Versão Portuguesa Ficha 7.0 Auxílio estatal

Instruções para o cadastramento da Operação de Transporte e geração do Código Identificador da Operação de Transporte CIOT.

CATEGORIA 2 INICIATIVAS DE INOVAÇÃO

Inteligência de negócios do laboratório DESCUBRA INFORMAÇÕES ÚTEIS DE DADOS OPERACIONAIS DO LABORATÓRIO

2 Segmentação de imagens e Componentes conexas

AGRUPAMENTO DE ESCOLAS DE PÓVOA DE LANHOSO

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Instruções para utilização dos Fóruns pelo Grupo dos Consensos Psiquiátricos para Clínicos Gerais 2005

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

Sumário. CEAD - FACEL Manual do Aluno, 02

Critério de Desenvolvimento da Embalagem de Transporte. Magda Cercan Junho/2013 São Paulo

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Transformação da força de trabalho

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

ISO 9000 e ISO

Métodos de Estudo & Investigação Científica. Elaborando um projeto de pesquisa

Transcrição:

Aula 8 Especificação de Requisitos Alessandro Garcia Abril 2017 Recados Enunciado do trabalho prático (T2) já está disponível no sítio da disciplina: http://www.inf.puc-rio.br/~inf1301/ Enviem mensagem com a lista de membros da equipe afgarcia@inf.puc-rio.br Alessandro Garcia 2 /35 1

Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos relacionados Referência básica: Capítulo 10 Seção 8.3 Capítulo 9.4 Apêndice 2 Slides adaptados de: Staa, A.v. Notas de Aula em Programação Modular; 2008. 3 /36 Sumário Retrabalho inútil Por que especificar? Especificação de requisitos requisitos funcionais requisitos não-funcionais Como identificar requisitos? 4 /36 2

Visão do Desenvolvedor Mágico" Requisitos Descrição abstrata do problema Aqui o Milagre acontece Código Muitos membros envolvidos não estão interessados em tais decisões de baixo nível 5 /36 Como eliminar causas de retrabalho inútil? O que fazer para reduzir ou evitar de vez esse risco? produzir uma boa especificação do que se deseja que seja feito modelar o problema a resolver especificação de requisitos por exemplo: saber/descobrir antes quais são as funcionalidades básicas de um jogo de Xadrez tornar o projeto e implementação do jogo mais manutenível e reutilizável possível produzir uma arquitetura organização da solução adequada ao problema a resolver modelar a solução modelagem da arquitetura e modelagem física Set 2009 6 /36 3

Uma Visão Profissional Descrição explícita de requisitos para evitar retrabalho inútil Requisitos Documentação das decisões de projeto arquitetural Boas práticas de projeto modular Decisões relacionadas as estratégias organizacionais e do que implementar primeiro Arquitetura Código 7 /36 O que é uma especificação? Especificação é um documento ou fragmento que: Determina o que deve ser feito, sem dizer como fazê-lo Especificações de um artefato são veículos de comunicação entre as diversas pessoas interessadas (stakeholders) neste artefato desenvolvedores do artefato e mantenedores do artefato desenvolvedores cliente que pretendem localizar e utilizar artefatos servidores já existentes (reuso) usuários que utilizarão um programa contendo o artefato os gerentes de desenvolvimento e manutenção Nem sempre sabemos exatamente o que desejamos precisamos ver para saber se está bom ou não dificuldade - exemplo: abrangência da solução Set 2009 8 /36 4

Por que especificar? Precisa-se saber, com precisão, o que o sistema deve implementar... Requisitos são funções, condições, atributos, propriedades ou características a serem satisfeitas pelo software Requisitos funcionais e não-funcionais antes de começar a escrever código precisa-se saber o que este código deve fazer requisito funcional: mapeado para função(ões) do programa existindo condicionantes ou restrições, estas devem ser explicitadas antes requisito não-funcional usualmente chamado de requisito de qualidade» manutenibilidade» reusabilidade» confiabilidade: robustez, corretude, etc..» desempenho» segurança»... 9 /36 Requisitos funcionais ou não-funcionais?? Outros exemplos: o sistema deve gerar um relatório com a descrição dos empréstimos diários o tempo de resposta deverá ser menor do que 10 ms o módulo deverá ser portátil melhor é enumerar os sistemas operacionais explicitamente deve ser possível fazer uma consulta as reclamações dos usuários nos últimos 5 dias o sistema deve ser robusto quanto os dados obtidos através de janelas de diálogos, i.e. devem ser validados 10 /36 5

Jogo de Damas Requisitos Funcionais? 11 /36 Jogo de Damas Requisitos Funcionais? Exemplos Jogo: o programa deve possibilitar o jogo entre duas pessoas, num tabuleiro de 8 x 8 casas alternadamente claras e escuras cada jogador deve possuir 12 peças (pretas ou brancas) e ter como objetivo capturar ("comer") as peças do adversário ganha aquele que "comer" todas ou a maior quantidade de peças do adversário o programa deve permitir que cada jogador movimente apenas uma peça por vez Peças: o programa deve permitir somente dois tipos de peças, a peça comum, que são as peças que os jogadores possuem no início do jogo e as damas se uma peça comum do jogador terminar uma rodada na última fileira de casas do lado oposto do tabuleiro, esta é substituída por uma dama etc... 12 /36 6

Jogo de Damas Requisitos Não-Funcionais? 13 /36 Jogo de Damas Requisitos Não-Funcionais? Exemplos Robustez: todos os dados de entradas (ex. movimentos) serão validados pelo jogo caso alguma entrada não seja válida, uma mensagem será exibida ao jogador informando dado inválido; ele terá nova oportunidade de digitar Corretude: todos os módulos devem ser testados individualmente, onde cada função dos módulos é testada em diferentes circunstâncias Reuso: restrição: deve-se reusar o Arcabouço de teste automatizado de forma a acelerar o processo de reutilização de projeto e implementação (e teste), deve-se maximizar a reutilização de módulos restrição: em particular, deve-se reusar o módulo LISTA do Arcabouço Manutenibilidade: todas funções e módulos deverão ser desenvolvidos utilizando padrões de documentação, garantindo assim que o programa seja de fácil manutenção restrição: usar catálogos do livro "Programação Modular (Staa, Arndt von) 14 /36 7

Como requisitos (F/NFs) são descobertos? Diretamente em entrevistas ou discussões com o cliente do sistema Mas eles pouco sabe o que querem mais tarde: elaboração de protótipos Busca de documentação disponível sobre sistemas semelhantes Alguns são requeridos pelo próprio gerente de projetos ou por membros do time p.e. reusabilidade de certos módulos, tais como definir módulos que encapsulem estruturas de dados genéricas p.e. manutenibilidade: evitar gastos com interfaces de módulos má projetadas, levando a instabilidades futuras no software Produtos novos de software: análise de mercado identificar necessidades de uma gama de potenciais clientes Ex.: algum tempo atrás... jogos em dispositivos móveis identificar características e deficiências de produtos dos competidores Ex.: inclusão de sons em jogos de dispositivos móveis trends futuros: novas tecnologias, p.e. aumento de capacidade de memória em dispositivos móveis Set 2009 15 /36 Como descobrir requisitos? Um exemplo simplório Desenvolver um programa que computa raiz quadrada dá para começar sem nenhuma informação a mais? Veja algumas perguntas que podem surgir raiz quadrada de que? inteiros, reais, complexos? qual é a precisão requerida? float, double, múltipla? quantos algarismos significativos? existe alguma exigência de desempenho? tempo de resposta versus precisão deve-se verificar se o argumento fornecido é válido? x >= 0.? como responder se não for válido? condição de retorno ou cancelamento? 16 /36 8

Descobrir novos requisitos Forma de se descobrir novos requisitos identifique as abstrações principais quais são as propriedades ou regras associadas com tais abstrações elabore e responda perguntas do tipo: Qual(is)? Onde? Quando? existem restrições e hipóteses? Alessandro Garcia 17 /35 Jogo de Damas Requisitos Funcionais? Exemplos Jogo: (quais são as regras?) como e onde é praticado o jogo? é praticado ente duas pessoas, num tabuleiro de 8 x 8 casas alternadamente claras e escuras qual é a dinâmica do jogo? cada jogador possui 12 peças (pretas ou brancas) e tem como objetivo capturar ("comer") as peças do adversário quem ganha? ganha aquele que "comer" todas ou a maior quantidade de peças do adversário quando pode ser feito o movimento de peças? cada jogador movimenta uma peça por vez Peças: (quais são as regras?) existem dois tipos de peças, a peça comum, que são as peças que os jogadores possuem no início do jogo e as damas se uma peça comum do jogador terminar uma rodada na última fileira de casas do lado oposto do tabuleiro, esta é substituída por uma dama etc... 18 /36 9

Trabalho T2 Explicação do enunciado Para a próxima aula: se familiarizem com o programa FreeCell comecem a elicitar os requisitos do programa exercício prático na próxima aula Alessandro Garcia 19 /35 Exercício Faça a especificação de requisitos com base no que foi apresentado hoje: não somente requisitos funcionais mas também: não-funcionais, hipóteses e restrições A especificação deve ser feita com seu grupo do trabalho Lembrete Regras básicas do jogo incluem: mão de onze, mão de ferro, esconder carta, situações de empate Alessandro Garcia 20 /35 10

Dúvidas - Trabalho Passos 1) Elicite os requisitos Quais as funcionalidades do programa do jogo FreeCell? Os requisitos serão importantes para que vocês descubram: Módulos, interfaces e dependências Quais outras características (estrutura/funções) dos módulos Lista? 21 /28 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 22 / 30 LES/DI/PU C-Rio 11

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 23 / 30 LES/DI/PU C-Rio Aula 8 Especificação de Requisitos Alessandro Garcia Abril 2017 12