ES_-_2oSem_2014_-_Aula_01

ES_-_2oSem_2014_-_Aula_01


DisciplinaEngenharia de Software I5.604 materiais57.259 seguidores
Pré-visualização3 páginas
*
Curso Superior de Tecnologia em
Análise e Desenvolvimento de Sistemas
Prof: Fernando Guimarães
Engenharia de Software
*
Aula 01
- Visão Geral -
*
O que é Software ?
O que é Engenharia de Software ?
O que é Sistema?
O que é Análise e Desenvolvimento de Sistema?
Um pouco de história...
*
\u201cProduto e, ao mesmo tempo, um meio de entrega de um produto\u201d (Roger Pressman)
Produto: \u201centrega\u201d recursos computacionais (hardware)
\u201cTransformador\u201d de Informação !...
Um pouco de história...
*
\u201cProduto e, ao mesmo tempo, um meio de entrega de um produto\u201d (Roger Pressman)
Meio: controle de computadores (sistemas operacionais), comunicação (redes), criação e controle de outros programas (ferramentas e ambientes)
\u201cEntregador\u201d de Informação !...
Um pouco de história...
*
Desafio nas 3 primeiras décadas da \u201cera do computador\u201d: desenvolver hardware que reduzisse o custo de processamento e armazenagem de dados.
Desenvolvimento \u201cinformal\u201d do software (pessoal, sem documentação, sem processo...)
Ao final da década de 60: novo hardware baseado em circuitos integrados.
\u201cCrise de software\u201d
Custo de HW caindo e os de SW aumentando
Surge o conceito de Engenharia de Software
Um pouco de história...
*
Novas técnicas e métodos para controlar a complexidade dos grandes sistemas de software:
Parte da atual Engenharia de Software
Aumentou a habilidade em produzir SW, mas cresceu a necessidade por sistemas mais complexos
E tecnologias, mais complexas, mais acessíveis...
O software ultrapassa o hardware como a chave para o sucesso de sistemas baseados em computador
Um pouco de história...
*
Hoje, o desenvolvimento da engenharia de software:
Entende-se melhor as atividades envolvidas
Métodos mais eficazes de especificação, projeto e implementação
Novas notações e ferramentas reduzem o esforço
Os problemas associados ao software continuam a se intensificar:
Extrair o potencial do hardware
Atender a demanda de novos sistemas
Manter os programas existentes 
Um pouco de história...
*
Não há uma \u201ccrise de software\u201d. Há uma \u201caflição crônica\u201d:
\u201calgo que causa dor ou sofrimento\u201d
\u201cque dura um longo tempo ou retorna frequentemente; que continua indefinidamente\u201d
Roger S. Pressman
Por que Engenharia de Software?
*
Problemas...:
Estimativas de prazo e custo imprecisas
Produtividade não acompanha a demanda
Qualidade abaixo da expectativa
..são a manifestação de outras dificuldades:
Poucos dados históricos
Comunicação deficiente com o cliente
Pouca atenção na sistematização dos testes
Pouca atenção na capacidade de manutenção
Roger S. Pressman
Por que Engenharia de Software?
*
Os problemas são causados pelo próprio caráter do software e pelas falhas das pessoas responsáveis pelo seu desenvolvimento.
Cuidado com os \u201cmitos\u201d do software:
Administrativos
Do cliente
Do profissional
Roger S. Pressman
Por que Engenharia de Software?
*
Mito 1. "Se a equipe dispõe de um manual repleto de padrões e procedimentos de desenvolvimento de software, então a equipe está apta a encaminhar bem o desenvolvimento.\u201c
Mito 2. "A equipe tem ferramentas de desenvolvimento de software de última geração, uma vez que eles dispõem de computadores de última geração.\u201c
Mito 3. "Se o desenvolvimento do software estiver atrasado, basta aumentar a equipe para honrar o prazo de desenvolvimento." 
Mitos Administrativos
Por que Engenharia de Software?
*
Mito 4. "Uma descrição breve e geral dos requisitos do software é o suficiente para iniciar o seu projeto... maiores detalhes podem ser definidos posteriormente." 
 
