Baixe o app para aproveitar ainda mais
Prévia do material em texto
DISCIPLINA ENGENHARIA DE SOFTWARE I AULA 1 Profº. Me. Flávio Henrique Fernandes Volpon flavio.volpon@docente.unip.br 2 ENGENHARIA DE SOFTWARE I AULA 1 FUNDAMENTOS DA ENGENHARIA DE SOFTWARE Objetivo ENGENHARIA DE SOFTWARE I 3 • Apresentar e avaliar os conceitos básicos da engenharia de software, do ponto de vista dos seus processos e produtos de software. • Mostrar de que modo a disciplina pode ser implantada nas organizações, visando a um mercado competitivo e exigente na atualidade. • Proporcionar ao aluno os conhecimentos em métodos e técnicas de análise e projeto, que o habilitam a escolher, utilizar e definir quais modelos, técnicas e ferramentas auxiliam, no processo de desenvolvimento de software de sua organização. Objetivo ENGENHARIA DE SOFTWARE I 4 Apresentar formas de se “fazer” Software... Resumindo.... Justificativas • No mundo moderno, tudo é software. • Empresas de qualquer tamanho dependem dos mais diversos sistemas de informação para automatizar seus processos. • Governos também interagem com os cidadãos por meio de sistemas computacionais, por exemplo, para coletar impostos ou realizar eleições. • Empresas vendem, por meio de sistemas de comércio eletrônico, uma gama imensa de produtos, diretamente para os consumidores. ENGENHARIA DE SOFTWARE I 5 Justificativas • Software está também embarcado em diferentes dispositivos e produtos de engenharia, incluindo automóveis, aviões, satélites, robôs, etc. • Por fim, software está contribuindo para renovar indústrias e serviços tradicionais, como telecomunicações, transporte em grandes centros urbanos, hospedagem, lazer e publicidade. • Assim não é surpresa que exista uma área da Computação destinada a investigar os desafios e propor soluções que permitam desenvolver sistemas de software (principalmente aqueles mais complexos e de maior tamanho) de forma produtiva e com qualidade. ENGENHARIA DE SOFTWARE I 6 Justificativas Essa área é chamada de: ENGENHARIA DE SOFTWARE I 7 Engenharia de Software ENGENHARIA DE SOFTWARE I 8 De volta para o passado... 1960-1970 ENGENHARIA DE SOFTWARE I 9 Crise do Software Crise do Software • A crise do software foi um termo utilizado nos anos 1960/1970, quando a engenharia de software era praticamente inexistente. • O termo expressava as dificuldades do desenvolvimento de software frente ao rápido crescimento da demanda. • Tratava também da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados. ENGENHARIA DE SOFTWARE I 10 Crise do Software A crise se manifestou de várias formas como: Projetos estourando o orçamento; Projetos estourando o prazo; Software de baixa qualidade; Software muitas vezes não satisfaz os requisitos; Projetos ingerenciáveis e código difícil de manter; Foi aí que então........ ENGENHARIA DE SOFTWARE I 11 Surge a tal da... ENGENHARIA DE SOFTWARE I 12 ENGENHARIA DE SOFTWARE Mas antes... ENGENHARIA DE SOFTWARE I 13 Antes de qualquer coisa... ENGENHARIA DE SOFTWARE I 14 O que é? O que é Software? • Parte Lógica? • Código Fonte? • Programa de Computador? ENGENHARIA DE SOFTWARE I 15 “Conjunto de programas de computador, procedimentos e possível documentação associada, e dados relacionados à operação de um sistema de computador” Software ENGENHARIA DE SOFTWARE I 16 DOCUMENTAÇÃO? Sim, documentação! Mas, falaremos mais sobre isso durante a disciplina! Continuando... ENGENHARIA DE SOFTWARE I 17 O que é? O que é Engenharia? • Engenhar? • Criar? • Fabricar? • Construir? •Fazer? • Compor? • Inventar? ENGENHARIA DE SOFTWARE I 18 “Aplicar métodos científicos ou empíricos para criar, melhorar e implementar” O que é Engenharia? •Estudar o problema. •Planejar uma solução. •Verificar a viabilidade econômica e técnica. •Coordenar a construção. ENGENHARIA DE SOFTWARE I 19 Vamos juntar tudo... O que você pensa ser a tal da ENGENHARIA DE SOFTWARE? ENGENHARIA DE SOFTWARE I 20 (quero ouvir o que pensam...) Engenharia de Software ENGENHARIA DE SOFTWARE I 21 A Engenharia de Software utiliza conceitos de várias áreas, como: Engenharia de Software • Ciências da Computação: Arquitetura de Computadores, Lógica de Programação, Estrutura de Dados, Algoritmos, etc. • Administração: o engenheiro de software atua como gestor de um projeto, administrando prazos, equipe, custos, resultados, etc. • Comunicação :habilidade para saber se expressar com clientes ou usuários; ENGENHARIA DE SOFTWARE I 22 Engenharia de Software ENGENHARIA DE SOFTWARE I 23 Algumas Definições É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Engenharia de software é o estabelecimento e o emprego de sólidos princípios de engenharia, de modo a obter software de maneira econômica, que seja confiável e funcione de forma eficiente em máquinas reais. (PRESSMAN, 1995, p. 31) Engenharia de Software ENGENHARIA DE SOFTWARE I 24 Pode-se dizer que a Engenharia de Software é uma disciplina da engenharia dedicada ao tratamento de todos os aspectos envolvidos na produção de softwares. Tem a proposta de dar um tratamento de engenharia ao desenvolvimento de softwares cada vez mais complexos, sistematizando-os e criando formas de controlá-los Desenvolver no Passado ENGENHARIA DE SOFTWARE I 25 Desenvolvedor Solitário “Desenvolvimento Artesanal” Desenvolver no Presente ENGENHARIA DE SOFTWARE I 26 Equipes de Projeto “Desenvolvimento como Processo” O que se Estuda em Engenharia de Software? ENGENHARIA DE SOFTWARE I 27 Guia para o Conjunto de Conhecimento em Engenharia de Software ENGENHARIA DE SOFTWARE I 28 1. Engenharia de Requisitos 2. Projeto de Software 3. Construção de Software 4. Testes de Software 5. Manutenção de Software 6. Gerência de Configuração (versionamentos) 7. Gerência de Projetos 8. Processos de Software (clássicos e ágeis) 9. Modelos de Software 10. Qualidade de Software 11. Prática Profissional (ética e responsabilidade) 12. Aspectos Econômicos Baseado no Guide to the Software Engineering Body of Knowledge (SWEBOK) Documento, organizado pela IEEE Computer Society O que se Estuda em Engenharia de Software? Bibliografia 29 ENGENHARIA DE SOFTWARE I I - BIBLIOGRAFIA BÁSICA • PAULA FILHO, W. de P. Engenharia de software: fundamentos, métodos e padrões. 3.ed. Rio de Janeiro: LTC, 2012. • PRESSMAN, R. S. Engenharia de Software: Uma Abordagem Profissional. 7. ed. AMGH, 2011. • SOMMERVILLE, I. Engenharia de Software. 9.ed. São Paulo: Adison-Wesley, 2011. II - BIBLIOGRAFIA COMPLEMENTAR • PRIKLADNICKI., Rafael, WILLI, Renato, and MILANI, Fabiano. Métodos Ágeis para Desenvolvimento de Software. Bookman, 2014. • COHN, M. Desenvolvimento de Software com Scrum. Bookman, 2011. • SCHACH, S. R. Engenharia de software: os paradigmas clássico e orientado a objetos. 7.ed. São Paulo: McGraw-Hill, 2009. • HIRAMA, K. Engenharia de software: qualidade e produtividade com tecnologia. Rio de janeiro, campus, 2011. • WAZLAWICK, R. Engenharia de software: conceitos e práticas. Rio de janeiro, campus, 2009. 30 ENGENHARIA DE SOFTWARE I Obrigado!
Compartilhar