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



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

Elicitação de requisitos e análise

Requisitos de Software

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Engenharia de Software

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

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

O Processo de Engenharia de Requisitos

Engenharia de Requisitos de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

Gerenciamento de Requisitos Gerenciamento de Requisitos

Qualidade no levantamento de requisitos

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

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

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Qualidade de Software

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

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

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

Engenharia de Software II

3 Qualidade de Software

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

QUALIDADE DE SOFTWARE

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

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

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto*

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

Requisitos. Sistemas de Informações

Projeto de Sistemas I

MODELAGEM DE SISTEMA Apresentação

Normas ISO para Usabilidade

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

BSC Balance Score Card

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

Processos de Desenvolvimento de Software

EMENTAS DAS DISCIPLINAS

Figura 5 - Workflow para a Fase de Projeto

PROCEDIMENTOS DE AUDITORIA INTERNA

ENGENHARIA DE REQUISITOS

QUALIDADE DE SOFTWARE

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Requisitos de Software

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

UML: Diagrama de Casos de Uso, Diagrama de Classes

TechProf Documento de Arquitetura

OBJETIVO DO PROGRAMA ORGANIZAÇÃO DO PROGRAMA E CARGA HORÁRIA PREMISSAS DOS PROGRAMA INVESTIMENTO E PRÓXIMA TURMA I NSTRUTORES

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Engenharia de Software

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

o(a) engenheiro(a) Projeto é a essência da engenharia 07/02/ v8 dá vazão

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

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

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

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

DESENVOLVENDO O SISTEMA

Modelos de Sistemas Casos de Uso

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

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

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

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

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Processos de gerenciamento de projetos em um projeto

Porque estudar Gestão de Projetos?

POLÍTICA DE GESTÃO DE RISCO - PGR

Etapas para a preparação de um plano de negócios

Processos de Software

UM SISTEMA WEB PARA TORCEDORES EM CAMPEONATOS ESPORTIVOS ESTUDANTIS

SIMPROS /01/2008

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Administração de Pessoas

Engenharia de requisitos

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

Especificação dos Requisitos do Software. Sistema de Controle e Gerenciamento de Loja de Vestuários e Acessórios

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

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

Processo de Desenvolvimento de Software

Qualidade de Software

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Instrutora: Claudia Hazan Motivações para Engenharia de Requisitos (ER) Processo de Requisitos

As Organizações e a Teoria Organizacional

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Engenharia de Software

Ministério Público do Estado de Goiás

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

Engenharia de Software Aula 8 (Versão )

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

Gerenciamento de Projetos Modulo VIII Riscos

Qualidade de Software

Unidade I Conceitos BásicosB. Conceitos BásicosB

Gerenciamento Estratégico

Transcrição:

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 o usuário possa resolver um problema ou atingir um objetivo para atender as necessidades ou restrições da organização ou de outros componentes do sistema. Requisitos do usuário, do sistema e do software [Sommerville, 2004] Requisitos do usuário Declarações, em linguagem natural e diagramas, sobre os serviços que o sistema oferece e as restrições para a sua operação. Escrito para os clientes. Requisitos do sistema Estabelecem detalhadamente as funções e restrições do sistema. O documento de requisitos, chamado de especificação funcional, pode servir como um contrato entre cliente e desenvolvedor. Especificação de software Especificação abstrata e precisa do software, indicando o que ele deve fazer (sem dizer como) que serve de base para o design e implementação. Acrescenta mais detalhes à especificação funcional e é escrito para a equipe de desenvolvimento.

Definição e especificação Definição dos requisitos do usuário O software deve fornecer um meio de representar e acessar arquivos externos criados por outras ferramentas. Especificação dos requisitos do sistema O usuário deve dispor de recursos para definir o tipo dos arquivos externos. Cada tipo de arquivo externo pode ter uma ferramenta associada que pode ser aplicada a ele. Cada tipo de arquivo externo pode ser representado por um ícone. Quando um usuário seleciona um ícone, o efeito desta seleção é aplicar a ferramenta associada com o tipo de arquivo. Quem são os interessados nos requisitos? Requisitos do usuário Gerentes e contratantes da organização cliente Usuários finais Engenheiros da organização cliente Arquitetos de sistema Requisitos do sistema Usuários finais Engenheiros da organização cliente Arquitetos de sistema Engenheiros de software Especificação de software Engenheiros da organização cliente (possivelmente) Arquitetos de sistema Engenheiros de software

Problemas comuns Os envolvidos* não sabem o que eles realmente querem. Se expressam num vocabulário diferente dos desenvolvedores. Os envolvidos podem ter requisitos conflitantes. Fatores organizacionais e políticos podem influenciar os requisitos. Novos requisitos podem surgir durante o processo de levantamento/análise/especificação. Novos envolvidos podem vir a participar do process. Podem haver mudanças externas ambiente ou regras de negócios. *Stakeholders: Envolvidos ou partes interessadas Como descrever os requisitos? A especificação dos requisitos deve ser: Completa deve descrever tudo o que é necessário Consistente não deve haver conflitos e contradições Não-ambígua não deve levar a interpretações diferentes por desenvolvedores e usuários. Difícil de atingir considerando que existem diferentes tipos de envolvidos. Depende da precisão da linguagem utilizada Linguagem natural, informal apropriada para os requisitos do usuário e do sistema. Linguagens gráficas, semi-formais apropriada para os requisitos do sistema e do software. Linguagens formais apropriada para uma especificação formal de software em métodos formais.

