QUALIDADE DE SOFTWARE Princípios de Engenharia de Software
Afinal o que é Software? Segundo o dicionário de Informática: Suporte lógico, suporte de programação. Conjunto de programas, métodos e procedimentos, regras e documentação relacionados com o funcionamento e manejo de um sistema de dados. Sawaya, Márcia Regina. Dicionário de Informática & Internet. Ed. Nobel. 1999 Trata-se de algo intangível, abstrato e flexível, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional.
São basicamente de dois tipos: Softwares de Serviços: Sistemas Operacionais: possuem o propósito de interagir e administrar o sistema computacional e servir de recurso para outros aplicativos. Softwares Aplicativos: Tem por objetivo a resolução de problemas específicos, tais como programa de folha de pagamento, planilhas e editores de texto, entre outros.
O que significa então Engenharia de Software? Segundo o dicionário de Informática: Conjunto de meios e procedimentos relativos às diferentes bases da elaboração e desenvolvimento do software, tais como especificações, programação, produção, manutenção etc. Em outras palavras, trata-se da especificação, desenvolvimento e manutenção de softwares utilizando tecnologias específicas e práticas da Gerência de Projetos. Sawaya, Márcia Regina. Dicionário de Informática & Internet. Ed. Nobel. 1999
Elementos para o desenvolvimento de software Métodos: Como fazer? Ferramentas: apoio automatizado aos métodos; e Procedimentos: ligação entre os métodos e ferramentas.
Ciclo de vida Concepção Projeto Testes Análise Manutenção
Ciclo de Vida Concepção: início do trabalho, com levantamento dos principais requisitos para todo o sistema. Favorece o desenvolvimento do escopo do projeto; Análise: intensificação da coleta de requisitos e conversão em software (Projeção). Homologação com o cliente; e Projeto: utiliza as técnicas de gerência de projetos, definindo estrutura de dados, custos, mão de obra, procedimentos e representação do software antes da codificação.
Construção: execução do projeto através de decodificação em linguagem específica; Testes: garantir a funcionalidade do sistema através de testes; e Manutenção: Acompanhamento e modificação quando necessário.
Engenharia de Requisitos É uma sub-área da Engenharia de Software que tem por objetivo descobrir, analisar, documentar, e verificar as funções e restrições do sistema. Fornece um mecanismo eficiente para detectar o que o cliente deseja, quais as possibilidades e necessidades de modelar o sistema de acordo com as exigências do cliente e quais as tecnologias a serem empreendidas, negociando uma solução satisfatória. Usuários podem não ter uma idéia precisa do sistema por eles requerido;
Importância da Engenharia de Requisitos Porque a Engenharia de requisitos é importante? - Comumente os clientes não sabem o que realmente desejam; - Normalmente clientes têm dificuldades para descreverem seu conhecimento sobre o problema; - Usuários e Analistas têm diferentes pontos de vista do problema.
Passos da Engenharia de Requisitos - Análise e Negociação de requisitos; - Especificação de requisitos; - Modelagem do sistema; - Validação de requisitos; e - Gestão de requisitos.
Passos da Engenharia de Requisitos Análise e Negociação de requisitos Após a coleta dos principais requisitos na fase de Concepção, estes são organizados em conjuntos relacionados e são verificados quanto a consistência, omissões e redundância. As seguintes perguntas devem ser respondidas:
Passos da Engenharia de Requisitos Análise e Negociação de requisitos Todos os requisitos foram especificados? O requisito é realmente necessário? Cada requisito está consistente com os demais e com o objetivo global do sistema? Algum requisito conflita com os demais? Cada requisito é possível de ser codificado?
Passos da Engenharia de Requisitos Análise e Negociação de requisitos Em função da análise de requisitos deve ser feito a negociação dos requisitos com o cliente, buscando sua aprovação. Especificação de requisito É a fase de documentar, através de contratos o que foi negociado com o cliente. Modelagem do Sistema Fornece suporte a elaboração do Projeto e sua execução.
Passos da Engenharia de Requisitos Validação de requisitos É garantir a qualidade da engenharia de requisitos, examinado minuciosamente a especificação de requisitos. Gestão de requisitos São atividades que ajudam a equipe de projetos a rastrear, identificar e controlar requisitos e modificações de requisitos durante a execução do projeto.