Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software I Introdução Softwares fazem parte do cotidiano; Podem ser sistemas simples: Supermercados, padarias, farmácias; Ou sistemas complexos (Críticos): Médicos, Aviação, Bancário; Afeta de várias formas a vida das pessoas, então é necessário: Analisar, entender, compreender e resolver os problemas da melhor maneira possível; Introdução Não é uma tarefa simples; Imagine um casa sem projeto; Custos e Prazos indefinidos e muitas vezes extrapolados; Ou resultado diferente do que o esperado; Quanto maior a casa maior seria a possibilidade de algo dar errado; Imagine essa situação em softwares; Se isto acontece na Engenharia convencional como será com o software? O que é um software (Presman, 2006): “um software é um conjunto composto por instruções (Código) de computador, estruturas de dados (Manipulação e armazenamento das informações) e documentos (Descrição do software)”. Documentação (Presman): plano de projeto; uma especificação dos requisitos necessários; o projeto do sistema; especificação de testes. Conceitos • Procura fornecer métodos e ferramentas para garantir a produção de software com qualidade e com custos e prazos planejados e documentados; • "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 eficientemente em máquinas reais". Friedrich Ludwig Bauer » Conceito Central: 1. Observar -> O que deve ser feito e como para solucionar o problema, levando em consideração as necessidades e características do cliente. Como surgiu a EG? Softwares eram desenvolvidos de maneira artesanal (Década de 50); Foco das pesquisas era o Hardware; Softwares desenvolvidos sem técnica e o hardware era escasso; Passaram a surgir grandes sistemas; Passaram a ter muitos problemas, e não existia documentação; (Analogia): Como derrubar uma parede de uma casa sem saber aonde estão as vigas e estruturas fundamentais; Como surgiu a EG? Conseqüências: Prazo não eram cumpridos; Recursos extrapolavam a estimativa; A qualidade do software era questionável; O produto final na maioria das vezes não refletia o que foi pedido; Difícil e constante manutenção; Não era possível conhecer os efeitos de uma mudança; Isto é era mais visível em grandes projetos; Como surgiu a EG? Esses problemas citados são conhecidos mundialmente como “The Software Crisis (CRISE DE SOFTWARE)”. A crise foi identificada nos anos 60s; Problemas persistem até hoje: Previsão pobre (tempo, custo, recurso); Programas de baixa qualidade (Pressa); Alto custo para manutenção (Corretivas e Evoluções); Duplicação de esforços; Como surgiu a EG? 1968 na NATO Conference on Software Engineering (Conferência sobre Engenharia de Software da OTAN). Percebeu que é mais barato planejar do que corrigir; Desenvolvimento de software passou a ser baseado em princípios da engenharia (Enfoque estruturado e metodológico); NASCE A ENGENHARIA DE SOFTWARE Software Apresenta outras características que o diferenciam de um produto manufaturado comum (PRESSMAN, 2006): é desenvolvido ou projetado por engenharia, produzido de maneira diferente de um Hardware; não se desgasta, mas se deteriora devido às diversas manutenções que pode sofrer (Inicio alto índice de erros corrigidos com o tempo); Softwares em sua maioria são feitos sob medida (no s últimos anos a reusabilidade tem ganho força); Engenharia de Software Ultrapassa o limite do desenvolvimento de programas; Aspectos técnicos e não técnicos afim de se produzir um software com: Qualidade; Prazos cumpridos; Custo aceitável; Sem surpresas na entrega do produto; Engenharia de Software Utilização de ferramentas e técnicas comprovadas; Geralmente são considerados três termos no desenvolvimento de software: Analise; Projeto; Implementação Elimina aspectos tecnológicos, contextuais e organizacionais; Engenharia de Software SDOs (Software Development Organizations); Funções de um SDO podem ser divididas em três grupos: Definir, analisar, simular, medir e melhorar os processos da organização; Construir o produto de software; Medir, controlar, modificar e gerenciar os projetos de software; Engenharia de Software Engenharia de processo Definição e Analise das informações Gerenciamento de Projeto Coordenar, monitorar as atividades Engenharia de produto Linguagens, ciclo de vida e técnicas Experiências passadas Requisitos do processo Requisitos do projeto Requisitos do produto Modelo do processo Processo de desenvolvimento Produto de software Engenharia de Software Na maioria das metodologias criadas o foco principal é o produto. Somente a engenharia de produto é insuficiente; Engenharia de Processos e gerenciamento de projeto são atividades complexas; O cenário vem amadurecendo; Origem dos Problemas de Soft. Estimativa de tempo; Estimativa de custo; Falha no processo de identificação das funcionalidades do sistema (problema nas técnicas de levantamento); Problema de comunicação entre analistas e clientes; Não se pensa na facilidade de manutenção do sistema durante o planejamento; Falta de preparo dos lideres de projeto; Processos da EG de software Métodos: Indicam “como fazer” ou como utiliza técnicas para as diferentes etapas da ES. Ferramentas: Ferramentas que podem ser utilizadas para auxilio na ES, também conhecidas como CASE (Computer Aided Software Engineering); Processos: Une os métodos e as ferramentas, indica como utilizá-los e quando aplicá-los (como uma receita indicando quando e como utilizar); * Surge um novo elemento: o Artefato (Produtos obtidos a partir de tarefas do projeto) Processo de Software Aplicado tanto a softwares grandes quanto pequenos; Atividades fundamentais genéricas: Comunicação; Planejamento; Modelagem; Construção; Implantação; Atividades Pesquise sobre metodologias de desenvolvimento de software e especifique: Nome Histórico (texto e local onde está o texto) Quem aplica este método Créditos Prof. Alex Coelho da Faculdade Católica do Tocantins Revisão: Prof. Levi R. Munhoz da Fatec - SO Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20
Compartilhar