Skip to content

Instantly share code, notes, and snippets.

@JulianeAlbuquerque
Last active October 12, 2016 08:08
Show Gist options
  • Save JulianeAlbuquerque/f634b99b93fb77150f35 to your computer and use it in GitHub Desktop.
Save JulianeAlbuquerque/f634b99b93fb77150f35 to your computer and use it in GitHub Desktop.
Anotações da aula de Engenharia de Software

Aula 1

Apresentação da Engenharia de Software

O que é?

  • 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)

Por quê?

  • Crise, complexidade, custo e prazo, qualidade, aderência

Características

  • Nova e em evolução

Extras para a web

Requisitos não funcionais, mobile, time-to-market

Livros (complementar conhecimento)

  • 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

AULA 2 - Processo de desenvolvimento

Processo, framework, desenvolvimento

Normas

  • ISO
  • IEEE

Processo

Processos existentes (não todos)

Tradicional

  • waterfall
  • Espirol
  • Prototipação
  • RAD
  • Iterativo e incremental
  • RUP
  • ICONIX
  • XP
  • Ágil

Processos Definidos

  • XP
  • Kanban
  • FDD
  • TDD
  • BDD
  • DDD

Framework

  • Scrum

Requisitos Não-funcionais

  • Confiabilidade
  • Desempenho
  • Disponibilidade
  • Gestão de configuração
  • Segurança
  • Portabilidade
  • Usabilidade

AULA 3 - Projeto (design) de software

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

Framework para Arquitetura Corporativa (Zachman)

UML - Unified Modeling Language

AULA 4 - Teste de Software

  • IEEE 730 - SQA - Software quality assurance
  • IEEE 1012 - V&V - Software Verification and Validation

Métodos

Estático -

  • 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)

Níveis de teste

  • 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

Tipos de teste

  • Fumaça
  • Concorrência
  • Regressão
  • Conformidade
  • Aceitação
  • Segurança
  • Usabilidade
  • Alpha
  • Beta
  • Acessibilidade

Processos de teste

  • Waterfall
  • Agiçe
  • Extreme

Artefatos de teste

AULA 5 - Qualidade de Software

O que levar em conta na avaliação do software?

Quais características de qualidade são levadas e consideração?

Objetivo?

fornecer um sistema de valor, coias explicitas e implícitas

Necessidade está no modelo de qualidade

ISO 25000

  • Funcionais
  • Adequação funcional
  • Não funcional
  • Eficiente do desempenho
  • Compatibilidade
  • Confiabilidade
  • Segurança
  • Manutenibilidade
  • Portabilidade
  • Usabilidade

Aula 7 - DevOps (entrega contínua)

Development and Operations

NÃO CAI na prova:

Requisitos funcionais Documentação de usuário

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment