1. Apresentaes Pessoais;
2. Programa da disciplina;
3. Introduo;
a. conceitos bsicos;
b. crise de software;
c. mitos de software;
d. swebok.
Objetivos
Aprender sobre:
Contedo
1. Introduo Engenharia de Software 5. Gerncia de Projetos de Software
Conceitos bsicos e viso geral
Crise de software;
Mitos de software; 6. Modelagem, Projeto e Construo de
Swebok; Softwares
Contextualizao de reas (CC, EC,
ES)
7. Teste de Software
2. Atividades Fundamentais do
Desenvolvimento de Software
8. Qualidade de Software
3. Processos e Ciclos de Vida de
Software:
processo;
modelos de processos: sequencial,
incremental, iterativo e hbrido) e
metodologias a geis
4. Requisitos de Software
Professor Pessoni Engenharia de Software 5
Programa da Disciplina
Engenharia de Software
Perodo:
16/08/2017 a 13/12/2017
Horrios e locais:
Quarta: 18:50 - 22:00; Bloco B, EMC.
Avaliaes
N1
Prova Escrita Individual sem Consulta (27 de setembro)
nota de 0-10, 60% da N1
N2
Prova Escrita Individual sem Consulta (29 de novembro)
nota de 0-10, 60% da N2
AE
1 ponto extra de atividades extraclasse que a mdia de quantas forem as
atividades ministradas
Nota Final (NF) = ((P1 * 0,6 + T1 * 0,4) + (P2 * 0,6 + T2 * 0,4)) / 2 + (0,1 * AE)
Professor Pessoni Engenharia de Software 7
Programa da Disciplina
Avaliaes
Caso o aluno perca uma ou mais avaliaes (A1 ou A2) ter o direito
de fazer avaliao substitutiva mediante processo com uma
justificativa formal (atestado mdico, certificados, declaraes,
entre outros);
Sero aprovados os alunos com Nota Final >= 6,0 e Frequncia >=
75,0%;
Nas atividades em grupo, podero ser atribudas notas diferentes
para os integrantes de um mesmo grupo, se forem observadas
diferenas nos esforos e resultados produzidos por esses
integrantes;
Em qualquer atividade ou produto avaliado, a ocorrncia de plgio
leva atribuio da nota zero.
Professor Pessoni Engenharia de Software 8
Programa da Disciplina
Ambientes de Interao
Os materiais so postados no SIGAA;
E-mail:
vinicius.pessoni@ufg.br
SOMMERVILLE, Ian.; - Sommerville, Ian Software engineering - Ian Sommerville. - 9th ed.
O que um Programa?
Tanenmbaum:
Puga:
Mas,
e SOFTWARE, o que ?
Mas,
e SOFTWARE, o que ?
software == programa?
O que um Software?
s vezes, usamos software e programa como conceitos
equivalentes;
Pressman
Software um composto:
a. um conjunto de instrues (programas) que, quando
executadas, produzem a funo e o desempenho desejados;
b. estruturas de dados que possibilitam que os programas
manipulem corretamente as informaes;
c. documentos que descrevem a operao e o uso dos
programas.
Professor Pessoni Engenharia de Software 20
Conceitos Bsicos
O que um Software?
s vezes, usamos software e programa como conceitos
equivalentes;
Sommerville
Software no apenas o programa,
O que um Software?
s vezes, usamos software e programa como conceitos
equivalentes;
Sommerville
De forma simplificada, um Bom Software (de boa qualidade)
aquele que entrega as funes e desempenho que o usurio
espera;
O que um Software?
Assim,
software != programa
O que sistema?
O que um Sistema?
Sommerville
Exemplos:
sistemas de computador;
sistemas operacionais;
sistema educacional;
sistema de governo;
sistema de abastecimento;
sistema bancrio;
sistema eltrico, etc.
O que um Sistema?
Sommerville
O que
Engenharia de Software?
Sommerville:
Engenharia de Software uma disciplina de engenharia que
se preocupa com todos os aspectos de produo de software;
dos estgios iniciais at a sua manuteno, depois que este entra
em operao. Objetiva auxiliar na produo de software
profissional de qualidade dentro do cronograma e oramento,
descrevendo tcnicas para isso.
especificao de software;
desenvolvimento de software;
validao de software;
e evoluo de software.
Se a Engenharia de Software to
ampla,
X ????????????
????????????
Engenharia de Computao
????????????
Engenharia de Computao
Crise do Software:
1. Administrativos
2. Relacionados ao Cliente
3. Relacionados ao Profissional
Mitos atuais
Principais Problemas
Principais Problemas
Principais Problemas
Principais Problemas
Ataques promissores
Processo
Processo
Sommerville:
um conjunto de:
Processo
PMBOK, 2008:
Processo
Wazlawick:
artefatos de entrada;
artefatos de sada;
papis responsveis;
participantes;
recursos necessrios;
Processo
Wazlawick, refinado:
Processo
Wazlawick, refinado:
interdependentes;
com responsveis;
Processo
A Engenharia de Software pode ser vista como uma disciplina multi camada
que deve ser apoiada na qualidade;
A gerncia total de qualidade, Six Sigma** e filosofias similares fomentam a
cultura de melhoria contnua dos processos e essa cultura auxilia no
desenvolvimento de melhores abordagens de engenharia de software;
Assim, a Engenharia de Software est fundamentada em processos;
so os processos que permitem um desenvolvimento racional e
organizado.
**Six Sigma um conjunto de prticas desenvolvidas pela Motorola para melhorar sistematicamente os processos ao eliminar defeitos. Um defeito
definido como a no conformidade de um produto ou servio com suas especificaes.
Grfico adaptado de Pressman, 7th edition, pg 14.
Processo
Os processos de software:
Processo
Os processos de software:
Processo
Sommerville 2011:
Especificao de software;
Projeto e implementao de software;
Validao de software;
Evoluo do software.
Processo
as caractersticas da aplicao;
domnio do problema, tamanho, complexidade, etc;
a tecnologia que ser adotada na sua construo;
paradigma de desenvolvimento, linguagem de
programao, mecanismo de persistncia, etc;
a organizao onde o produto ser desenvolvido;
perfil da equipe de desenvolvimento, tamanho da
organizao, etc.
Professor Pessoni Engenharia de Software 72
Processos de Software
Processo
Sommerville
Ciclo de Vida:
uma representao abstrata de um processo de
software. Cada modelo de processo representa um
processo sob determinada perspectiva e, dessa
forma, fornece somente informaes parciais sobre
esse processo.
Professor Pessoni Engenharia de Software 73
Modelo de Processo
(Ciclo de Vida)
Ciclo de Vida
Um modelo de processo um conjunto de regras abstratas que
definem um processo de forma simplificada.
Ciclo de Vida
Independente do modelo de ciclo de vida escolhido, algumas atividades
sempre devem aparecer:
Ciclo de Vida
Em geral, os ciclos de vida envolvem as seguintes fases:
1. Planejamento
2. Anlise e Especificao de Requisitos
3. Projeto
4. Implementao
5. Testes
6. Entrega e Implantao
7. Operao
8. Manuteno
projeto detalhado.
Treinamento de usurios;
Ciclo de Vida:
7. Operao
8. Manuteno
Adaptativas;
Corretivas;
Evolutivas.
Sequenciais;
Incrementais;
Iterativos;
Hbridos.