Fundamentos e Processos da Engenharia de Software

Classificado em Computação

Escrito em em português com um tamanho de 4,01 KB

Produto de software: é tudo o que se entrega para o cliente.

Software pronto: é igual a um produto genérico (ex: Office, Windows, antivírus); é um software sem distinção.

O que é software: um conjunto de processos para resolver um problema.

Quais são os atributos de um bom software: ele deve ser um software confiável, ter um bom custo-benefício e atender às necessidades dos usuários.

Manutenibilidade: facilidade de corrigir um erro, precisão, segurança e economia.

Tipos de Aplicações e Sistemas

  • Aplicação stand-alone: são aplicações executadas em um computador local. Incluem a funcionalidade necessária e não precisam estar conectadas à rede.
  • Aplicações interativas baseadas em transações: são aplicações executadas em um computador remoto e acessadas por PCs ou terminais (ex: apps de bancos).
  • Sistema de controle embutido: são softwares de controle que gerenciam dispositivos de hardware.
  • Sistema de entretenimento: destinam-se a entreter o usuário.
  • Sistema de processamento em lote: são sistemas corporativos para processar dados em grandes lotes; processam números de entrada individuais e criam saídas correspondentes.
  • Sistemas de modelagem e modelação: são desenvolvidos para modelar processos numéricos de entrada individuais e criam saídas correspondentes.
  • Sistemas de coleta de dados: são sistemas que coletam dados usando conjuntos de sensores e enviam dados para outros sistemas para processamento (ex: QR Code, leitor de mercado).
  • Sistema de sistemas: são um conjunto de sistemas que agregam várias funcionalidades em uma só função.

Processos e Modelos de Desenvolvimento

Fundamentos da Engenharia de Software: o sistema deve ter um processo de desenvolvimento gerenciado, confiança e desempenho.

Processos de software: especificar, projetar e implementar.

Modelos genéricos de processo de software: modelo em cascata, desenvolvimento evolutivo e desenvolvimento baseado em reuso.

Modelo em Cascata

  • Definição de requisitos: serviços, restrições e consulta aos usuários.
  • Projeto do sistema e software: planejar e alocar requisitos.
  • Implementação e testes unitários: desenvolvimento e verificação.
  • Integração e teste de sistemas: teste do sistema e integração de unidades.
  • Operação e manutenção: fase mais longa, envolvendo instalação e utilização.
  • Problemas do modelo cascata: dificuldade de acomodação de mudanças depois que o projeto já foi iniciado.

Desenvolvimento incremental: os benefícios incluem custos menores para acomodar mudanças e facilidade para obter feedback.

Engenharia de Requisitos

  • Requisito Funcional: é o que o sistema faz.
  • Requisito Não Funcional: é o que o sistema tem (características e restrições).
  • Validação de requisitos: verificar se tudo o que foi solicitado foi feito e realizar o gerenciamento de requisitos.
  • Requisitos de usuário: declaração de alto nível sobre o que o sistema deve fazer para o usuário entender.
  • Elicitação de requisitos: é trabalhar com o cliente os detalhes do domínio da aplicação e objetivos de trabalho com quesitos funcionais e não funcionais.
  • Stakeholders: todos os participantes, incluindo usuário final, gerentes, engenheiro de manutenção, especialista de domínio e sindicato. Aspecto importante: é fundamental consultar todos os envolvidos.

Entradas relacionadas: