Buscar

ENGENHARIA E QUALIDADE DE SOFTWARE

Prévia do material em texto

NOME: MICHAEL VITOR ZANCANELLA BARBOZA - COD 360404
CURSO:DATA WAREHOUSE E BUSINESS INTELLIGENCE
DISCIPLINA: ENGENHARIA E QUALIDADE DE SOFTWARE
Engenharia de Software, sua natureza, e seus processos
Hoje podemos dizer que o software está praticamente em todas as coisas do nosso cotidiano, servindo às mais variadas necessidades, celulares, computadores e geladeiras são exemplos de alguns equipamentos que utilizamos diariamente com um software acoplado.
Diante da situação elencada acima vem a seguinte pergunta: Como um software é construído?
Para construir ou desenvolver um software, é preciso entender a sua natureza, processo no qual onde vamos conhecer a aplicação do mesmo e onde conheceremos seus princípios e processo para guiar e quando e como as atividades serão executadas. Softwares nascem das necessidades do cliente, portanto representam modelos do mundo real. Cada detalhe presente no problema que o software se propõe a resolver transforma-se num elemento a mais dentro da aplicação. Isso gera uma grande complexidade, que se torna maior à medida que o número desses elementos aumenta e exige a necessidade de interação entre si.
Os usuários criam a falsa impressão que o software por não ter natureza física como algo de fácil adaptação. Em geral, indivíduos o acham extremamente maleável e creem que qualquer mudança terá um baixo custo. 
Contudo, é de extrema importância a observação que o desenvolvimento de sistemas pode ser decomposto em três fases genéricas: definição, desenvolvimento, e manutenção.
A fase de definição engloba a identificação de informações que deveriam ser processadas, funções e desempenho desejados, tipo de interface a serem utilizadas, tarefas que o sistema deveria prover suporte, perfil de usuários dos sistemas, dentre outras.
A fase de desenvolvimento concentra-se no projeto de dados e arquitetura de software do sistema (isto é, como ele está organizado), conversão do projeto para alguma linguagem de programação (ou seja, implementação), realização de teste e avaliação. 
A fase de manutenção considera modificações ou correções necessárias no sistema a fim de que este atenda aos requisitos do sistema.
A parte da engenharia de software, o objetivo principal é fazer uso de princípios de engenharia a fim de produzir, a baixo custo, o software que opere corretamente e com eficiência em equipamentos (como o computador), onde o software é instalado.
A engenharia consiste em alguns conjuntos de técnicas que visam apoiar as atividades de levantamento de requisitos, assim como análise de requisitos e de resultados esperado pelo usuário. É interessante abordar que o processo deve seguir um cronograma já desenvolvido pelo projeto planejado.
A engenharia de software é uma área onde é feita a aplicação disciplinada e sistemática (ou seja, que considera princípios de engenharia) para desenvolvimento e manutenção de software.
Um engenheiro de software, deve saber como abordar o cliente com intuito de se obter o objetivo final de levantamento de todos os requisitos do sistema que serão documentados na especificação de requisitos. Depois de obtida os pontos centrais do projeto ele poderá prosseguir para as próximas fases (projetos, implementação e testes).
Objetivos da Engenharia de Software:
• A qualidade do software (produto);
• Entrega do software conforme cronograma;
• Desenvolvimento do software conforme orçamento.
A qualidade do produto é um ponto determinante para o sucesso de um software. Há vários atributos da qualidade que servem de indicativo para aceitação e satisfação do cliente, abaixo estou elencando alguns pontos.
– Pontos acordados entre cliente e engenheiro são cumpridos na entrega do sistema;
– Software operacional em larga escala de tempo;
– Programa de fácil manutenção e de aprimoramento facilitado;
– Preza pela economia de recursos;
– De fácil utilização e operação pelos usuários;
Alguns Princípios da engenharia:
Formalidade: é uma atividade criativa, estará contida no projeto, na programação, nas rotinas de teste e etc.
Abstração: Capacidade de identificação aspectos importantes do produto, ignorando os detalhes.
Generalização: é uma forma de abstração, buscando características comuns e esquecendo as características específicas dos itens.
Flexibilização: capacidade de adaptação a novos ambientes e a casos de uso não implementados e às manutenções que se fizerem necessários.
Modularidade: lida com grandes problemas, dividindo em partes menores.
Um diferencial no desenvolvimento de um software é o continuo feedback durante o processo. Com isso pode ocorrer a mitigação de custos e garantia que o desenvolvimento irá ocorrer da forma planejada e dentro dos prazos propostos.
Um processo de desenvolvimento de software é necessário, porque ele:
• Serve de guia para controlar as atividades de desenvolvimento do sistema;
• Aloca tarefas para desenvolvimento específico;
• Especifica quais artefatos precisam ser desenvolvidos em cada umas das etapas de desenvolvimento;
Normalmente os processos de desenvolvimento são definidos em quatro etapas:
Concepção
• Especificação de requisitos;
• Organização do Software
• Avaliação de riscos;
• Custo de desenvolvimento
Elaboração
• Casos de uso;
• Casos de maior utilização;
• Forma de planejamento do sistema;
• Revisar o planejamento de atividades e estimativa dos recursos necessários para completar o projeto.
Construção
• Desenvolvimento e liberação do softare.
• Ajusta a entrega corrigindo erros e adicionando detalhes adicionais.
• Realização de testes e liberação da primeira build.
• Ajuste e programação de implementação do sistema no ambiente do cliente.
Transição
Deve ser implantado o sistema no ambiente do cliente ou seja, o software sai do ambiente de homologação, onde foi desenvolvido e vai para o ambiente de homologação.
No ponto final de entrega do projeto podem ocorrer alguns erros, porém esses erros serão elencados e corrigidos, assim como sugestões de melhorias, além do suporte final são concedidos treinamentos e assistência aos usuários.

Continue navegando