Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula de Revisão 02 Engenharia de Software ▪ Requisitos de software expressam as necessidades e restrições colocadas sobre um produto de software. ▪ É a etapa onde são levantadas todas as necessidades para a construção de um sistema. ▪ Fundamental para sucesso ou fracasso de um projeto de software. ▪ Descreve os serviços que devem ser fornecidos pelo sistema e suas restrições operacionais. ▪ É um propriedade que deve ser exposta para resolver um problema do mundo real. Requisitos de Software ▪ Requisitos funcionais: define as funções que o software deve executar ▪ Requisitos de domínio ou regras de negócio: podem restringir requisitos funcionais existentes ou estabelecer como regras de negócio devem ser realizadas ▪ Requisitos não funcionais: descrevem restrições sobre os serviços ou funções oferecidos pelo sistema. Tipos de requisitos de Software ▪ São cinco fases envolvidas no processo: levantamento de requisitos (elicitação), análise de requisitos, documentação de requisitos, verificação e validação de requisitos e gerência de requisitos. ▪ Processo de requisitos são adaptadas às necessidades do projeto. ▪ Tentam definir o que o cliente deseja, estabelecendo uma fundação sólida para o projeto e a construção do software. Fase do levantamento de requisitos de Software ▪ Os diagramas são a representação em orientação a objetos. ▪ A linguagem utilizada para representar estes diagramas é a UML (Unified Modeling Language), que é uma linguagem para especificação, construção, visualização e documentação de sistemas de software. ▪ Auxiliar engenheiros de software a definir características do software como: requisitos, comportamentos, estrutura lógica, Dinâmica dos processos e Necessidades físicas Diagramas ▪ A utilização dos diagramas permite a identificação de falhas, reduzindo a ocorrências de problemas no futuro. ▪ Diagrama de Classes: Traz a abstração para dar suporte à programação, dos atributos que devem ser utilizados e os métodos correspondentes. ▪ Diagrama de caso de uso: apresenta os atores e as funcionalidades que o sistema terá e será utilizado para descreve- los detalhadamente. Tipos de Diagramas ▪ Diagrama de Atividade: Aponta o conjunto de atividades de cada processo, pode ser em nível macro, ou detalhado. ▪ Diagrama de Sequência: utilizado para permitir ao programador saber a sequência exata de utilização dos objetos ou classes. Ele permite a identificação das interações entre os objetos do sistema, apresentando a ordem cronológica das ações internas do sistema. Tipos de Diagramas ▪ Testes ganharam importância no processo de desenvolvimento de software. ▪ Comprova que o software foi desenvolvido de acordo com as especificações e a que se propõe. ▪ Objetivo é encontrar defeito, erros e falhas se utilizando de cenários de testes. ▪ Defeito e erro são referenciados como a causa; e a falha, como a consequência a um comportamento inadequado do programa. Fundamentação de testes ▪ Caso de Teste: descreve uma condição particular a ser testada e é composto por valores de entrada, restrições para a sua execução e um resultado ou comportamento esperado. ▪ Procedimento de Teste: é uma descrição dos passos necessários para executar um caso (ou um grupo de casos) de teste. Elementos dos testes ▪ Teste de volume: visa verificar a capacidade do software de lidar com grande quantidade de dados. ▪ Teste de configuração: a conformidade com as diferentes configurações de software e/ou hardware. ▪ Teste de estresse: confiabilidade do sistema, validando o comportamento do software com grande volume de requisições/uso. ▪ Teste de segurança: valida a integridade e a confidencialidade dos dados. Objetivos testes de software ▪ Definição dos componentes de software, suas propriedades externas, e seus relacionamentos com outros softwares. ▪ Documentação da arquitetura de software do sistema. ▪ Registra as decisões iniciais acerca do projeto de alto-nível, e permite o reuso do projeto dos componentes e padrões entre projetos. Arquitetura ▪ Os fatores chaves de uma arquitetura são: ▪ Definir requisitos, definir uma ferramenta ORM (técnica de mapeamento do objeto relacional), separação das responsabilidades, utilizar padrões de projeto, princípio básico de software, definir o tipo de aplicação, definir a estratégica de distribuição e determinar os atributos de qualidade Etapas da arquitetura
Compartilhar