Requisitos funcionais Descrição das diversas funções que clientes e usuários querem ou precisam que o software ofereça Casos de Uso Exemplos: "o software deve possibilitar o cálculo dos gastos diários, semanais, mensais e anuais com pessoal". "o software deve emitir relatórios de compras a cada quinze dias" "os usuários devem poder obter o número de aprovações, reprovações e trancamentos em todas as disciplinas por um determinado período de tempo. Requisitos não-funcionais Propriedades de um software, como manutenibilidade, usabilidade, desempenho, custos e várias outras São exemplos de requisitos não-funcionais: "a base de dados deve ser protegida para acesso apenas de usuários autorizados". "o tempo de resposta do sistema não deve ultrapassar 30 segundo". "o software deve ser operacionalizado no sistema Linux" "o tempo de desenvolvimento não deve ultrapassar seis meses".

Tipos de requisitos não-funcionais Non-functional Product Or ganizational External Ef ficiency Reliability Portability Interoperability Ethical Usability Delivery Implementation Standards Legislative Performance Space Privacy Safety Requisitos não-funcionais e métricas Velocidade Transações processadas/segundo Tempo de resposta ao usuário Tamanho Tamanho em bytes do software final Memória Facilidade de uso Tempo de treinamento necessário Número de telas de ajuda Confiabilidade Tempo médio para falhar Taxa de ocorrência de falhas. Probabilidade de indisponibilidade. Robustez Tempo de reinício após falha Porcentual de eventos que causam falhas Portabilidade Número de ambientes operacionais nos quais o sistema pode rodar.

Engenharia de Requisitos 1/2 Requisitos mudam sempre! Requisitos precisam ser levantados, analisados, especificados, rastreados, verificados e documentados. Estas atividades ocorrem ao longo de todo o ciclo-de-vida do software. A Engenharia de Requisitos propõe modelos, métodos, técnicas e ferramentas para a realização destas atividades Engenharia de Requisitos 2/2 Estudo de viabilidade Levantamento Análise Especificação Gerenciamento Rastreamento Verificação e Validação Documentação

O processo de engenharia de requisitos Fonte: Ian Sommerville Estudo de viabilidade Decide se o sistema proposto é vantajoso e lucrativo. Deve verificar se: O sistema contribui para os objetivos organizacionais. O sistema pode ser construído com a tecnologia corrente e com o orçamento disponível. O sistema pode ser integrado com os outros sistemas em utilização. Questões a serem respondidas por clientes e usuários: E se o sistema não for implementado? Quais os problemas atuais? Como o sistema irá ajudar? Quais serão os problemas de integração? Novas tecnologias são necessárias? Quais habilidades? Quais facilidades deve ser providas pelo sistema proposto?

Levantamento de requisitos Obter os requisitos dos especialistas no domínio clientes e usuários Principal problema: comunicação Usuários e especialistas não compartilham o mesmo vocabulário Técnicas de Comunicação Entrevistas Observação direta Encontros Análise de requisitos A análise possui dois propósitos: Permite julgamentos sobre a qualidade dos requisitos do sistema Elaborar um modelo de alto-nível do sistema com os principais componentes e suas interfaces Abordagens para a análise Análise Estruturada OMT UML: Casos de Uso e Diagramas de classes

Especificação de requisitos Descrição objetiva, precisa e completa dos requisitos do software A especificação de um requisito funcional deve determinar o que se espera que o software faça, sem a preocupação de como ele faz Requisitos funcionais podem ser descritos por Diagramas de Casos de Uso UML Requisitos não-funcionais são descritos textualmente. Verificação e Validação de Requisitos Validação Estamos construindo o sistema certo? Verificação Estamos construindo certo o sistema? Consistência Os requisitos não devem ser contraditórios. Completeza Os requisitos devem considerar todas as necessidades e restrições do envolvidos. Viabilidade Existe tecnologia e recursos suficientes?

Abordagens para levantamentoanálise-especificação Etnografia Técnica de observação da antropologia. Considera que os requisitos são derivados do contexto social e organizacional. O engenheiro-analista se insere no ambiente de trabalho. Cenários Descrição de possíveis situações de uso. Estimula o questionamento (5W 1H) Casos de Uso Baseada em cenários mais diagramas. Parte da UML e fundamental para o RUP. Definição de Requisitos Orientada a Pontos-de-Vista (VORD) Analisa e descreve os requisitos a partir dos pontos-devistas dos envolvidos. Gerenciamento de requisitos Requisitos mudam durante e depois do desenvolvimento (média de 1%/mês) Causas: Novas necessidades de clientes e usuários Mudanças na tecnologia utilizada Mudanças em leis, normas ou padrões As mudanças nos requisitos podem causar impacto nos requisitos relacionados As técnicas de gerenciamento visam rastrear e controlar estas mudanças

O processo de levantamento-análiseespecificação-validação. Documentação Normas e padrões ANSI/IEEE STD 830-1993 MIL-STD-2167A e MIL-STD-498 Tópicos comuns Descrição geral Interfaces externas Requisitos funcionais Requisitos de desempenho Restrições de design Atributos de qualidade

Documento de requisitos do IEEE Introdução Propósito do documento de requisitos Escopo do produto Definições, acrônimos e abreviações Referências Visão geral do restante do documento Descrição Geral Perspectiva do produto Funções do produto Características dos usuários Restrições gerais Suposições e dependências Requisitos específicos Esta é a parte substancial do documento, mas não existe uma estrutura padrão, variando de acordo com o método utilizado. Deve conter a arquitetura do sistema, interfaces externas e as funções (serviços) que o sistema oferece. Os requisitos não funcionais são colocados aqui também. Apêndices Indices