Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profa. MSc. Priscila Facciolli UNIDADE I Engenharia de Software I O que é software? São instruções (programas de computadores) que quando executadas fornecem as características, as funções e o desempenho desejados. Estruturas de dados que permitem aos programas manipular adequadamente a informação. Documentos que descrevem a operação e o uso dos programas. Conceitos preliminares Definições de Engenharia de Software: Segundo o IEEE, Engenharia de Software é a aplicação de uma abordagem sistemática, disciplinada e quantificável ao desenvolvimento, à operação e à manutenção do software. Segundo Sommerville (2011), “é uma disciplina de Engenharia relacionada com todos os aspectos da produção de software, desde os estágios iniciais de especificação de sistemas até a manutenção desse sistema”. Conceitos e objetivos Definições de Engenharia de Software: Disciplina de engenharia: aplicação de técnicas, métodos e ferramentas para melhorar os resultados de uma atividade. Todos os aspectos da produção de software: a Engenharia de Software não está relacionada apenas ao processo técnico de desenvolvimento de software, mas também a atividades de gestão do projeto, qualidade e métricas que suportem esse processo. Conceitos e objetivos Camadas da Engenharia de Software Fonte: livro-texto Ferramentas É a camada que proporciona apoio automatizado aos processos e aos métodos, como as ferramentas CASE (Computer Aided Software Engineering). Métodos É a camada que fornece a técnica de como fazer para construir software, ou seja, abordagens que incluem comunicação, análise de requisitos, modelagem, construção, testes e suporte. Camadas da Engenharia de Software Processo É a camada que constitui o elo que mantém juntos os métodos e as ferramentas. Define a sequência em que os métodos devem ser aplicados, controlando o projeto, a qualidade, definindo os produtos de trabalho e coordenando as mudanças de requisitos. Qualidade É a camada que suporta a Engenharia de Software, tendo como foco o aperfeiçoamento contínuo dos processos. Camadas da Engenharia de Software Diferenças básicas entre um software e um outro produto manufaturado: Complexidade. Não é visto e nem sentido (intangibilidade). Não existe produção em série – é sob medida. Não tem prazo de validade. Precisa acompanhar a evolução técnica e de negócio. Ilusão de fácil de ser alterado. A natureza mutável do software A Engenharia de Software está dividida em 4 camadas. Qual é a camada responsável por definir as técnicas e como elas devem ser utilizadas durante o desenvolvimento do sistema? a) Qualidade. b) Processo. c) Método. d) Ferramentas. e) Nenhuma das alternativas está correta. Interatividade A Engenharia de Software está dividida em 4 camadas. Qual é a camada responsável por definir as técnicas e como elas devem ser utilizadas durante o desenvolvimento do sistema? a) Qualidade. b) Processo. c) Método. d) Ferramentas. e) Nenhuma das alternativas está correta. Resposta Para atender as necessidades das empresas, diversos tipos de aplicação surgiram ao longo do tempo para atender as constantes demandas comerciais, industriais e pessoais da sociedade atual. Esses tipos de aplicação são apresentados a seguir. Tipos de aplicações de softwares Sistemas de Processamento de Transações (SPT) Sistemas de Informações Gerenciais (SIG) Sistemas de Apoio à Decisão (SAD) Sistemas de Informação Executiva (SIE) Sistemas Especialistas (SE) Sistemas de Automação de Escritório (SAE) Classificações de aplicações de software Sistemas tradicionais que coletam, guardam, modificam e recuperam as transações, gerenciando as informações das organizações. Uma transação é um evento que gera ou modifica dados. As transações podem ser de negócio (financeiras, imobiliárias) ou técnicas (banco de dados, transações operacionais). Exemplos: site bancário, compras pela internet, sistema de biblioteca, sistema contábil etc. Sistemas de Processamento de Transações (SPT) Características: Tempo de resposta rápida – atender os usuários. Confiabilidade – dependência da organização. Inflexibilidade – processada da mesma maneira. Processamento controlado – suporte à organização. Armazenamento e recuperação de informação. Registro para auditoria – geração de log. Sistemas de Processamento de Transações (SPT) Exemplo de uma estrutura física (SPT) Fonte: autoria própria Servidor Web Servidor de aplicações Servidor de banco de dados Cliente Cliente Cliente Cliente Cliente São sistemas que fornecem informações integradas para o gerenciamento das organizações. Normalmente, são fornecidos como pacotes customizáveis. Apoiam o planejamento, o controle e a decisão das organizações por meio de relatórios, processos correntes, acesso online e eventos internos. Exemplos: ERP (TOTVS, SAP) e CRM (relacionamento com o cliente). Sistemas de Informações Gerenciais (SIG) Exemplos de SIG: ERP: Sistemas Integrados de Gestão Empresarial: interface com banco de dados único para gerenciar todos os processos de negócios de uma empresa. SCM: Gerenciamento da Cadeia de Suprimentos: permite uma gestão mais eficiente do negócio, integrando com fornecedores, fabricantes, atacadistas, varejistas até o consumidor final. CRM: Gestão de Relacionamento com o Cliente: apoia as empresas na gerência e em estreitar laços com clientes. KMS: Gestão do Conhecimento: recolhe, registra, organiza e recupera o conhecimento dos colaboradores para que fiquem internalizados na empresa. Sistemas de Informações Gerenciais (SIG) Sistemas de Informações Gerenciais (SIG) Exemplo de estrutura de ERP: Fonte: adaptado de: www.acii.com.br Atendimento ao cliente Ordem de serviço Caixa Estoque Financeiro Gerenciamento Departamento pessoal ERP São sistemas que analisam um grande número de variáveis e dados para que seja possível o posicionamento quanto a uma questão. São interativos com os usuários, processam grande quantidade de informação para gerar análises precisas e geram relatórios analíticos da situação. Envolvem pesquisa de banco de dados, inteligência artificial, simulações e estatísticas. Exemplos clássicos são: análise de crédito, sistemas de BI (Business Inteligence) em geral. Sistemas de Apoio à Decisão (SAD) Relacionamento com o cliente Passivo, ativo e cooperativo. Modo de apoio Base em modelos, dados ou conhecimento. Escopo da aplicação Empresarial ou desktop. Sistemas de Apoio à Decisão (SAD) Arquitetura de um Sistema de Apoio à Decisão (SAD) Fonte: adaptado de: livro-texto. Usuário Interface do usuário Engenharia do conhecimento Sistema gerenciador de modelagem (SGM) Sistema gerenciador de BD (SGBD) Existem diversos tipos de aplicações de software, com finalidades específicas, para todas as áreas de negócio de uma empresa. O tipo de aplicação que permite a integração de várias áreas com a troca de informações em um mesmo ambiente é o: a) Sistema de Apoio à Decisão. b) Sistema de Especialistas. c) Sistema de Informações Transacionais. d) Sistema de Automação de Escritório. e) Sistema de Informações Gerenciais. Interatividade Existem diversos tipos de aplicações de software, com finalidades específicas, para todas as áreas de negócio de uma empresa. O tipo de aplicação que permite a integração de várias áreas com a troca de informações em um mesmo ambiente é o: a) Sistema de Apoio à Decisão. b) Sistema de Especialistas. c) Sistema de Informações Transacionais. d) Sistema de Automação de Escritório. e) Sistema de Informações Gerenciais. Resposta Trata-se de um tipo de sistema de informações gerenciais destinado a facilitar e apoiar a informação e a tomada de decisão dos altos executivos. É uma forma especializada de SAD, que apresenta os resultados em telas gráficas, fáceisde usar e de navegar, criando situações de detalhamento. Vem perdendo espaço para os sistemas de BI (Business Inteligence) com seus relatórios e painéis interativos. Sistema de Informação Executiva (SIE) Características: Não exige experiência com computador. Fácil de usar. Fornece informações resumidas da empresa. Possui filtros de dados para a gestão. Os dados são obtidos das outras aplicações da organização. Essencialmente, é uma aplicação de consulta. Sistema de Informação Executiva (SIE) Exemplo de estrutura de um Sistema de Informação Executiva (SIE) Fonte: adaptado de: www.wiki.thema.inf.br Dezenas mais sorteadas Quina Rateio Ganhadores Ano Sorteio Dezenas Mês sorteio Dia sorteio Filtro dez Quadra Total sorteado R$190.544.247,44 mai mar ago set jul jan abr Outros nov Mês sorteio Jan Mar Abr Mai Jul R$ 14.410.708,81 R$ 21.713.718,92 R$ 10.000.441,74 R$ 28.424.544,43 R$17.198.359,95 2003 Usam conhecimentos e procedimentos de inferência para resolver problemas que necessitam de especialistas para serem resolvidos. Utilizam inteligência artificial com linguagens como LISP e PROLOG.. São capazes de simular a capacidade de decisão humana. Exemplo: fazer diagnóstico do sistema de injeção de um automóvel, análise de crédito de um cliente, entre outros. Sistemas Especialistas (SE) Vantagens: Custo reduzido. Perigo reduzido. Múltiplos conhecimentos. Aumento do nível de confiança. Resposta rápida. Sistemas Especialistas (SE) São aplicativos que facilitam a vida dos funcionários de uma empresa realizando as atividades que outrora eram manuais. Aumentam a produtividade e a qualidade das informações apresentadas. Principais são: editores de texto, planilhas eletrônicas, e-mail, chats, correios de voz, videoconferência, entre outros. Sistemas de Automação de Escritório (SAE) São exemplos de softwares para Sistemas de Processamento de Transações (SPT): a) Controle da produção, datawarehouse e estoque. b) Gestão financeira, faturamento e estoque. c) Contas a pagar, faturamento e estoque. d) Robótica, inteligência artificial e estoque. e) Nenhuma das alternativas está correta. Interatividade São exemplos de softwares para Sistemas de Processamento de Transações (SPT): a) Controle da produção, datawarehouse e estoque. b) Gestão financeira, faturamento e estoque. c) Contas a pagar, faturamento e estoque. d) Robótica, inteligência artificial e estoque. e) Nenhuma das alternativas está correta. Resposta Para tratar esses problemas, a Engenharia de Software possui a disciplina: Gestão de Projetos. Seu conceito: permitir que empresas criem um produto de software de acordo com: O que foi solicitado (escopo). Dentro do prazo. Dentro do orçamento. Com a qualidade esperada. Problemas com prazos, planejamentos e custos Fonte: autoria própria Tempo Escopo Custo Qualidade Escopo É necessário identificar com clareza e com detalhes quais são as necessidades (requisitos) dos envolvidos no projeto. Prazo Uma vez definido o escopo, são realizadas as estimativas de tempo e recursos para atender essas necessidades. Custo Com a definição do prazo e dos recursos, chega-se a estimativa de valores para a realização do projeto. Problemas com prazos, planejamentos e custos Qualidade de um produto de software pode ser definida como o atendimento às necessidades do cliente. O processo de qualidade deve fazer parte do processo de desenvolvimento de software. Deve ser verificada durante todo o ciclo de construção (garantia da qualidade) e validada quando o produto está pronto (controle da qualidade). Qualidade é uma ação preventiva. Qualidade de software Processo-base de qualidade de software Fonte: adaptado de: livro-texto. Início Não Sim Fim Melhora o processo Produto ok? Processo padronizado Desenvolve produto Assegura a qualidade do produto Define processo O gerenciamento de projetos se baseia na tríplice restrição para atender às expectativas dos clientes. Assinale a alternativa que apresenta elementos que pertencem a essa tríplice restrição: a) Escopo, custos e riscos. b) Prazo, riscos e qualidade. c) Escopo, recursos e qualidade. d) Escopo, prazo e qualidade. e) Recursos, custo e qualidade. Interatividade O gerenciamento de projetos se baseia na tríplice restrição para atender às expectativas dos clientes. Assinale a alternativa que apresenta elementos que pertencem a essa tríplice restrição: a) Escopo, custos e riscos. b) Prazo, riscos e qualidade. c) Escopo, recursos e qualidade. d) Escopo, prazo e qualidade. e) Recursos, custo e qualidade. Resposta SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. Referências ATÉ A PRÓXIMA!
Compartilhar