Galeria de mapas mentais Análise de requisitos teste de software engenharia de software design de software mapa mental de auto-estudo
Análise de requisitos, teste de software, engenharia de software, mapa mental de autoestudo de design de software, que organiza o conteúdo da análise de requisitos, design de software, teste de software, manutenção de software, reutilização de software e ambiente de desenvolvimento de software. para você.
Editado em 2023-02-23 22:55:01A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
A segunda unidade do Curso Obrigatório de Biologia resumiu e organizou os pontos de conhecimento, abrangendo todos os conteúdos básicos, o que é muito conveniente para todos aprenderem. Adequado para revisão e visualização de exames para melhorar a eficiência do aprendizado. Apresse-se e colete-o para aprender juntos!
Este é um mapa mental sobre Extração e corrosão de mim. O conteúdo principal inclui: Corrosão de metais, Extração de metais e a série de reatividade.
Este é um mapa mental sobre Reatividade de metais. O conteúdo principal inclui: Reações de deslocamento de metais, A série de reatividade de metais.
Análise de requisitos teste de software engenharia de software design de software mapa mental de auto-estudo
análise de demanda
Classificação de requisitos
Requisitos funcionais (o que o software faz, o que o sistema deve realizar e as qualidades que possui), requisitos de desempenho (confiabilidade, tolerância a falhas, desempenho, tempo de resposta), restrições de design (restrições especificam restrições, como especificar bancos de dados, sistemas operacionais, desenvolvimento ferramentas )
Necessidades de negócios (o gerente geral disse que quero desenvolver um... sistema para realizar... negócios), necessidades do usuário (o gerente de gestão disse... funções e desempenho são necessários), necessidades do sistema (desenvolvimento e uso de)
Necessidades básicas (requisitos claramente declarados pelos usuários), necessidades esperadas (coisas que os usuários não declararam explicitamente, mas acham que não deveriam ser ditas), necessidades estimulantes (exceder as expectativas do usuário, funções adicionais que os usuários não esperavam e que não precisam ser executadas)
engenharia de requisitos
Desenvolvimento de requisitos (determinação de funções, desempenho, dados e interfaces, incluindo quatro estágios de captura de requisitos, análise, escrita de especificações e verificação de requisitos)
Gestão de demanda
Desenvolver um plano de gerenciamento de requisitos, definir linhas de base dos requisitos, obter compreensão e comprometimento com os requisitos, gerenciar mudanças nos requisitos, manter o rastreamento bidirecional dos requisitos e identificar inconsistências entre o trabalho do projeto e os requisitos
Rastreamento bidirecional de requisitos: No rastreamento direto, em que caso de uso o requisito original é realizado, se todos os requisitos originais são atendidos. No rastreamento reverso, se um caso de uso não realiza nenhum requisito original, é uma necessidade interessante.
Aquisição de requisitos
informações para capturar (o que)
Informações relacionadas ao domínio do problema, informações relacionadas ao problema a ser resolvido, expectativas e restrições do usuário
Fonte de informação (onde)
Partes interessadas, sistemas legados, concorrentes, especialistas no domínio
Técnicas de captura de requisitos (como)
Reunião de requisitos de discussão conjunta (discussão multipartidária), entrevistas com usuários (usuários-chave preparam perguntas), pesquisas escritas (quando há muitas pessoas), observações no local, leitura de documentos históricos e participação em práticas de negócios
Ferramentas gráficas: diagrama de blocos hierárquico, diagrama de casos de uso, diagrama IPO, diagrama Warnier
Estratégia de captura de requisitos
O desenvolvimento de requisitos é um processo evolutivo iterativo e não em cascata que decompõe o problema de cima para baixo, camada por camada, e fornece uma visão lógica e uma visão física do sistema.
análise de demanda
Tarefa
Desenhar um diagrama de escopo do relacionamento entre o sistema e entidades externas, criar um protótipo de interface de usuário, analisar a viabilidade dos requisitos, determinar a prioridade dos requisitos, estabelecer um modelo de análise de requisitos (modelo de caso de uso, diagrama ER, diagrama de fluxo de dados) , crie um dicionário de dados e use funções de qualidade alocadas
método
métodos de análise estruturada
Um método de modelagem que se baseia na decomposição passo a passo de cima para baixo de diagramas de fluxo de dados para expressar graficamente o processo de transformação e transferência de informações no sistema.
análise de processos de negócios
Investigue e compreenda a situação básica, descreva, confirme e analise processos de negócios existentes, descubra problemas, proponha soluções e proponha processos de negócios otimizados
Desenhe o diagrama de fluxo de dados DFD
O diagrama de nível superior esclarece com quais entidades externas o sistema se relaciona e quais dados precisam ser transmitidos. O diagrama de nível superior é decomposto camada por camada, de cima para baixo, e detalha os componentes.
Incluindo fluxo de dados (dados com nome e direção do fluxo), processamento (transformação do fluxo de dados), armazenamento de dados (informações armazenadas acessíveis), entidades externas (fonte de dados e destino de dados)
Dicionário de dados
Dê definições lógicas a todos os elementos de dados que aparecem no diagrama de fluxo de dados
Incluindo linguagem estruturada, árvore de decisão, tabela de decisão
Método de análise orientada a objetos
Método de análise de domínio de problema de área
Escreva a especificação de requisitos de software
Métodos (use boa estrutura e linguagem natural para escrever documentos de texto, construir modelos gráficos e escrever especificações formais)
Requisitos (completude, consistência, modificabilidade, rastreabilidade)
Verificação de requisitos
Revisão da demanda: A participação do cliente na confirmação da assinatura é um dos critérios de aceitação. Revise se a demanda é feita de acordo com o processo e se o resultado da demanda é objetivo, justo e razoável.
Teste de requisitos
Design de software
O princípio básico
Ocultação de informações (dados e métodos entre módulos não podem ser usados por módulos não relacionados), abstração, refinamento de cima para baixo, camada por camada, independência de módulo (alta coesão e baixo acoplamento)
etapa
Projeto de arquitetura
Visão lógica (atendendo aos requisitos funcionais), visão de processo (problemas de simultaneidade), visão de componente (problemas de implementação), visão de implantação (problemas de distribuição)
Desenho de contorno
Converter requisitos de software em estruturas de dados e estruturas de sistema de software, completando principalmente o design geral, incluindo a divisão de funções em módulos, a determinação de funções de módulo e as relações de chamada e composição entre módulos
projeto detalhado
De cima para baixo, refinamento gradual, ocultação de informações (interface de operação), módulos independentes (alta coesão, baixo acoplamento)
Projete estrutura de dados e algoritmo para cada módulo, desempenho, tempo de resposta, tempo de resposta, rendimento, precisão, etc.
Escreva documentos de design
revisão do projeto
método de projeto
Módulos no diagrama de estrutura do sistema
Módulo de entrada, módulo de saída, módulo de transformação, módulo de coordenação
Diagrama de estrutura de sistema comum
Transformação, Transação, Mista
interface de usuário
Usabilidade, flexibilidade, complexidade, confiabilidade
revisão do projeto
Líder de design, pessoal de gerenciamento sênior, revisores-chefe, equipe de revisão
teste de software
Princípios de teste
Teste o mais cedo possível e continuamente. Os programadores devem evitar testar os programas que projetaram. Eles devem escolher dados válidos e razoáveis, bem como dados inválidos e não razoáveis. o mesmo que o número de erros que foram descobertos pelo programa erro proporcional a.
Projetar casos de teste incluindo entrada, condições de execução e saída esperada
Métodos de teste
teste de caixa preta
Projetar casos de teste de acordo com as especificações funcionais e verificar se as funções atendem aos requisitos, independente da estrutura e processamento do programa.
Divisão de classe de equivalência
Dividir classes de equivalência Testar os valores representativos da classe de equivalência equivale a testar outros valores deste tipo. Cada classe de equivalência é testada em dois casos: válido e inválido.
análise de valor limite
Projete casos de teste nos limites de entrada e saída. Os valores de limite são os mais propensos a erros (use um valor que seja exatamente igual, um pouco maior ou um pouco menor que o limite).
erro de adivinhação
Possíveis erros de especulação por experiência e intuição
diagrama de causa e efeito
Analise as especificações de requisitos para descobrir várias entradas e saídas (causas e resultados), descubra a correspondência entre várias combinações de condições de entrada e saídas e desenhe um diagrama de causa e efeito. uma tabela de decisão. Cada coluna da tabela de decisão é um caso de teste.
teste de caixa branca
Conteúdo de teste
Projetar casos de teste para a lógica interna do programa para verificar se os caminhos lógicos funcionam de acordo com requisitos predeterminados, o que é mais abrangente e detalhado do que o teste de caixa preta
Teste todos os caminhos do módulo do programa pelo menos uma vez, teste todos os julgamentos lógicos, verdadeiros e falsos, pelo menos uma vez, teste os limites do loop e os limites de execução e teste a validade das estruturas de dados internas
Métodos de teste
Cobertura de declaração, cobertura de decisão, cobertura de condição, cobertura de condição de decisão, cobertura de combinação de condição, cobertura de caminho
Teste de caixa cinza
Combine testes de caixa preta e caixa branca
fase de testes
teste de unidade
Conduzido durante a fase de codificação, testes gerais de caixa branca, como testes de função de interface de módulo, testes de estrutura de dados local, testes de caminho, testes de tratamento de erros e testes de condições de limite
Teste de integração
Erros na fase de projeto são descobertos. Depois que os módulos são montados, a interface e a comunicação entre os módulos são testadas, geralmente testes de caixa preta.
Teste de confirmação
Verifique se as funções e o desempenho do software estão consistentes com as necessidades do usuário, com base nas especificações de demanda, testes de validade, revisão de configuração de software e testes de aceitação (relatório de análise, manual do usuário, relatório de resumo de desenvolvimento) em um ambiente simulado
Teste do sistema
Testes de ambiente de produção, testes de caixa preta baseados em especificações de requisitos, cobrindo todos os componentes conjuntos e avaliando a qualidade dos produtos de software
Incluindo software, hardware, periféricos, dados, software de suporte, etc., especificamente testes de recuperação, testes de segurança, testes de resistência, testes de desempenho, testes de confiabilidade e testes de instalação
teste
Para software do tipo produto, o desenvolvedor @ está presente e o cliente implementa o teste, e o desenvolvedor b não está presente.
Tipo de teste
teste de funcionamento
Teste de performance
Finalidade (avaliar capacidades do sistema, identificar pontos fracos, ajustar o sistema, verificar estabilidade e confiabilidade), tipo (teste de carga, teste de força, teste de capacidade)
Teste de aceitação
Análise de requisitos de software, preparação do plano de teste de aceitação e critérios de aceitação do projeto, design de teste e design de caso de teste, construção de ambiente de teste, implementação de teste, análise de resultados, relatório de teste
testes de terceiros
Intermediário - Centro de Avaliação de Software de Pequim
Teste de regressão (verifique se defeitos que ocorreram antes, mas foram reparados, não reaparecerão), testes de recuperação, testes de confiabilidade, testes de inicialização/parada, testes de configuração, testes de segurança, testes de usabilidade, testes de instalação, testes de processos, testes de compatibilidade sexual
Teste orientado a objetos
Teste de análise orientado a objetos, teste de design orientado a objetos, teste de programação orientado a objetos (teste de unidade orientado a objetos, teste de integração orientado a objetos, teste de sistema orientado a objetos)
ferramentas de teste
Não requer validação periódica, calibração, verificação ou gerenciamento de configuração para manter a adequação.
gerenciamento de testes
É difícil gerenciar a equipe de teste porque os indicadores de desempenho dos testadores não são fáceis de contar. Há uma grande lacuna no número de bugs em programas escritos por especialistas e novatos. Como determinar a capacidade dos testadores de encontrar bugs?
Gerenciamento de rastreamento de erros (defeitos)
Manutenção de software
A manutenção do software é parte integrante do ciclo de vida. Ela fornece todas as atividades que requerem suporte de software. O software é compreensível, testável, modificável e passível de manutenção.
Manutenção de software
Engenharia de software melhora a capacidade de manutenção
Análise de requisitos - Possíveis melhorias e modificações são explicadas
Fase de design – solução fácil de expandir, portátil, reutilizável, orientada a objetos
Fase de codificação - anotação, qualidade, orientada a objetos
Fase de teste - se o teste for bom, então a manutenção é boa; todos os documentos relacionados ao teste estão disponíveis;
Fase de manutenção – boa gestão de configuração e documentos sincronizados
Documentação do sistema (requisitos de manutenção, código-fonte, documentos de projeto, documentos de teste)
Documentação do usuário (Manual do Usuário, Documentação de Instalação, Manual de Referência, Guia do Administrador)
métricas de manutenibilidade
Número de loops (complexidade do código-fonte), tamanho do software, outros fatores
Classificação de manutenção de software
Correção (o processo de diagnóstico e correção de erros)
Tipo adaptativo (o processo de adaptação às mudanças no novo software e hardware do ambiente externo, banco de dados do ambiente de dados, formato de dados e mídia de armazenamento para modificar o software, como atualizar o sistema operacional e modificar o software)
Tipo preventivo (o processo de modificação do software para melhorar a capacidade de manutenção e confiabilidade do software e estabelecer as bases para melhorias futuras no software. Não é um erro agora, mas se tornará um erro com o tempo, como o problema do bug do milênio resolvido em 1999)
Tipo de perfeição (o processo de modificação ou redesenvolvimento de software para atender a novas funções e desempenho)
Implementação de manutenção de software
Estabelecer a organização de manutenção, propor requisitos de manutenção, implementar operações de manutenção, registrar elementos de manutenção e avaliar atividades de manutenção
A manutenção pré-entrega inclui planos de operação pós-entrega e planos de manutenção, e a manutenção pós-entrega inclui modificações de software, treinamento, materiais de ajuda, etc.
Reutilização de software
Utilizar vários conhecimentos relevantes de software existente para construir novo software e reduzir os custos de desenvolvimento e manutenção de software é uma tecnologia importante para melhorar a produtividade e a qualidade do software.
Reutilização de código, reutilização de design, reutilização de análise, reutilização de caso de teste
Um componente é um corpo de programa com determinadas funções que podem funcionar de forma independente ou ser montados e coordenados com outros componentes. Para serem práticos e reutilizados de forma mais eficaz, os componentes devem ter variabilidade e flexibilidade para melhorar a versatilidade.
ambiente de desenvolvimento de software
Uma coleção de ferramentas de software relacionadas, ambiente de desenvolvimento integrado (integração de dados, integração de controle, integração de interface)