Engenharia de Software: Conceitos e Tipos de Software
Classificado em Computação
Escrito em em português com um tamanho de 3,22 KB
Engenharia de software: objetivo é produzir software sem falhas, no prazo e orçamentos previstos, e que atenda às necessidades do cliente. Ajuda no desenvolvimento de sistemas complexos dentro do prazo com alta qualidade.
Software não se "desgasta", se deteriora. No início da produção é normal que a curva do software sofra muitas alterações. O objetivo é que ela fique achatada.
Software básico
- é uma coleção de programas escritos para dar apoio a outros programas. Forte interação com o hardware de computador. Sistema operacional, BIOS.Software de tempo real
- O software que executa em um computador e controla outras máquinas é um sistema embarcado de tempo real; um componente de controle.Software comercial
- é a maior área particular de software. As aplicações dessa área facilitam as operações comerciais e as tomadas de decisões administrativas.Software científico e de engenharia
- tem sido caracterizado por algoritmos de processamento de números. As aplicações vão desde astronomia, análise de fadiga mecânica de automóveis, até biologia molecular e manufatura automatizada.Software embutido
- é usado para controlar produtos e sistemas para os mercados industriais e de consumo.Software de computador pessoal
- são os softwares para computadores pessoais como processamento de textos, planilhas eletrônicas, computação gráfica, diversões, gerenciamento de dados.Software de inteligência artificial
- faz uso de algoritmos não numéricos para resolver problemas complexos que não sejam favoráveis à computação ou à análise direta.Um modelo (ou protótipo) das exigências é convertido em um projeto. O projeto de software é convertido em uma forma de linguagem que especifica a estrutura de dados do software.
As linguagens de alto nível como Pascal, C, C++, C#, Java, etc...
Software precisa se adaptar a novas tecnologias ('crise do software').
A Crise de Software
Insatisfação do usuário é frequente.
Introdução de erros no processo.
Má especificação.
Mau projeto.
Má implementação.
Testes incompletos ou mal feitos.
Problemas na comunicação homem-máquina.
Complexidade.
Especificar sistemas é uma atividade bastante complexa. Insatisfação dos usuários, que se sentem frustrados, pois precisam de sistemas funcionando de acordo com suas necessidades.
Produtividade.
Custos, tempo e recursos geralmente são subestimados.
Manutenibilidade.
Facilidade de se modificar um sistema para adaptar-se a circunstâncias novas, inexistentes à época da implantação.