GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

O PRODUTO E O PROCESSO DE SOFTWARE

Vinicius Frasson SW Portugiesisch

Mapa mental sobre o produto e o processo de software: sistema, campos de aplicação, projeto e mitos

Mapa mental: o produto e o processo de software

Inhalt der Mindmap

O PRODUTO E O PROCESSO DE SOFTWARE

  1. Sistema baseado em computador

    • é um conjunto de elementos organizados, inter-relacionados, que possuem características comuns, para atingir alguma meta ou objetivo pré-definido por meio do processamento da informação.
    • software: composto de programas de computador, estruturas de dados e produtos de trabalho correlacionados que servem para realizar o método lógico, procedimento ou controle necessário;
    • hardware
    • pessoas: usuários e operadores de hardware e software;
    • bancos de dados: um coleção grande e organizada de informações que é acessada por intermédio do software e persiste ao longo do tempo;
    • documentação: artefatos gerados ao longo do processo de software e que devem ser mantidos atualizados, ou seja, informações descritivas (por exemplo, modelos, especificações, manuais impressos, arquivos de ajuda on-line, sites) que mostram o uso e/ou operação do sistema;
    • procedimentos: os passos que definem o uso específico de cada elemento do sistema ou o contexto de procedimentos no qual o sistema reside.
  2. Software ou produto de software

    • O software ou produto de software é o componente lógico de um sistema baseado em computador
    • (1) as instruções (os programas de computador) que quando executadas fornecem as características, função e desempenho desejados;
    • (2) as estruturas de dados que permitem aos programas manipular informações de forma adequada;
    • (3) os documentos, impressos ou virtuais, que descrevem a operação e uso dos programas.
  3. Campos de aplicação ou tipos de software

    • Sistema ou Básico: feitos para atender outros sistemas (ex. sistemas operacionais, compiladores, gerenciadores de bancos de dados, drivers, editores, software de rede, etc);
    • Software para linha de produtos de software (SPL – software product lines):
      • projetado para fornecer capacidade específica de utilização por muitos clientes diferentes, ou seja, técnica de produção baseada em outras engenharias – fábricas que desenvolvem uma mesma família de produtos com partes e recursos comuns. Consiste em um conjunto de sistemas de software que:
        • Têm uma funcionalidade comum
        • São construídos de uma forma prescrita visando uma missão específica ou segmento de mercado
        • São desenvolvidos utilizando componentes e recursos (ativos) de uma base comum
        • Fornecem uma substancial economia de produção de software e é aplicável em grupos de sistemas similares.
    • Aplicações Web/aplicativos móveis: categoria de software voltada às redes que abrange uma ampla variedade de aplicações, contemplando aplicativos voltados para navegadores e software residente em dispositivos móveis;
    • Científico/Engenharia: baseado fortemente em processamento numérico (ex. softwares para astronomia, vulcanologia, meteorologia, análise genética, biologia molecular);
    • Embarcado: são usados para controlar produtos e sistemas para os mercados industriais e de consumo (ex. controle de teclado para forno de microondas, controle de combustível, sistemas de freio, etc).
    • Games
    • Inteligência Artificial: Sistemas Especialistas, Sistemas baseados em conhecimento, redes neurais, processamento de linguagem natural;
  4. Software legado

    • Foram desenvolvidos décadas atrás e têm sido continuamente modificados para se adequar às mudanças dos requisitos de negócio e a plataformas computacionais.
    • A proliferação de tais sistemas está causando dores de cabeça para grandes organizações que os consideram dispendiosos de manter e arriscados de evoluir.
    • Muitos sistemas legados permanecem dando suporte para funções de negócio vitais e são indispensáveis para o mesmo. Por isso, um software legado é caracterizado pela longevidade e criticidade de negócios
    • Alguns sistemas legados, apesar de darem suporte a funções vitais de negócio e serem indispensáveis para ele, podem ser classificados como de baixa qualidade (se forem julgados em termos da Engenharia de Software moderna).
    • Alguns problemas são
      • Projetos inextensíveis  Código de difícil entendimento  Documentação deficiente ou inexistente  Casos de teste e resultados que nunca foram documentados  Histórico de alterações mal gerenciado
        • O QUE FAZER?
          • TALVEZ A ÚNICA RESPOSTA ADEQUADA SEJA: NÃO FAÇA NADA, pelo menos até que o sistema legado tenha que passar por alguma modificação significativa. Se ele atende às necessidades de negócio e funciona de maneira confiável, ele não precisa ser consertado!
    • sistemas evoluem devido a uma ou mais das seguintes razões
      • O software deve ser adaptado para atender às necessidades de novos ambientes ou de novas tecnologias computacionais;  O software deve ser aperfeiçoado para implementar novos requisitos de negócio  o software deve ser expandido para torná-lo capaz de funcionar com outros bancos de dados ou com sistemas mais modernos.  O software deve ser rearquitetado para torná-lo mais viável dentro de um ambiente computacional em evolução.
    • REENGENHARIA DE SOFTWARE
      • Quando essas modalidades de evolução ocorrem, um sistema legado deve passar por reengenharia de software
        • Análise de inventário (tamanho, idade, criticalidade nos negócios)
        • Reestruturação dos documentos
        • Engenharia Reversa – para recuperar os modelos do projeto. Ex: modelo relacional de Banco de Dados, projeto da arquitetura e dos componentes, gerados a partir do software já existente
        • Reestruturação de código na mesma linguagem de programação ou em outra mais moderna
        • Reestruturação de dados
        • Engenharia direta – ferramentas que recuperam as informações do projeto de software existente e as utilizam para alterar ou reconstituir o sistema, de forma a para melhorar a qualidade geral. 15
  5. Engenharia de Software

    • A Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a fim de se obter softwares econômicos que sejam confiáveis e que trabalhem eficientemente em máquinas reais (
      • (1) a aplicação de uma abordagem sistemática, disciplinada e quantificável, para o desenvolvimento, operação e manutenção de software; isto é, a aplicação da engenharia ao software;
      • (2) o estudo de abordagens como as de (1).
  6. Projeto

    • É um conjunto de atividades temporárias, realizadas em grupo, destinadas a produzir um produto, serviço ou resultado únicos
    • é temporário no sentido de que tem um início e fim definidos no tempo, e, por isso, um escopo e recursos definidos;
    • é único no sentido de que não se trata de uma operação de rotina, mas um conjunto específico de operações destinadas a atingir um objetivo em particular. Assim, uma equipe de projeto, muitas vezes, inclui pessoas que geralmente não trabalham juntas – algumas vezes vindas de diferentes organizações e de múltiplas geografias.
    • Todos devem ser gerenciados de forma especializada para apresentarem os resultados, aprendizado e integração necessários para as organizações dentro do prazo e do orçamento previstos.
    • Para gerenciar de forma correta um projeto é necessário, dentre outros, definir um processo de trabalho a ser executado, que no caso da Engenharia de Software é denominado processo de software.
  7. Processo de software e suas atividades

  8. A essência da prática da Engenharia de Software

  9. Os sete princípios gerais da Engenharia de Software

  10. Mitos do desenvolvimento de software

  11. Equipes de Software

  12. Camadas da engenharia de software

    • Foco na Qualidade: A Eng. Sw. deve se apoiar num compromisso organizacional com a qualidade. Gestão da Qualidade Total, Seis Sigma e filosofias análogas levam à cultura de um processo contínuo de aperfeiçoamento, permitindo o desenvolvimento de abordagens cada vez mais efetivas para a Eng. Sw. Denise
    • Processo: O alicerce da Eng. Sw. é a camada de processo, que é o adesivo que mantém unidas as camadas de tecnologia e permite o desenvolvimento racional e oportuno de softwares de computador. O processo define um arcabouço que deve ser estabelecido para a efetiva utilização da tecnologia de Eng. Sw. Os processos de software formam a base para o controle gerencial de projetos de software e estabelecem o contexto no qual os métodos técnicos são aplicados, os produtos de trabalho são produzidos, os marcos são estabelecidos, a qualidade é assegurada e as modificações são adequadamente geridas;
    • Métodos: fornecem a técnica de “como fazer” para construir softwares. Abrangem um amplo conjunto de tarefas que incluem: comunicação, análise de requisitos, modelagem de projeto, construção de programas, testes e manutenção;
    • Ferramentas: fornecem apoio automatizado ou semi-automatizado para o processo e para os métodos. Quando ferramentas são integradas de modo que a informação criada por uma ferramenta possa ser usada por outra, é estabelecido um sistema de apoio ao desenvolvimento de software chamado CASE

Informationen

Beschreibung
Mapa Mental em O PRODUTO E O PROCESSO DE SOFTWARE, criado por Vinicius Frasson em 19-08-2018.
Erstellt von
Vinicius Frasson
Aufrufe
8
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck