Engenharia de Software Aula 1 - Intro

346 visualizações

Publicada em

Aula 1
O que é software?
Quem faz o software?
Por que um software é importante?
Quais são os passos para se fazer um software?
Como tenho certeza que fiz um software corretamente?

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
346
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Engenharia de Software Aula 1 - Intro

  1. 1. Engenharia de Softwares e Gerência de Projetos Prof. Rudson Kiyoshi Souza Carvalho Anhanguera - 2015 Engenharia de Software - Parte 1
  2. 2. Engenharia de Softwares e Gerência de Projetos.
  3. 3. Panorama • O que é software? • Quem faz o software? • Por que um software é importante? • Quais são os passos para se fazer um software? • Como tenho certeza que fiz um software corretamente?
  4. 4. Desenvolvimento de Programas de Computador
  5. 5. Quem pode programar?
  6. 6. Desenvolvimento Profissional de Software Quem esta criando um software de maneira profissional e quem esta criando um software de maneira amadora?
  7. 7. Desenvolvimento Profissional de Software Quando preciso de um software construído de maneira profissional e quando preciso de um software construído de maneira amadora?
  8. 8. Caso Ariane 5 - 1996 • Projeto da Agência Espacial Européia • 10 anos de desenvolvimento • U$ 8 Bilhões • Carga avaliada em U$ 500 Milhões
  9. 9. Ariane 5 - 1996 • Trecho da "conclusão inicial": A anomalia interna de software do SRI ocorreu durante a execução de uma conversão de dados de um número de 64 bits em ponto flutuante para um inteiro de16 bits com sinal. O valor do número em ponto flutuante era maior do que poderia ser representado pelo inteiro de 16 bits com sinal. O resultado foi um operando inválido. A instrução de conversão de dados (em código ADA) não estava protegida contra erros de operando, embora outras conversões de variáveis equivalentes no mesmo segmento de código estivessem protegidas.
  10. 10. Um software se desgasta? Software Hardware Adaptado de Roger S. Pressman (Eng. de Software)
  11. 11. O que é um bom software? • Um bom software deve prover as funcionalidades e o desempenho requeridos pelo usuário, além disso deve ser confiável e fácil de manter e usar. • O Software sempre faz o que o cliente deseja. Portanto, mesmo que os clientes pensem em novas formas de usa-lo, ele não dará problemas ou apresentará resultados inesperados. • Um bom software é criado quando você utiliza padrões de projetos e princípios comprovados e verdadeiros. Você manteve seus objetos livremente unidos e o seu código é aberto para extensão mas fechado para modificação. Isso também ajuda a tornar o código mais reutilizável, por isso você não precisa trabalhar em tudo novamente para usar partes de sua aplicação em outras ocasiões. • Organização modular, Abstração de procedimentos e dados, Ocultamento da informação, Alta coesão, Baixo acoplamento
  12. 12. Conceitos da Engenharia de Software Adaptado de Roger S. Pressman (Eng. de Software)
  13. 13. Conceitos da Engenharia de Software • QUALIDADE: Toda Engenharia deve se fundamentar no comprometimento com a qualidade. • PROCESSO: É a base da engenharia de software, organizando de maneira sequencial e lógica, todas as etapas de concepção e desenvolvimento do software. • MÉTODOS: Fornecem a definição de “como fazer” o desenvolvimento de software. • FERRAMENTAS: Realizam o suporte automatizado ou semi-automatizado para os processos e métodos. (exemplo: ferramentas case)
  14. 14. Engenharia de Software • Engenharia de Software é uma área da computação voltada à especificação, desenvolvimento e manutenção de sistemas de software, com aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, visando organização, produtividade e qualidade. (Wikipédia) • Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe em máquinas reais. (Friedrich Ludwig Bauer - 1960)
  15. 15. Diversidade na Engenharia de Software - Tipos de aplicações • Aplicações Stand-alone • Aplicações transacionais • Sistemas de controle embutidos • Sistemas de processamento em lotes • Sistemas de entretenimento • Sistemas de modelagem e simulação • Sistemas de coletas de dados • Sistemas de sistemas
  16. 16. • Reuso de Software - como podemos montar um sistema a partir de componentes e sistemas de software preexistentes. • Desenvolvimento entregue de maneira incremental, principalmente sistemas do tipo Web. • Interface de usuários são restringidas pela capacidade de navegadores. • Mudança na organização dos softwares corporativos Engenharia de Software e a Internet
  17. 17. Ética na Engenharia de Software
  18. 18. Ética na Engenharia de Software • PÚBLICO: Engenheiros de software devem agir de acordo com o interesse público. • CLIENTE E EMPREGADOR: Engenheiros de software devem agir de maneira que seja do melhor interesse de seu cliente e empregador e de acordo com o interesse público. • PRODUTO: Engenheiros de software devem garantir que seus produtos e modificações relacionadas atendam aos mais altos padrões profissionais possível. • JULGAMENTO: Engenheiros de software devem manter a integridade e a independência em seu julgamento profissional. • COLEGAS: Engenheiros de software devem auxiliar e ser justos com seus colegas. • SI PRÓPRIO: Engenheiros de software devem participar da aprendizagem contínua durante toda a vida, e devem promover uma abordagem ética para a prática da profissão.
  19. 19. SWEBOK • Guide to the Software Engineering Body of Knowledge, é um documento criado sob o patrocínio da IEEE com a finalidade de servir de referência em assuntos considerados, de forma generalizada pela comunidade, como pertinentes a área de Engenharia de Software. • O SWEBOK apresenta uma classificação hierárquica dos tópicos tratados pela Engenharia de Software, onde o nível mais alto são as Áreas do Conhecimento.
  20. 20. Engenharia de Software Áreas de Conhecimento - SWEBOK 1. Requisitos de Software 2. Projeto de Software (Design) 3. Construção de Software 4. Teste de Software 5. Manutenção de software 6. Gerência de Configuração de Software 7. Gerência da Engenharia de Software 8. Processos de Engenharia de Software 9. Ferramentas e Métodos da Engenharia de Software 10.Qualidade de Software
  21. 21. Estudo de Caso Faz Site
  22. 22. Estudo de Caso Faz Site • Atividade individual. • O video será exibido 2x. • Crie uma lista com todos os pontos que vocês identificarem como problemas na forma como a empresa Faz Site atuou na concepção, desenvolvimento e entrega do projeto em questão.
  23. 23. Processos de Software
  24. 24. O que é um processo de Software?
  25. 25. • Um processo de software é um conjunto de atividades relacionadas que levam à produção de um produto de software. Essas atividades podem envolver o desenvolvimento de software a partir do zero em uma linguagem padrão de programação como C# ou Java. Processo de Software
  26. 26. Estudo de Caso Faz Site • Atividade individual. • Para o estudo de caso Faz Site, crie um processo de software que na concepção de vocês garantiriam a entrega do projeto em questão com sucesso.

×