CONCEITOS SOBRE ENGENHARIA DE SOFTWARE
Por: Eleucione • 6/9/2017 • Resenha • 938 Palavras (4 Páginas) • 370 Visualizações
CONCEITOS SOBRE ENGENHARIA DE SOFTWARE
Engenharia – Aplicação sistemática de conhecimentos científicos na criação e construção de soluções com um bom custo. Beneficio para a resolução de problemas práticos da sociedade.
Software – Conjunto de programas de computador ou seja instruções que são capazes de fazer funcionar o hardware sob intervenção do utilizador.
Engenharia de Software – A aplicação prática do conhecimento científico para o projecto e construção de programas computacionais e documentação necessária para sua operação e manutenção. (Boehm, 76)
Conjunto de métodos, técnicas e ferramentas necessárias para a produção de software de qualidade em todas as etapas do ciclo de vida do produto. (Krakowiak, 85)
FASES DE ENGENHARIA DE SOFTWARE
- Planeamento: Definição de requisitos, construção de protópios
- Elaboração: Construção de modelos a partir da definição dos requisitos
- Construção do sistema: Inclui codificação testes
- Implantação: Colocar em produção, treinamento
POSSÍVEIS PROBLEMAS NO DESENVOLVIMENTO DE UM SOFTWARE
- As estimativas de custo e prazo frequentemente são imprecisas;
- A produtividade das pessoas da área de software não tem acompanhado a demanda por seus serviços;
- A qualidade do software às vezes é menos adequada;
- Poucos dados históricos para guiar estimativas;
- A comunicação entre analista e cliente frequentemente é muito pobre;
- Deficiência em técnicas de teste;
- A tarefa de manutenção devora a maioria do orçamento destinado ao software;
- Não dedicamos tempo para colectar dados sobre o processo de desenvolvimento.
CAUSAS DOS POSSÍVEIS PROBLEMAS NO DESENVOLVIMENTO DE UM SOFTWARE
- O carácter do software;
- Falhas humanas;
- Pouco treinamento formal em novas técnicas para o desenvolvimento de software aos profissionais da área;
- Resistência à mudança.
SOLUÇÕES ENCONTRADAS PARA OS POSSÍVEIS PROBLEMAS NO DESENVOLVIMENTO DE UM SOFTWARE
- Métodos abrangentes para todas fases do desenvolvimento;
- Ferramentas para automatizar os métodos;
- Implementação mais consistente e robusta;
- Técnicas para garantia da qualidade;
- Boa coordenação e controlo administrativo.
MODELOS DE PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
Fases genéricas dos modelos de processo de desenvolvimento de software
Fase de definição (o que); Fase de desenvolvimento (como); fase de manutenção (alterações).
Existem vários modelos de processo de software:
- Modelo cascata
- Modelo de prototipação
- Modelo RAD
- Modelo Evolutivos: Incremental e Espiral
Modelo cascata: É o modelo mais antigo e o mais amplamente usado da engenharia de software, modelado em função do ciclo da engenharia convencional , requer uma abordagem sistemática, sequencial ao desenvolvimento de software, o resultado de uma fase se constitui na entrada de outra.
Fases do Modelo cascata:
Engenharia de sistemas: Envolve a coleta de requisitos em nível de sistema, esta visão é essencial quando o software deve fazer interface com outros elementos.
Análise de requisitos: O processo de colecta dos requisitos é intensificado e concentrado especificamente no software, deve-se compreender o domínio da informação, a função e o desempenho exigido, os requisitos são documentados e revistos com o cliente.
Projecto: Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie.
Codificação: Tradução das representações do projecto para uma linguagem artificial resultando em instruções executáveis pelo computador.
Testes: Concentra-se nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas; nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
Manutenção: Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente; causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho.
...