Mito 5. "Os requisitos de projeto mudam continuamente durante o seu desenvolvimento, mas isto não representa um problema, uma vez que o software é flexível e poderá suportar facilmente as alterações." 
Mitos do Cliente
Por que Engenharia de Software?
*
Mito 6. "Após a edição do programa e a sua colocação em funcionamento, o trabalho está terminado." 
Mito 7. "Enquanto o programa não entrar em funcionamento, é impossível avaliar a sua qualidade." 
Mito 8. "O produto a ser entregue no final do projeto é o programa funcionando." 
Mitos do Profissional
Por que Engenharia de Software?
*
Informática
Ciência
Processamento de Dados
Engenharia
Ciência que visa o tratamento da informação por intermédio do uso de equipamentos e procedimentos da área de processamento de dados
Engenharia de Software?
*
Informática
Ciência
Processamento de Dados
Engenharia
Conjunto organizado de conhecimentos relativos a um determinado objeto, especialmente os obtidos mediante a observação, a experiência dos fatos e um método próprio
Engenharia de Software?
*
Informática
Ciência
Processamento de Dados
Engenharia
Tratamento dos dados por meio de máquinas, com a finalidade de obter resultados da informação representada pelos dados
Engenharia de Software?
*
Informática
Ciência
Processamento de Dados
Engenharia
Arte de aplicar conhecimentos científicos e empíricos e certas habilitações específicas à criação de estruturas, dispositivos e processos que se utilizam para converter recursos naturais em formas adequadas ao atendimento das necessidades humanas
Engenharia de Software?
*
Informática é uma ciência cujo assunto é o processamento de dados através das máquinas
Ciência tem como foco a acumulação de conhecimento através de método científico
Engenharia de Software: arte, atendimento às necessidades humanas, conhecimentos científicos e empíricos, habilidades específicas, recursos naturais, formas adequadas, dispositivos, estruturas e processos.
Engenharia de Software?
*
Engenharia de Software não se confunde com Ciência da Computação, e nem é uma disciplina desta, tal qual a Engenharia Metalúrgica não é uma disciplina da Física dos Metais, nem a Engenharia Elétrica é uma disciplina da Física da Eletricidade.
Engenharia de Software usa resultados da ciência e fornece problemas para estudo desta; são vocações profissionais completamente distintas.
Engenharia de Software?
*
Engenharia de Software
1ª. Definição
\u201cDisciplina tecnológica e gerencial preocupada com a produção sistemática de produtos de software, que são desenvolvidos e/ou modificados dentro do tempo e custo estimados.\u201d
Engenharia de Software?
*
Como engenheiros de software:
Utilizar conhecimento sobre computadores e computação para ajudar a resolver problemas;
Primeiro, entender a natureza do problema;
Depois, se necessário, usar a tecnologia como ferramenta para implementar a solução;
Pressuposto: a análise evidenciou que algum tipo de sistema computacional é desejável ou necessário para solucionar o problema apresentado.
Engenharia de Software?
*
Fonte: PFLEEGER, Engenharia de Software
Resolvendo problemas: processo de análise (1)
Engenharia de Software?
*
Fonte: PFLEEGER, Engenharia de Software
Resolvendo problemas: processo de síntese (2)
Engenharia de Software?
*
Resolvendo problemas: métodos, procedimentos, ferramentas e paradigmas (3)
MÉTODO: procedimento formal para produzir um resultado (técnica).
FERRAMENTA: instrumento ou sistema automatizado para realizar uma tarefa da melhor maneira.
PROCEDIMENTO: combinação de ferramentas e técnicas para produzir um resultado específico.
PARADIGMA: uma abordagem ou filosofia em particular.
Engenharia de Software?
*
Papel do Engenheiro de Software
Fonte: PFLEEGER, Engenharia de Software
Engenharia de Software?
*
Papel do Engenheiro de Software
Escrever software: arte e ciência;
Várias maneiras de realizar a mesma tarefa, mas algumas são melhores que as outras;
Ser mais eficiente, mais preciso, mais fácil de se modificado, mais simples de ser utilizado, mais fácil de ser entendido.
Engenharia de Software?
*
Engenharia de Software
2ª. Definição
\u201cTrata