Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profª.: Jenifer Vieira Toledo Tavares Aula II Engenhara de Software I UNIDADE I Introdução à Sistemas de Informação e Engenharia de Software 2 Conteúdo Programático 1. Sistemas de Informação: 1.1. Conceito de Sistema. 1.2. Tipos de Sistemas. 1.3. Componentes fundamentais. 2. Engenharia de Software: 2.1. Conceito de Software. 2.2. Análise da Evolução do Software. 2.3. Conceitos de Engenharia de Software. 3 O que é Informação? § Informação § Que receptores? ü Dados (Signos, Sinais) que modificam o modelo mental do receptor. ü Humano, animal, empresa, planta, agente, economia, entre outros. § O que é um Sistema? 4 Conceitos ü Combinação de partes coordenadas, de modo que rivalizem para realização de um conjunto de objetivos. ü Os sistemas aparecem, em nosso mundo, de forma estruturada, em hierarquias. Assim, um sistema pode sempre ser decomposto em sistemas menores – SUBSISTEMAS. v Conjunto de elementos (sub-sistemas) inter-relacionados que desempenham um conjunto de funções. 5 Sistemas de Informação § “O conjunto de componentes inter-relacionados que coleta (ou recupera), processa, armazena e distribui informações destinadas a apoiar a tomada de decisões e o controle em uma organização” (LAUDON e LAUDON, 2004). § “Conjunto organizado de pessoas, hardware, software, redes de comunicação e recursos de dados que coletam, transformam e disseminam informações em uma organização” (O BRIEN, 2003). 6 Organização das Informações § “A explosão de informação, sobre a qual muito se comenta e escreve, é também, em grande medida, a explosão da informação errada e mal organizada (...) A revolução digital apenas agravou os problemas”. 7 Preço da Informação § As pessoas podem transformar simples dados em informações valiosas para a organização. § A informação exige análise, os dados, não apenas constatação. § Diretamente ligado à maneira como ele ajuda os tomadores de decisões a atingirem as metas da organização. Se não é precisa ou completa, pode gerar decisões equivocadas. Se é complexa demais para ser compreendida, não é fornecida no tempo certo ou não é pertinente à situação, perde o seu valor para organização. 8 Por onde começar a análise de um Sistema? ü 1. Objetivos totais do sistema Ex.: Sistema Universidade. Reitor: formar líderes para o país. Coordenador da Pós Graduação: desenvolver pesquisa. Coordenador de Estágio: treinamento técnico visando o mercado. 9 ü2. Ambiente do sistema – elementos fora do sistema que afetam e são afetados por mudanças nos atributos do sistema. Ex.: Sistema Editora. Agentes, distribuidora, leitores. ü 3. Recursos do sistema – meios que o sistema necessita para desempenhar suas funções. Ex.: Sistema Empresa. Dinheiro, equipamentos, instalações, pessoal, suprimentos e serviços. 10 ü4. Componentes do sistema – elementos responsáveis pelo funcionamento do sistema. Ex.: Sistema Empresa. Funções de pesquisa, produção, marketing, finanças, pessoal. ü 5. Administração do sistema – elementos responsáveis pela elaboração, implantação e acompanhamento do sistema, de modo que os objetivos do sistema sejam alcançados com o máximo rendimento. § Como existem diferentes interesses e especialidades, além de níveis em uma organização – existem diferentes tipos de sistemas. Nenhum sistema pode fornecer todas as informações de que uma empresa necessite. 11 Níveis e Tipos de Sistemas de Informação §Dá suporte aos gerentes operacionais, acompanhando atividades e transações elementares da organização. §O principal propósito de um sistema desse nível é responder a perguntas de rotina e acompanhar o fluxo de transações pela organização: quantas peças há no estoque? O que aconteceu com o pagamento do Sr. José? §Ex.: registro de depósitos bancários em terminais, acompanhamento do número de horas trabalhadas por dia pelos trabalhadores do chão-de-fábrica. 12 Nível Operacional §Dão suporte aos trabalhadores do conhecimento e de dados da organização. §O propósito desses sistemas do nível de conhecimento é auxiliar a empresa comercial a integrar novas tecnologias ao negócio e ajudar a organização a controlar o fluxo de documentos. §Ex.: aplicações sob a forma de estações de trabalho e sistemas de automação de escritórios. 13 Nível de Conhecimento §Atendem às atividades de monitoração, controle, tomada de decisões e procedimentos administrativos dos gerentes. §Esses sistemas têm a característica de produzir relatórios periódicos sobre as operações, em vez de informações instantâneas. §Ex.: O que poderia acontecer ao nosso retorno de investimento se o cronograma da fábrica fosse atrasado por seis meses? 14 Nível Gerencial §Ajudam a gerência a atacar e enfrentar questões estratégicas e tendências de longo prazo tanto na empresa quanto no ambiente externo. §Sua principal preocupação é compatibilizar as mudanças no ambiente externo com a capacidade da organização. § Quais serão os níveis de emprego em cinco anos? Quais são as tendências de longo prazo do custo do setor e onde nossa empresa se encaixa? Que produtos deveremos estar fazendo dentro de cinco anos? 15 Nível Estratégico §Sistemas de Apoio Executivo (SAE), §Sistemas de Informação Gerenciais (SIG), §Sistemas de Apoio à Decisão (SAD), §Sistemas de Trabalhadores do Conhecimento (STC), §Sistemas de Automação de Escritórios, §Sistemas de Processamento de Transações (SPT). 16 Tipos de Sistemas 17 §Atendem ao nível estratégico da organização. Abordam decisões não rotineiras que exigem bom senso, avalição e percepção. §Os SAEs juntam informações externas (leis tributarias, normas) com dados internos da empresa e produzem informações filtradas e resumidas de dados críticos úteis para os executivos. Sistemas de Apoio Executivo (SAE) ü previsão quinzenal de tendências de vendas, ü plano operacional, ü previsão de orçamento, ü planejamento de lucros, ü planejamento de pessoal. 18 §Atendem ao nível gerencial da empresa, munindo os gerentes de relatórios ou de acesso on-line aos registros do desempenho corrente e histórico da organização. §São normalmente orientados aos eventos internos. Têm maior periodicidade (semanal, mensal...)normalmente através de resumo e comparações. Sistemas de Informação Gerenciais (SIG) ü gerenciamento de vendas, ü controle de estoque, ü relatórios semanais, mensais ou anuais, ü análise de investimento de recursos, ü análise de realocação. 19 §Também acontecem no nível gerencial da organização. Ajudam os gerentes a tomar decisões não-usuais, que se alteram com rapidez e não são facilmente especifica com antecedência. §Podem usar informações externas junto com internas. São mais analíticos e trazem modelos para interpretação dos dados. Sistemas de Apoio à Decisão (SAD) ü análise das vendas por região, programação da produção, análise de custos, análise de custo de contratos. 20 §Atendem às necessidade de informação no nível de conhecimento da organização. §Podem estruturar conhecimento científico ou organizar documentos para funcionários. Sistemas de Trabalhadores do Conhecimento (STC) ü estações de trabalho de engenharia, estações de trabalho gráficas, estações de trabalho administrativas. 21 §Atendem às necessidade de informação no nível de conhecimento da organização. §Podem estruturar conhecimento científico ou organizar documentos para funcionários. Sistemas de Automação de Escritório (STC) ü sistemas que manuseiam e gerenciam, ü documentos (através de processadores de textos, publicações desktop), ü cronogramas (através de calendários eletrônicas), ü comunicação (através de e-mail, videoconferência). 22 §São sistemas integrados básicos que atendem ao nível operacional da organização. §Realiza e registra as transações rotineiras necessárias ao funcionamento da empresa. São críticos para uma empresa: se deixarem de funcionar por algumas horas, podem causar colapso e talvez danos a outras empresas. Sistemas de Processamento de Transações (SPT) ü pedidos de venda, ü sistema de reservade hotel, ü informações de clientes (para agências públicas), ü folha de pagamento, ü cadastro de empregados. 23 §Existem 5 categorias funcionais SPT: §Todas as organizações têm esses 5 tipos de TPS (mesmo que os sistemas sejam manuais). §Esses sistemas são centrais para o negócio (sem eles a organização não sobrevive). Sistemas de Processamento de Transações (SPT) 1. vendas/marketing, 2. fabricação/produção, 3. finanças/contabilidade, 4. recursos humanos, 5. outros tipos - únicos para uma particular indústria. 24 Integração e Relacionamento dos Sistemas 25 Com o tempo os Sistemas de Informação vem tendo um importante papel na vida das organizações... § Nos primeiros sistemas a maioria das alterações eram técnicas (fáceis de realizar); sistemas mais velhos afetavam controle comportamental e gerencial; os sistemas atuais influenciam as atividades do núcleo organizacional relacionadas a produtos mercados, fornecedores e clientes. 26 Reflexões § “De acordo com IDC, há um agravamento na carência por profissionais de tecnologia no Brasil. A previsão é de que até 2020 faltarão cerca de 408 mil profissionais qualificados da área de TI no Brasil.” 1. Cite exemplos de sistemas de informações com os quais travamos e travaremos contato neste ano, mês, semana, dia, amanhã, hoje à noite. Em seguida classifique estes sistemas quanto ao seu nível e tipo. 2. O que acontece se os sistemas citados na pergunta anterior falharem? 3. Qual a relação entre sistemas de informações, comércio, organizações, sociedade, desenvolvimento? 27 Exercício de Fixação – Entregar na próxima aula §O que é Engenharia ? üDesenvolvimento e Aplicação Sistemática de Modelos de Comprovada Eficácia gerando Soluções Tecnológicas para Problemas da Humanidade. üAlguns exemplos • ??? • Química; • Eletrônica; • Naval; 28 Conceitos §O que é Software? ü Programas de Computador ? ü Um produto? ü Um pacote? ü Ferramentas? v Software: é um conjunto de programas de computador, documentação e dados associados, relacionados com a operação de um sistema de computador - IEEE 90. 29 Conceitos §O que é Software ? •Um conceito mais amplo também inclui: ü Instruções que executam uma função desejada. ü Documentos para desenvolver, operar e manter os programas. ü Estrutura de dados para manipular informação. 30 Programas + + DadosDocumentação Conceitos §Como construir software? 31 Simplesmente “Fazer” OU Usar a Engenharia de Software Conceitos 32 1. Entender o problema (comunicação e análise). 2. Planejar uma solução (modelagem e projeto). 3. Executar o plano (gerar código). 4. Examinar os resultados quanto à precisão (teste e garantida de qualidade). Essência da Engenharia de Software? 33 §Abrange um conjunto de três elementos fundamentais: Engenharia de Software ü Métodos. ü Ferramentas. ü Procedimentos. 34 §MÉTODOS: proporcionam os detalhes de como fazer para construir o software. § FERRAMENTAS: dão suporte automatizado aos métodos. Engenharia de Software üExistem atualmente ferramentas para sustentar cada um dos métodos. üFerramentas que dão suporte ao desenvolvimento de software CASE - Computer Aided Software Engineering. § PROCEDIMENTOS: constituem o elo de ligação entre os métodos e ferramentas üSequência em que os métodos serão aplicados. üProdutos a serem entregues. üControles que ajudam assegurar a qualidade e coordenar as alterações. üMarcos de referência que possibilitam administrar o progresso do software. 35 § “Engenharia de Software é o estabelecimento e uso de princípios sólidos de engenharia (análise, projeto, construção, verificação e gerência de entidades técnicas ou sociais) , com o intuito de obter, economicamente, um software que seja confiável e funcione eficientemente em máquinas reais.” (Fritz Bauer, 1969). Conceito de Engenharia de Software 36 Engenharia de Software §1. A aplicação de uma abordagem sistemática, disciplinada e quantificável ao desenvolvimento, operação e manutenção do software, isto é, a aplicação da Engenharia ao Software. §2. O estudo de abordagens como as definidas em (1). Conceito – IEEE 610.12 §A indústria de Software tem tido uma “crise” que a acompanha há mais de 40 anos. §Problemas não se limitam ao software que não funciona adequadamente, mas abrange: üdesenvolvimento, testes, manutenção, suprimento, etc. 37 Uma Crise no Horizonte 38 §Os usuários estão satisfeitos com os sistemas de software existentes? §Os produtos de software permitem realizar tarefas de maneira mais rápida e eficiente do que anteriormente? §Engenharia de Software é profissão dos sonhos de americanos. §Profissão mais bem paga: http://www.careercast.com/jobs-rated/best-jobs-2015 Reflexões ü Avanços na medicina, na agricultura, nos transportes, no comércio, na indústria, na educação,… §Entretanto, produtos de software não estão isentos de problemas. §Enorme diferença entre um erro em um projeto feito para uma disciplina na universidade, de um erro em um grande sistema de software. 39 Reflexões ü Alguns defeitos simplesmente causam aborrecimentos; outros custam bastante tempo e dinheiro; ü Outros podem ameaçar a vida das pessoas. 40 Quanto mais tarde a detecção de um erro, mais cara é a sua correção! § Segundo Pfleeger, o custo para a correção de um erro cometido em um projeto durante a etapa inicial da análise é um décimo do custo para corrigir um erro semelhante depois que o sistema foi entregue ao cliente. § Metade dos custos de correção de defeitos encontrados durante a fase de testes e manutenção vem de erros cometidos no início de vida do sistema. 41 §Equipamento de Radioterapia. §Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação. §Software foi adaptado de uma antecessora, Therac- 6: üfalhas por falta de testes integrados. üfalta de documentação. Therac - 25 42 §Defeito: pode impossibilitar a realização de uma ação na execução de um programa. Defeito, Erro e Falha ü Também conhecidos como bugs. ü Também podem acontecer nos requisitos e documentos de projeto do software. Thomas Edison, 1978. 43 §Erro: uma ação humana, que resulta em um software com defeitos. Além disso, um erro pode levar a inclusão de uma falha. Defeito, Erro e Falha ü Desenvolvedor que interpreta de forma incorreta um modelo de projeto. ü Programador que atribui um tipo errado a uma variável. ü Testador que não executa corretamente os passos de um caso de teste. 44 Erro Humano pode levar a Defeito pode levar a Falha Defeito, Erro e Falha § Falha: De acordo com o padrão IEEE (1983) uma falha ocorre quando um programa não se comporta conforme o esperado ou apresenta resultados diferentes do planejado. 45 §Outros fracassos do desenvolvimento de software? Pesquisem 46 v Software é somente um programa de computador? v Por que é necessário ter uma disciplina de Engenharia de Software? Não é suficiente somente saber programas? v Com tantas novas tecnologias de software surgindo a cada momento, seria possível dominar todas elas? v As ferramentas de software disponíveis no mercado não resolvem o problema de falta de qualidade e produtividade em desenvolvimento de software? v Quais são os efeitos da aplicação dos conceitos e técnicas da Engenharia de Software na manutenção? v Por que o desenvolvimento de software apoiado na Engenharia de Software exige muita documentação? v Se o software vai ser alterado constantemente, vale a pena manter seus documentos atualizados? v Quais conceitos e técnicas de Engenharia de Software são uteis para um desenvolvimento de software? Questões de Engenharia de Software 47 §Utilizar conceitos, princípios, métodos e ferramentas para construir programas de computador para solucionar determinado problema. §Projetar e desenvolver software de alta qualidade. Qual o papel do Engenheiro de Software? 48 Ambições dos Engenheiros de Software 49 Ambições dos Engenheiros de Software 50 §A comunicação entre clientes e desenvolvedores.§Componentes-chave no desenvolvimento de software: Quem faz a Engenharia de Software? üCliente. üDesenvolvedor. üUsuário. 51 §Atualmente software custa mais que hardware. §Constante auto-questionamento de gerentes e técnicos: Uma Perspectiva da Indústria de Software? üPor que é preciso tanto tempo para terminar os programas? üPor que os custos são tão altos? üPor que não se consegue encontrar todos os erros antes que o software seja liberado para os clientes? üPor que existe uma dificuldade em medir o progresso à medida que o software está sendo construído ? 52 Causas óbvias dos Problemas da ES § Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta em estimativas “a olho”. § Comunicação entre o cliente e o desenvolvedor é muito fraca. § Falta de testes sistemáticos e completos. § O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico. § Profissionais recebem pouco treinamento formal. § Falta investimento (em ES). § Falta métodos e automação. 53 Quais são os atributos de um bom software? § O software deve atender os requisitos funcionais e desempenho que foram solicitados pelo usuário e além disso deve atender requisitos não funcionais, tais como facilidade de manutenção, nível de confiança, eficiência e facilidade de uso. § Facilidade de manutenção ü Software deve ser escrito de modo que possa evoluir para atender as necessidades mutáveis. § Nível de confiança ü Software confiável não deve ocasionar danos físicos ou econômicos, no caso de um defeito no sistema. 54 Quais são os atributos de um bom software? § Eficiência üO Software não deve desperdiçar os recursos do sistema. § Facilidade de uso üO Software deve ser utilizável, sem esforços indevidos, pelo usuário para quem foi projetado. 55 Conclusões § Quais são os problemas? üA sofisticação do software ultrapassou nossa capacidade de construção. üNossa capacidade de construir programas não acompanha a demanda por novos programas. üNossa capacidade de manter programas é ameaçada por projetos ruins. 56 Conclusões § Desenvolver software é um processo complexo. § Sucesso depende de pessoas, de processos e ferramentas. § Existem vários modelos de processo: üTodos têm pontos positivos e fracos; üTodos têm fases genéricas em comum; üDevemos procurar melhorar o processo corrente; üCMMI e MPS.BR ajudam neste aspecto. 57 Conclusões § Soluções üComeçar a utilizar conceitos de engenharia de SW. üTratar o software como um produto. üUtilizar sempre um modelo de processo de SW. üTreinamento contínuo em técnicas, metodologias e modelos. 58 4. Quais os materiais do Engenheiro de Software? 5. Quais as ferramentas do Engenheiro de Software? 6. Quais são os fatores que dificultam a adoção de boas práticas de Engenharia de Software? 7. Quem usa produtos e serviços de software? 8. Quem administra projetos de software e como os administra? Exercício de Fixação – Entregar na próxima aula 59 9. São comuns nas equipes de desenvolvimento de software, profissionais responsáveis por várias funções como analistas, projetistas, programadores simultaneamente em um mesmo projeto. Quais são as implicações dessa organização de equipes? 10. Após mais de 40 anos de Engenharia de Software, pode-se dizer que ainda se vive uma crise de software, considerando a falta de atendimento de prazos, custos e de qualidade? Exercício de Fixação – Entregar na próxima aula 60 § SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo Pearson Addison Wesley, 2008. 552 p. ISBN 9788588639287. Capítulo I e II. § ENGHOLM. H. J. Engenharia de Software na prática. Editora Novatec. 2010 – Capítulo I itens 1.9; 1.10; 1.11.1; 1.11.2. § HIRAMA. K. Engenharia de Software: Qualidade e Produtividade com Tecnologia. Capítulo I. § PFLEEGER, Shari Lawrence. Engenharia de software: teoria e prática. 2. ed. São Paulo: Pearson Prentice Hall, 2007. 537 p. ISBN 9788587918314. Capítulo I. § PRESSMAN, Roger S. Engenharia de software. 7. ed. São Paulo, SP: Pearson Makron Books, 2011. 780 p. ISBN 9788563308337. § PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos, métodos e padrões. 3. ed. reimpr. Rio de Janeiro, RJ: LTC, 2012. 1248 p. ISBN 9788521616504. Referências
Compartilhar