Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software Referências: • Referências Bibliográficas (Básica): PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 7.ed. Porto Alegre: Bookman, 2011. PRESSMAN, R. S. Software Engineering: a practitioner's approach. 7.ed. Boston : McGraw-Hill, 2010. SOMMERVILLE, I. Engenharia de Software. 8.ed. São Paulo: Pearson, 2007. • Referências Bibliográficas (Complementar): SCHWABER, K. Agile Project Management With Scrum. 1st ed. Redmond: Microsoft C.B.Learning, 2004. • Referências Web: 1. http://www.sei.cmu.edu/ 2. www.ieee.org A Disciplina Relembrando a Aula Passada O que é Hardware? – Parte tangível de um computador: equipamentos e periféricos; – Está limitado a espaços físicos e possui recursos finitos; – No ser humano poderia ser comparado ao crânio; – Hoje, não está mais restrito: IOT. Conceitos O que é Software? – Não é material, é intangível, não é limitado a espaços físicos ou recursos naturais; – Seu potencial é infinito e, consequentemente, sua complexidade pode se tornar tão elevada que pode passar a ser difícil de ser compreendido; – No ser humano poderia ser comparado com os pensamentos; – Hoje, também não está mais restrito... Conceitos • Falhas de hardware no início são inerentes à sua fabricação; no final são relativas ao desgaste ambiental das peças (poeira, aquecimento, vibração); • Na fase mediana, a estabilidade se dá pela facilidade de substituição de uma peça ou outra que apresente falha. Conclusão: é fácil ter estabilidade quando é fácil atuar exatamente no ponto gerador do problema! Hardware X Software • Durante a vida do software modificações introduzem novas falhas; • Se a manutenção desta falha for de difícil acesso¹, o índice de correção é baixo, trazendo novas falhas... ¹ Exemplo de difícil acesso = código “macarrônico” Conclusão: é difícil ter estabilidade quando é difícil atuar exatamente no ponto gerador do problema. Hardware X Software Evolução do Hardware Evolução do Software Registros Argila Abaco Calculadora IBM (1924) Televisão Máquina Diferença Telégrafo Rádio Telefone IBM-CartãoPerfurado IBM-Máq. Escrever Ele Prim. Compu. PGM RAM, CPU Transistor Prim. Compu. Com. Modem Memória Virtual IBM 360 Chip 8 bitsMonitor Teclado Calculadora mão Microprocessador Impres. Laser Impres. Jato Tinta Apple Microsoftt Compu. < 11kh IBM PC CD ROM Super Compu. 1.2 milhões transistores Acesso ráp. www 4.000-1200 ac www cel. 1935-37 1941 1947-49 1600-1800 dc 1800-1900 1951 1958-59 1960-61 1962 1967 1971 1976 1977 1981 1982-84 1985 1bi oper/seg 1989 1995 2000 Tear controla produção Lógica x Símbolos Base Algoritmos Compilador Modem Transmissão dados 7 bits Data ddmmyy COBOL Cria Bug Milênio Processador Windows 1.0 1937 1949-1951 1800-1937 1958-59 1959 1963 1968 1972 1977 1980 1981-83 1985 1986-89 1990-95 Texto Desenv. Sist. 1975 Desenv. Softw Anál. Estruturada Planilha Eletr. DOS 1 Ger. BD COCOMO AutoCad TCP/IP C++ OO CASE CMM “Verme” Modelo Espiral WWW UML http 1 browser ToyStory 1995-2000 Windows 95/NT Java Napster 57tri msg/ano Office2000 MP3 Bug milênio Serão estudados em Engenharia de Software (~5.600 anos) (~200 anos) (~100 anos) (~84 anos) (~84 anos) Fonte: IEEE Computer Society Crise do Software Linha do Tempo T.I. • Engenharia é a ciência e a profissão de adquirir e de aplicar os conhecimentos matemáticos, técnicos e científicos na criação, aperfeiçoamento e implementação de utilidades (funcionalidades); • Nos processos de criação, aperfeiçoamento e implementação, a engenharia conjuga os vários conhecimentos especializados no sentido de viabilizar as utilidades. Fonte: Wikipedia Engenharia – Processo – Implementa, Realiza O que é Engenharia? • A Engenharia é uma ciência bastante abrangente que engloba uma série de ramos mais especializados, cada qual com uma ênfase mais específica em determinados campos de aplicação e em determinados tipos de tecnologia. Fonte: Wikipedia Engenharia – Processo – Implementa, Realiza O que é Engenharia? • A Engenharia de Software é um ramo da Engenharia, que tem como foco o desenvolvimento de softwares dentro de determinados padrões de custo e qualidade. Engenharia de Software Arquitetura: organização do espaço e de seus elementos; ordenamento de componentes. O que é “Engenharia de Software”? • Um produto de software novo, ou uma grande manutenção são produzidos por meio de um projeto. Este, por um determinado período de tempo, se compromete a construir um produto: • Um projeto é uma função entre Escopo, Recurso e Tempo: P = F (E, R, T) • O tempo, que deveria ser variável, geralmente se mostra fixo segundo a necessidade do cliente. Com isto o projeto de construção ou manutenção se reduz a uma função de Escopo e Recurso. O que é “Engenharia de Software”? • Com apenas essas duas variáveis o Engenheiro de Software precisa conseguir produzir produtos dentro dos padrões de custo e qualidade! • Com menos tempo, como conseguir entregar o mesmo produto com a mesma qualidade e pelo mesmo preço? – Procurar não errar... – Utilizar processos e métodos já testados por outras pessoas; – Reutilizar o que já estiver pronto; – “Os componentes reutilizáveis foram criados para que o Engenheiro possa se preocupar com os elementos realmente inovadores do projeto.” O que é “Engenharia de Software”? • Com menos tempo, como conseguir entregar o mesmo produto com a mesma qualidade e pelo mesmo preço? • “ Sempre que você pensar que não tem tempo para a Engenharia de Software pergunte a si mesmo: Eu teria tempo para fazer tudo de novo?” O que é “Engenharia de Software”? IncrementalCascata RAD Prototipação Espiral Modelos usados na Engenharia de Software • Modelos: conjunto de atividades, ações, tarefas, marcos, roteiros e produtos necessários para fazer com que a Engenharia de Software produza com qualidade. • Cada projeto de software pode usar um modelo específico, segundo uma determinada necessidade. Modelos Dúvidas? Atividade • OPE: Oficina de Projetos para Empresa: o que é? – Escolha de Cliente; – Organização em grupos (trabalho colaborativo); – Análise do Problema; – Preparação para “Engenharia de Requisitos”. • Atividade para Próxima Aula: – Sala deve se organizar em grupos de 7 componentes (no máximo); – Trazer formulário preenchido; – Nota será atribuída a esta atividade!
Compartilhar