210 likes | 502 Views
Engenharia de Software. Aula 01 – Introdução Prof. Adriana M. Martins. Introdução à Engenharia de Software. Introdução Definição Histórico Conceitos Concepção Projeto Arquitetura Topologia. Introdução. Atualmente dependemos de tecnologia praticamente em todos os aspectos da vida.
E N D
Engenharia de Software Aula 01 – Introdução Prof. Adriana M. Martins
Introdução à Engenharia de Software • Introdução • Definição • Histórico • Conceitos • Concepção • Projeto • Arquitetura • Topologia
Introdução • Atualmente dependemos de tecnologia praticamente em todos os aspectos da vida. • Sistemas complexos dependem de softwares bem desenvolvidos – relação de alto custo x benefício. • Os softwares tornam nossa vida mais confortável, eficiente e efetiva.
O que é Engenharia de Software? “É uma disciplina de Engenharia, cuja meta é o desenvolvimento de sistemas de software com uma boa relação custo x benefício.” Sommerville Software é algo abstrato e intangível, fácil de se tornar complexo e mais difícil de ser compreendido.
O que é Engenharia de Software? “É a engenharia para construção de sistemas, cuja estrutura abrange um processo, um conjunto de métodos e ferramentas, visando que este seja útil e funcione de forma adequada.” Pressman
O que é Engenharia de Software? “É a engenharia para construção de sistemas, cuja estrutura abrange um processo, um conjunto de métodos e ferramentas, visando que este seja útil e funcione de forma adequada.” Pressman
Qual a natureza do problema? PROBLEMA Problema1 Problema3 Problema2 Uso de tecnologia como ferramenta para implementar a solução SOLUÇÃO O que é Engenharia de Software? “É a engenharia utilizada para construção de softwares que nos auxiliem a resolver problemas.” Pflegger
Histórico • ESOF é uma engenharia nova; • A noção da mesma surgiu em 1968, numa conferência organizada para discutir a “Crise do Software”. • A criação de hardwares robustos nesta época indicava a necessidade de softwares mais elaborados e complexos do que os já existentes. TAREFA: Pesquisar sobre a “Crise do Software”
Histórico • A construção de softwares complexos mostrou necessidade de formalização do processo, pois: • Havia atraso na entrega; • Custos maiores do que os iniciais, que os tornavam não confiáveis; • Possuíam difícil manutenção e • Baixo desempenho.
Exemplo Prático - Visões de diferentes usuários... O que o líder do projeto entendeu O que o usuário explicou que queria O que o analista projetou
Visões de diferentes usuários... O que o consultor definiu O que o programador fez O que foi documentado
Visões de diferentes usuários... O que foi cobrado O que foi instalado O que restou após a manutenção
Visões de diferentes usuários... O que o usuário realmente precisava!!
Histórico • Novas técnicas e novos métodos eram necessários para controlar a complexidade inerente dos grandes sistemas de software. • O objetivo principal em se utilizar a ‘engenharia’ para construção dos softwares é produzir softwares complexos que atendam às expectativas dos usuários e sejam entregues dentro do orçamento e prazos previstos.
Histórico • Novas tecnologias resultam em convergência de sistemas computacionais com novos desafios na sua construção. • Algumas empresas tem problemas pela ausência de metodologia para construção de softwares. Porém, hoje é possível aplicar um processo e obter melhores resultados no fim da construção.
Qual o papel do Engenheiro de Software? • Cientistas da Computação: lidam com investigação, provas de teoremas sobre como funcionam os computadores e linguagens de programação por si só. • Engenheiros de Software: utilizam linguagens de programação e computadores como ferramentas a serem utilizadas num projeto e na implementação da solução de um problema.
Qual o papel do Engenheiro de Software? C. Computação Cliente Teorias Funções Computacionais Problema Engenharia de Software Técnicas e Ferramentas para resolver problemas!
Questões Ativas da Indústria de Software • No passado, o software era desenvolvido por um programador solitário. Hoje ele é construído por uma equipe de especialistas em software. • Cada especialista está concentrado em uma parte da tecnologia necessária para construção do software complexo.
Questões Ativas da Indústria de Software • Questões: • Por que leva-se tanto tempo para construir um software? • Por que os custos de desenvolvimento são tão altos? • Por que não podemos achar todos os erros antes da entrega do software para o cliente? • Por que gastamos tanto tempo e esforço mantendo programas existentes? • Porque temos dificuldades em avaliar o progresso enquanto o software é desenvolvido e mantido?