Mapa mental
O PRODUTO E O PROCESSO DE SOFTWARE

Mapa mental: o produto e o processo de software
Contenido del mapa
O PRODUTO E O PROCESSO DE SOFTWARE
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.
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.
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.
- 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:
- 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;
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!
- O QUE FAZER?
- 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
- 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
- Quando essas modalidades de evolução ocorrem, um sistema legado deve passar por reengenharia de software
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).
- 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 (
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.
Processo de software e suas atividades
A essência da prática da Engenharia de Software
Os sete princípios gerais da Engenharia de Software
Mitos do desenvolvimento de software
Equipes de Software
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
Información
- Descripción
- Mapa Mental em O PRODUTO E O PROCESSO DE SOFTWARE, criado por Vinicius Frasson em 19-08-2018.
- Creado por
- Vinicius Frasson
- Visitas
- 8
- Valoración