Apresentação da Engenharia de Software
- Adquirir e aplicar conhecimento em software
- Ciência, arte e profissão de adquirir e aplicar conhecimentos em software (instruções, abstrato, intangível, feito por pessoas)
- Crise, complexidade, custo e prazo, qualidade, aderência
- Nova e em evolução
Requisitos não funcionais, mobile, time-to-market
- Swebok - Requisitos, Design (projeto), Qualidade, Testes, Gestão de configuração, Processos
- Pressman - Processo de software, Modelagem, Gerenciamento da qualidade, Gerenciamento do projeto
- ISO 25000 (ISO é MODELO, ela não diz como FAZER) - Norma (modelo de referência), para Qualidade de Software
Processo, framework, desenvolvimento
- ISO
- IEEE
Processos existentes (não todos)
- waterfall
- Espirol
- Prototipação
- RAD
- Iterativo e incremental
- RUP
- ICONIX
- XP
- Ágil
Processos Definidos
- XP
- Kanban
- FDD
- TDD
- BDD
- DDD
- Scrum
- Confiabilidade
- Desempenho
- Disponibilidade
- Gestão de configuração
- Segurança
- Portabilidade
- Usabilidade
Etapas de engenharia
- Pontos de vita de arquitetura/projeto/design
- Contexto
- Composição
- Lógica
- Dependência
- Informação
- Uso de padrão
- Interface
- Estrutura
- Interação
- Dinâmica de estado
- Algorítimo
- Recurso
- Padrão de projeto (Design Patterns)
Solução para projeto, reutilizável que resilve um problema que ocorre com frequência em um contexto determinado
- IEEE 730 - SQA - Software quality assurance
- IEEE 1012 - V&V - Software Verification and Validation
- Dinâmico - Software rodando (teste unitário)
- diagrama de sequencia
- Caixa branca - Escopo do teste (tem acesso ao código fonte do software),
- Caixa preta - Escopo do teste (é o usuário final, que testa sem ver o código fonte, somente o resultado ),
- caixa cinza - Escopo do teste (não sabe como está programado, mas sabe o que deveria retornar)
- Unitário - Testar menor porção do sistema possível
- Integração - Integra vários componentes da aplicaçao, ou com componentes externos que eu não tenho acesso
- Interface - Teste de usuário - Selenium (caixa preta)
- Sistema / aceitação
- Fumaça
- Concorrência
- Regressão
- Conformidade
- Aceitação
- Segurança
- Usabilidade
- Alpha
- Beta
- Acessibilidade
- Waterfall
- Agiçe
- Extreme
Quais características de qualidade são levadas e consideração?
fornecer um sistema de valor, coias explicitas e implícitas
Necessidade está no modelo de qualidade
- Funcionais
- Adequação funcional
- Não funcional
- Eficiente do desempenho
- Compatibilidade
- Confiabilidade
- Segurança
- Manutenibilidade
- Portabilidade
- Usabilidade
Development and Operations
Requisitos funcionais Documentação de usuário