Cibersegurança
Fundamentos da qualidade de software..............................................................2
Reengenharia....................................................................................................13
Referências bibliográficas..................................................................................22
1
FUNDAMENTOS DA QUALIDADE DE SOFTWARE
A norma NBR ISO 9000:2005 define qualidade como sendo o grau no qual um
conjunto de características inerentes satisfaz aos requisitos. Ou seja, pode-se
afirmar que se algum produto ou serviço atende aos requisitos especificados,
este mesmo produto ou serviço possui a qualidade desejada.
A definição baseada em produto: onde qualidade é algo que pode ser medido
em um objeto.
2
A definição baseada na fabricação: onde qualidade está ligado a produção
correta de acordo com os requisitos
CMMI
MPS.BR
ISO 12207
ISO 9126
ISO 15504
3
PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
4
nem mesmo usou o termo cascata. Royce originalmente descreve o que é hoje
conhecido como o modelo em cascata como um exemplo de um método que
ele argumentava ser um risco e um convite para falhas.
Requerimento
Projeto
Implementação
Integração
Teste e depuração (verificação)
Manutenção de software
5
Existem inúmeros frameworks de processos para desenvolvimento de software.
A maioria dos métodos ágeis tenta minimizar o risco pelo desenvolvimento do
software em curtos períodos, chamados de iteração, os quais gastam
tipicamente menos de uma semana a até quatro.
6
MÉTRICAS DA QUALIDADE DE SOFTWARE
7
As métricas podem mensurar fatores diversos, dependendo de sua intenção.
Desde detectar tendências até medir quantitativamente a eficácia dos
processos, sua premissa é ser simples, de fácil coleta e manipulação de
informações, de forma a garantir sua competitividade ao longo do tempo e,
portanto, seu monitoramento.
8
fortemente ligado à linguagem de programação utilizada, impossibilitando a
utilização de dados históricos para projetos que não utilizam a mesma
linguagem. Um conjunto de métricas de qualidade e produtividade pode ser
desenvolvido com esta técnica.
Exemplos de métricas:
9
NORMAS ISO 12207 / ISO 15504
10
Um processo deve ser modular, isto é, convém que um processo execute uma
e somente uma função dentro do ciclo de vida e é conveniente que as
interfaces entre dois processos quaisquer sejam mínimas;
Se uma função é invocada por mais de um processo, então esta função torna-
se um processo;
Deve ser possível verificar qualquer função dentro do modelo de ciclo de vida;
Elicitação de requisitos;
Análise dos requisitos do software;
Projeto da arquitetura do software;
Projeto detalhado do software;
Implementação;
Codificação e testes do software;
Integração do software;
Teste de qualificação do software;
Instalação do software;
Testagem e aprovação do software.
11
ISO / IEC 15504, também conhecida como Spice, é um modelo que possui
como foco a melhoria dos processos de desenvolvimento de software e a
determinação da capacidade de processos de uma organização. Além dos
processos, a SPICE define também os seis níveis de capacitação de cada
processo (Executado, gerenciado, estabelecido, previsível e otimizado)
Fornecedor do cliente
Engenharia
Suporte
Gestão
Organização
12
REENGENHARIA
Os princípios-chave são:
Rigor e Formalidade;
Separação de Interesses;
Modularidade;
Alta Coesão;
Baixo Acoplamento.
Abstração;
Antecipação a Mudanças;
Generalidade;
Incrementação;
Requisitos de Software;
Goob.
13
Na avaliação de um re-projeto de um sistema legado procedimental, apoiar a
melhoraria da qualidade dos processos de software e do planejamento de
questões administrativas em projetos de TI e, garantir a qualidade do processo
de reengenharia de software orientado a objetos[/lead]
14
ENGENHARIA DE SOFTWARE CLIENTE/SERVIDOR
15
Características do Cliente:
Recebe respostas;
Características do Servidor:
Estrutura o sistema.
16
O DESENVOLVIMENTO DO PLANO DE PROJETO DE SOFTWARE
Levantamento de requisitos;
Análise de Requisitos;
Projeto;
Implementação;
Testes;
Implantação.
17
Um software normalmente é composto por diversas funções, bibliotecas e
módulos que gera um programa executável ao final do processo de
desenvolvimento e este, quando executado, recebe algum tipo de ―entrada‖ de
dados (input), processa as informações segundo uma série de algoritmos ou
sequências de instruções lógicas e libera uma saída (output) como resultado
deste processamento. Um software bem desenvolvido é normalmente criado
pela área engenharia de software e inclui não apenas o programa de
computador em si, mas também manuais, especificações e configurações.
18
PROCESSOS DE GERÊNCIA DE QUALIDADE DE SOFTWARE
Naquela reunião foi a primeira vez que o termo ―Crise do Software‖ foi utilizado
para dizer sobre os maus tempos que a indústria de software
A partir daí, foram surgindo normas aplicadas para a área tais como a ISO
9000-3, ISO 15504, ISO 12207, padrões IEEE 1074, IEEE 1298 e
Modelos SW-CMM, CMMI e MPS.BR para Qualidade de Software.
Uma forte motivação para o foco em qualidade é que o custo relativo de corrigir
erros aumenta drasticamente com a evolução do Ciclo de Vida do Software.
Segundo Boehm, citado por Pressman, há corrigir um erro ou defeito na fase
de manutenção do software custa 100 vezes mais que corrigi-lo na fase de
requisitos.
Custos de Prevenção
Planejamento da qualidade
Revisões técnicas formais
Testes
Treinamento
19
Custos de Falha Interna
Retrabalho
Reparo
Modo de análise de falha
21
Referências Bibliográficas
Disponível em:
https://pt.wikipedia.org/wiki/Qualidade_de_software
Disponível em:
https://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software
Disponível em:
https://pt.wikipedia.org/wiki/Modelo_em_cascata
Disponível em:
https://pt.wikipedia.org/wiki/Prot%C3%B3tipo
Disponível em:
https://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software
Disponível em:
https://medium.com/launchpad-labs/como-usar-m%C3%A9tricas-para-garantir-
a-qualidade-de-software-a2a0a77b0a40
22
Wikipédia, a enciclopédia livre.Métrica de software.
Disponível em:
https://pt.wikipedia.org/wiki/M%C3%A9trica_de_software
Disponível em:
https://pt.wikipedia.org/wiki/ISO/IEC_12207
Disponível em:
https://pt.wikipedia.org/wiki/ISO/IEC_15504
Disponível em:
https://pt.wikipedia.org/wiki/Reengenharia
Disponível em:
https://pt.wikipedia.org/wiki/Engenharia_de_software
Disponível em:
https://www.devmedia.com.br/reengenharia-de-software-orientado-a-objetos-
engenharia-de-software-33/19304
23
Pedro Luis Saraiva Barbosa, Adriano Lima Cândido.DIFERENÇAS ENTRE
ENGENHARIA REVERSA E REENGENHARIA NOS SISTEMAS DE
INFORMAÇÃO.
Disponível em:
https://interfaces.leaosampaio.edu.br/index.php/revista-
interfaces/article/view/263
Disponível em:
https://www.webartigos.com/artigos/quando-aplicar-a-reengenharia-de-
software/90537
Disponível em:
https://pt.wikipedia.org/wiki/Modelo_cliente%E2%80%93servidor
Disponível em:
https://pt.wikipedia.org/wiki/Desenvolvimento_de_software
Disponível em:
https://www.devmedia.com.br/atividades-basicas-ao-processo-de-
desenvolvimento-de-software/5413
Disponível em:
24
https://pt.wikipedia.org/wiki/Software
Disponível em:
https://pt.wikipedia.org/wiki/Qualidade_de_software
25