A Engenharia de Software
Por: Gustavo de Cinque • 24/4/2018 • Monografia • 2.169 Palavras (9 Páginas) • 236 Visualizações
ENGENHARIA DE SOFTWARE III
Software
Conforme Sommerville (2011), software são instruções que, quando executadas, fornecem as características, funções e desempenho desejados. Também estão relacionados à estrutura de dados que permitem aos programas manipular as informações adequadamente, documentos que descrevem o uso/operação dos programas, arquivos de configuração, bibliotecas, dentre outros, ou seja, tudo que é necessário para que o mesmo funcione corretamente. Software precisa ser projetado/desenvolvido, não se desgasta como Hardware e, em grande parte, é construído sob encomenda.
Crise do Software
– Desenvolvimento de software informal. – Atrasos constantes. – Custos maiores que o previstos. – Não eram confiáveis. – Difícil manutenção. – Desempenho inferior ao esperado. – Qualidade do software. – Hardware caminha mais rápido que o software. – Demanda é maior que a capacidade de desenvolvimento. – Projetos mal realizados e recursos escassos dificultam manutenção.
Engenharia de Software
Engenharia de software é uma disciplina de engenharia cujo foco está em todos os aspectos da produção de software, ou seja, desde os estágios iniciais da especificação do sistema até sua manutenção. Aliada a uma contínua melhoria de técnicas e ferramentas, a engenharia de software contribuí efetivamente para a minimização de problemas.
Fases do desenvolvimento de Software
Conforme Sommerville (2011) existem muitos processos de software diferentes, mas todos devem incluir quatro atividades fundamentais para a engenharia de software: 1. Especificação de software: definição da funcionalidade do software e as restrições a seu funcionamento. 2. Projeto e implementação de software: desenvolvimento do software para atender às especificações. 3. Validação de software: realização de testes e avaliações para garantir que software atenda às demandas do cliente. 4. Evolução de software: atualização e acompanhamento do software para que o mesmo possa evoluir para atender às necessidades de mudança dos clientes.
Paradigmas e modelos de processos de software
Um modelo de processo para engenharia de software é escolhido com base na natureza do projeto/aplicação, métodos, ferramentas e controles. Alguns modelos tradicionais de processos de software: Cascata, Prototipação, Incremental, Espiral, dentre outros.
Especificação de Software e Engenharia de Requisitos
Conforme Sommerville (2011) os requisitos de um sistema são as descrições do que o mesmo deve fazer, os serviços que ele oferece e as restrições a seu funcionamento. Esses requisitos refletem as necessidades dos clientes para um sistema que serve a uma finalidade determinada, como controlar um dispositivo, colocar um pedido ou encontrar informações. O processo de descobrir,analisar, documentar e verificar esses serviços e restrições é chamado engenharia de requisitos. Os requisitos de software são frequentemente classificados como requisitos funcionais e requisitos não funcionais.
RF - Requisitos Funcionais
Requisitos funcionais são declarações de serviços que o sistema deve fornecer, de como o sistema deve reagir a entradas específicas e de como o sistema deve se comportar em determinadas situações. Em alguns casos, os requisitos funcionais também podem explicitar o que o sistema não deve fazer. Geralmente, são características específicas (individuais).
RNF - Requisitos Não Funcionais
Requisitos não funcionais são restrições aos serviços ou funções oferecidos pelo sistema. Incluem restrições de timing, restrições no processo de desenvolvimento e restrições impostas pelas normas. Ao contrário das características individuais ou serviços do sistema, os requisitos não funcionais, muitas vezes, aplicam-se ao sistema como um todo. Geralmente, estão ligados a qualidade. Entretanto, é importante considerar que desenvolvedores de sistema podem interpretar os requisitos de maneiras diferentes e que para sistemas grandes e complexos, é praticamente impossível alcançar completude e consistência dos requisitos, até mesmo porque erros e omissões ocorrem com frequência.
Engenharia de Aplicações Web
As aplicações web têm características específicas, diferentes de outras aplicações, já que existe uma preocupação acrescida com o aspecto, a usabilidade, a segurança, dentre outros fatores.
Fases da Especificação de Software
Conforme Sommerville (2011) existem quatro atividades principais do processo de engenharia de requisitos: 1. Estudo de viabilidade - É realizada uma estimativa acerca da possibilidade de se satisfazerem as necessidades do usuário através das tecnologias atuais de software e hardware. 2. Elicitação e análise de requisitos - Esse é o processo de derivação dos requisitos do sistema por meio da observação dos sistemas existentes, além de discussões com os potenciais usuários e compradores, análise de tarefas, entre outras etapas. 3. Especificação de requisitos - É a atividade de traduzir as informações obtidas durante a atividade de análise em um documento que defina um conjunto de requisitos. 4. Validação de requisitos - Essa atividade verifica os requisitos quanto a realismo, consistência e completude. Durante esse processo, os erros no documento de requisitos são inevitavelmente descobertos. Em seguida, o documento deve ser modificado para correção desses problemas.
Principais técnicas e ferramentas para o processo de Elicitação: entrevista, questionário, workshop, brainstorming, especificações de sistemas similares, etnografia, cenários, storyboards, prototipação e casos
...