Escolar Documentos
Profissional Documentos
Cultura Documentos
PLANEJAMENTO
O que e por qu da Engenharia de Software?
Engenharias em geral : objetivos, abordagens e mtodos Software como produtos: caractersticas, fatos e diferenciais Um Histrico da engenharia de Software Fatores diretores de mudanas em ES Princpios da Engenharia de Software
PLANEJAMENTO
Modelos de ciclo de vida
Processo de desenvolvimento de software Etapas do processo Modelos cascata, incremental, espiral e com base em
componentes
SOFTWARE: o Produto
Diferente dos produtos mais comuns, o software um
produto malevel
Principal fator de custo no desenvolvimento de um
MITOS DA GERNCIA...
Ferramentas de software e hardware so suficientes Manuais de Regras e Procedimentos Estamos atrasados? Vamos alocar mais gente ao projeto!
MITOS DO DESENVOLVERDOR...
At que o programa esteja rodando no h como medir
sua qualidade O nico produto de um projeto de software o conjunto de programas Programa escrito e testado! Acabei!
MITOS DO CLIENTE...
Uma lista de intenes (boas) suficiente para comear
a produzir o software
A especificao do Software a fase mais critica do processo, pois
Minhas necessidades vo mudar ? Mas mudanas so fceis de introduzir porque o software bastante flexvel
SOFTWARE: FATOS
Em geral, o desenvolvimento de um produto de software
custa caro
Software desenvolvido, no produzido no sentido
SOFTWARE: FATOS
Frequentemente, os recurso (equipe) so insuficientes e
qualidade esperado.
SOFTWARE: FATOS
A qualidade do software frequentemente suspeita, pois
de operar
Software precisa se adaptar a novas tecnologias, que
SOFTWARE: FATOS
Software em operao difcil de manter e a manuteno
SOFTWARE: FATOS
A confiabilidade depende do uso de mtodos que possam
dinheiro e pessoal capacitado para resolver os problemas A estratgia da engenharia aplicar o conhecimento cientfico sobre um determinado domnio tecnolgico Esta estratgia exige o desenvolvimento contnuo de tecnologias e conhecimento sobre as diversas reas Assim, a engenharia se especializa nos mais diversos ramos de conhecimento (eltrica, civil, software,...)
devemos unir as solues de cada parte em uma estrutura maior, que atenda a todo problema
Correes: resoluo de problemas decorrentes a sntese
software
Os sistemas eram simples e construdos por pequenas
equipes
Sistemas construdos para resolver problemas especificos
por produo
A EVOLUO DO SOFTWARE
Sistemas de software so progressivamente mais
complexos
Foguetes Tit (EUA - 1960): 1.000 instrues Sistema de controle areo (EUA - 1970): 1.000.000 instrues Sistema estratgico de defesa (EUA - 1990): 10.000.000 instrues
Software cada vez ... Maior Com mais funcionalidades Mais complexo Envolvendo mais usuarios Exigindo a participao de equipes em seu desenvolvimento
engenharia para que se possa obter economicamente um software que seja confivel e que funcione eficientemente em mquinas reais(Fritz Bauer - 1969)
A aplicao de uma abordagem sistemtica, disciplinada
e quantificvel para o desenvolvimento, operao e manuteno do software. O estudo de abordagens e princpios a fim de obter economicamente softwares confiveis e que executem de forma eficiente nas mquinas reais( IEEE, 1993)
ENGENAHRIA DE SOFTWARE
A Engenharia de software surgiu com intuito de:
Identificar e analisar as causas dos problemas envolvidos com o
desenvolvimento de software
Propor solues economicamente viveis para a resoluo destes
problemas
Organizar o conhecimento sobre tcnicas disponveis para o
desenvolvimento de software
O principal problema da engenharia de software: falta de
PROCESSO DE SOFTWARE
Conjunto de atividades e resultados que produz um
produto de software
Existem 4 atividades fundamentais do processo:
Especificao de software: definio dos requisitos e restries Desenvolvimento de software: projetado e programado Validao de software: verifica para ver se o que o cliente quer Evoluo do software: adaptar as mudanas dos requisitos
eles:
Modelo cascata Modelo Incremental Modelo espiral
MODELO EM CASCATA
Popularizado na dcada de 1970 Composto por uma sequencia de atividades Uma atividade comea a executar quando a outra termina Resultado de uma etapa utilizado na etapa seguinte Guiado por documentos Ciclo de vida mais antigo e mais utilizado
MODELO EM CASCATA
Problemas: Dificuldade de manter a serializao proposta pelo modelo
Dificuldade de se concluir a etapa de anlise de requisitos, devido
MODELO INCREMENTAL
Prottipo
Verso simplificada de um produto de software, geralmete criada
sem um processo formal de desenvolvimento, utilizada para elucidar ou validar os requisitos do produto.
Desenvolvimento incremental
Diversas execues do modelo clssico de ciclo de vida Ao fim de cada execuo gerado um produto executvel
MODELO INCREMENTAL
MODELO INCREMENTAL
Existem 3 tipos diferentes do modelo incremental:
Incremental evolutivo: os requisitos vo sendo implementados por
parte, sendo assim uma entrega rpida de produtos intermedirios para o usurio.
Incremental Descartvel: custo alto pela perda do produto
longos no ambiente do usurio, enquanto uma outra equipe trabalha em um ambiente separado.
MODELO EM ESPIRAL
um metamodelo, visto que qualquer modelo pode ser
MODELO EM ESPIRAL
ENTREGAR
O que software?
da computao ? O que processo de software? Quais os so o modelos de processo de software? Comente cada um deles. O que CASE? Quais so os atributos de um bom software?