Teste 2 - Teoria Flashcards
O que é um requisito?
Descrição de alto-nível de um serviço, restrição ou especificação funcional.
Para que servem os requisitos?
Servem de base a negociações e aos próprios contratos
Quais são as classes de requisitos?
Classe de utilizador e classe de sistema
Defina a classe de utilizador (requisitos)
Serviços e restrições operacionais sob a forma de diagramas ou língua natural para clientes.
Defina a classe de sistema dos requisitos.
Documento detalhado das funções do sistema, serviços e restrições operacionais, definindo o que deve ser realizado como parte do contrato.
Nos métodos ágeis, que tipos de requisitos temos?
Requisitos incrementais. Devido ao facto de estes mudarem muito frequentemente.
Descreva o desenvolvimentos dos requisitos
Análise de requisitos:(Descrever requisitos para clientes e utilizadores
Especificação de requisitos: (detalhar os requisitos e relacioná-los com o desenho da solução)
Verificação de requisitos: Compara o resultado da especificação com a análise inicial.
Representação de requisitos: Axiomática, meta-linguagem, blablabla
Quais os tipos de requisitos?
Requisitos FUNCIONAIS: (Descrevem serviços e funcionalidade e devem ser completos, precisos e consistentes para evitar erros de interpretação.
Requisitos NÃO FUNCIONAIS: (definem propriedades e restrições como fiabilidade, robustez, tempo de resposta…)
Requisitos DE PROCESSO: (definem ambiente de desenvolvimento, linguagem, ferramentas, metodologia de desenvolvimento.
Requisitos DE DOMÍNIO: (ambiente de operação, organizacionais ou externos)
Descreva como se medem os requisitos NÃO FUNCIONAIS:
Velocidade Dimensão Fiabilidade Robustez Portabilidade Facilidade de utilização
Descreva o processo de extração de requisitos
Procurar saber dos clientes qual o domínio, serviços e restrições operacionais.
Pode envolver clientes finais, gestores, equipa, peritos…
Actividades do processo (cíclico) [Descoberta, classificação e organização]
Diga tudo sobre entrevistas
ENTREVISTAS NÃO AJUDAM NA COMPREENSÃO DO DOMÍNIO
Entrevistas fechadas ou abertas.
Misturar perguntas de rsp fechada ou aberta
Manter uma perspectiva aberta, ouvir e esclarecer o que é transmitido.
Tentar envolver o entrevistado e usar uma linguagem adaptada.
Diga tudo sobre Etnografia
Passar algum tempo a observar e a analisar
regsitar comportamentos sociais e organizacionais
as pessoas n gostam de mudar hábitos de trabalho
Como se divide a Documentação de requisitos
Prefácio Introdução Glossário Requisitos do utilizador Arquitectura do sistema Especificação de requisitos modelo do sistema Evolução do sistema Apêndices
Porque é importante a validação de requisitos
A validação é importante pois erros nos requisitos são caros de corrigir. A validação permite esclarecer e demonstrar o que cliente pretende.
Quais são as perspectivas pelas quais um sistema pode ser visto.
EXTERNA: define o que faz parte e o que fica de fora
INTERAÇÃO: entre os componentes do sistema, ou entre o sistema e o seu ambiente
ESTRUTURAL: organização do sistema e estrutura dos dados
COMPORTAMENTAL: comportamento dinâmico (como responde a acontecimentos)
Vantagens da modulação
Custo de alteração
Propagação da alteração
Localidade da alteração
Bom desempenho (alta coesão[uma só responsabilidade por módulo] baixa ligação [reduz dependências entre módulos])
Em que consiste o Princípio de desempenho
Os módulos devem estar abertos para extensão e fechados para modificação.
Inversão da dependência(módulos dependem de abstracções)
Segregação da interface
responsabilidade única
Defina Lei de Demeter
Princípio do menor conhecimento(baixa ligação).
A entidade deve lidar com os amigo mais próximos.
Nunca encadear .’s
evitar a.b().c().d()
Complexidade do sistema
C = S + D S = SUM( f^2out) D = SUM( vertice(entradas+saidas)/(Fout + 1))
C: complexidade do sistema
S: complexidade estrutural
D: complexidade dos dados
Fale sobre abstracções
As abstracções dependem do contexto e são independentes da linguagem.
Podem encapsular ou não e podem ter ou não dados partilhados.
Construção de abstracção TOP-DOWN
A partir dos requisitos, do problema para a solução. Contexto e interação do sistema desenho da arquitectura classificação dos objectos em classes modelos de desenho especificação da interface
Construção de abstracção BOTTOM-UP
◮ Identificar abstrações: refatorizando a realização (bottom-up)
Generalização a partir de exemplos de código
Evolução da abstracção: quantos mais casos melhor a abstracção
Refatorização: construir abstracções a partir de exemplos do código.