Sem resumo de edição
Linha 34: Linha 34:
** Falta de conhecimento dos limites das tecnologias para certos contextos
** Falta de conhecimento dos limites das tecnologias para certos contextos
** Análise e experimentação insuficientes  (empirismo x experimentação)
** Análise e experimentação insuficientes  (empirismo x experimentação)
<br>
= Processo de Software =
<br>
* Modelos ciclo de vida
* Sequencial ou Cascata (Waterfall)
* Desenvolvimento iterativo e incremental
* Evolucional ou Prototipação
* V-Model
* Espiral
* Componentizado
* Formal
* Ágil
* RAD
* Quarta geração
<br>
= Modelos de Maturidade =
<br>
* Capability Maturity Model Integration (CMMi)
* MPS-BR
<br>
= Metodologias e Métodos =
<br>
* Metodologia Estruturada
** Análise Estruturada
** Projeto Estruturado
** Programação Estruturada
** Análise Essencial
** SADT
** DFD - Diagrama de Fluxo de Dados
** MER - Modelo de Entidades e Relacionamentos
<br>
* Metodologia Orientada a Objetos
** Orientação a Objetos
** Rational Unified Process ( RUP )
<br>
* Desenvolvimento ágil de software
** Feature Driven Development ( FDD )
** Enterprise Unified Process (EUP)
** Scrum (Scrum)
** Crystal (Crystal Clear, Crystal Orange, Crystal Orange Web)
** Programação extrema ( XP )
<br>
* Outras Metodologias
** Microsoft Solution Framework ( MSF )

Edição das 13h14min de 20 de setembro de 2011

Engenharia de Software é uma ciência?


  • Wikipedia:
    • "Engenharia de software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade"
    • Os fundamentos científicos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Além disso, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento de um sistema de informação Sistema computacional, pois ambos se confundem!
    • Atualmente, essas tecnologias e práticas englobam linguagens de programação, banco de dados, ferramentas, plataformas, bibliotecas, padrões, processos e a questão da Qualidade de Software.


  • O papel do pesquisador é compreender a natureza dos processos, produtos e o relacionamento entre os dois no contexto do sistema
  • O papel do profissional da prática (engenheiro de software) é construir sistemas cada vez melhores, utilizando o conhecimento disponível
  • Mais que em outras disciplinas, estes papéis são simbióticos
  • O pesquisador precisa dos laboratórios para observar e manipular as variáveis
  • Elas somente existem quando os engenheiros de software constróem sistemas de software
    • O engenheiro de software precisa compreender melhor como construir sistemas melhores
    • O pesquisador pode produzir modelos para ajudar


Engenharia de Software é desenvolvimento


  • As tecnologias da disciplina são baseadas no elemento humano
  • O Software não é o mesmo o tempo todo
    • Existe um enorme número de variáveis que provocam diferenças
    • Seus efeitos precisam ser entendidos
  • Atualmente,
    • o Conjunto de modelos insuficientes que nos permita pensar sobre a disciplina
    • Falta de conhecimento dos limites das tecnologias para certos contextos
    • Análise e experimentação insuficientes (empirismo x experimentação)


Processo de Software


  • Modelos ciclo de vida
  • Sequencial ou Cascata (Waterfall)
  • Desenvolvimento iterativo e incremental
  • Evolucional ou Prototipação
  • V-Model
  • Espiral
  • Componentizado
  • Formal
  • Ágil
  • RAD
  • Quarta geração


Modelos de Maturidade


  • Capability Maturity Model Integration (CMMi)
  • MPS-BR


Metodologias e Métodos


  • Metodologia Estruturada
    • Análise Estruturada
    • Projeto Estruturado
    • Programação Estruturada
    • Análise Essencial
    • SADT
    • DFD - Diagrama de Fluxo de Dados
    • MER - Modelo de Entidades e Relacionamentos


  • Metodologia Orientada a Objetos
    • Orientação a Objetos
    • Rational Unified Process ( RUP )


  • Desenvolvimento ágil de software
    • Feature Driven Development ( FDD )
    • Enterprise Unified Process (EUP)
    • Scrum (Scrum)
    • Crystal (Crystal Clear, Crystal Orange, Crystal Orange Web)
    • Programação extrema ( XP )


  • Outras Metodologias
    • Microsoft Solution Framework ( MSF )