Principios Solid Loja Virtual
Por: Nathan Masson • 22/6/2017 • Monografia • 4.776 Palavras (20 Páginas) • 355 Visualizações
Aplicando os princípios S.O.L.I.D. no desenvolvimento de um E-commerce Asp.Net
Nathan de Aguiar Masson1, Eduardo Teixeira2
Centro Universitário Barão de Mauá
Av Itatiaia, 1176 – Ribeirão Preto – SP – Brasil
nathanmasson@hotmail.com1, eduardo.teixeira@baraodemaua.br2
Resumo. Cada vez mais o termo qualidade está sendo requisitado no mercado. Isso também não é diferente no mercado de desenvolvimento de software. No processo de qualidade de software existem diversas etapas, sendo uma delas a etapa de avaliação do código-fonte, que assim como as outras também tem seu papel fundamental. Visando a melhoria do código-fonte, este trabalho se propôs a estudar as vantagens que os “Princípios S.O.L.I.D. de Design” podem agregar no desenvolvimento de um sistema de E-commerce orientado a objetos. Os resultados são apresentados e argumentados, demonstrando de maneira prática os benefícios obtidos principalmente sobre código-fonte e demonstrando dados para fins de comparação e comprovação das melhorias.
1. Introdução
Com o contínuo avanço e crescimento da necessidade de novas tecnologias, empresas de tecnologia da informação visam maneiras rápidas e eficientes de assegurar a qualidade de um produto final melhor e tornarem-se mais competitivas no mercado.
Assegurar a qualidade de um produto final parece algo simples, porém, o desenvolvimento se trata de algo complexo, extenso e abrangente, exigindo que o software seja controlado, medido e gerenciado através de padrões bem definidos.
Este trabalho tem como proposta demonstrar a melhoria na qualidade do código-fonte no desenvolvimento orientado a objetos por meio da utilização dos Princípios S.O.L.I.D. de Design (esses princípios virão a ser detalhados nos capítulos posteriores), demonstrando os benefícios proporcionados no desenvolvimento de um E-commerce e identificar e demonstrar as possíveis melhorias por meio de gráficos gerados do projeto.
2. Referencial Teórico
Este capítulo apresenta o referencial teórico do trabalho com conceitos de padrões de projeto, ferramentas e linguagens de desenvolvimento.
2.1. Qualidade de Software
Na grande demanda no desenvolvimento de software um fator primordial se apresenta, a qualidade. Desse modo, cada vez mais, há a euforia em se investir em qualidade, porém se depara com o problema do entendimento e compreensão do que de fato significa qualidade de software [Duarte, Falbo 2000].
De acordo com Pressman (2002, p. 724):
Qualidade de Software é a conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados, e a características implícitas que são esperadas de todo software profissionalmente desenvolvido.
2.1.1. Métricas de Qualidade de Software
A norma ISO/IEC 9126 descreve um modelo de qualidade de software, dividindo em características internas, externas e de uso [ISO/IEC 9126 2003]:
- Métricas internas podem ser aplicadas com um produto de software ainda não executável, como uma especificação ou código-fonte. Trazem como benefícios a possibilidade de usuários, avaliadores, executores de teste e desenvolvedores avaliarem a qualidade do produto de software antecipadamente, possibilitando modificações para atender os requisitos. As medições são realizadas por meio de números ou frequências de elementos, como por exemplo linhas de código, número de erros, dados coletados na documentação, etc.
- Métricas externas permitem a medição de um produto de software proveniente de medidas do comportamento do mesmo, através de testes, operações e observações do software executável ou do sistema. As medições beneficiam usuários, avaliadores, executores de teste e desenvolvedores na avaliação da qualidade do produto de software durante seu teste ou operação.
- Métricas de qualidade em uso medem um produto de software para estabelecer o quanto ele atende às necessidades dos usuários com metas de eficácia, produtividade, segurança e satisfação, em um contexto de uso especificado. Sua visão é baseada na perspectiva do usuário, na qual os resultados de uso são mais importantes que as propriedades. “Qualidade em uso é, para o usuário, o efeito combinado da qualidade externa e interna.”
O esquema a seguir (Figura 1) apresenta as subdivisões das características de qualidade interna e externa conforme a ISO/IEC 9126.
[pic 1]
Figura 1. Características de qualidade interna e externa [ISO/IEC 9126 2003]
A ISO/IEC 2196 define cada uma das seis características de qualidade de software e suas subdivisões em subcaracterísticas conforme Tabela 1 a seguir:
Tabela 1. Definição das características de qualidade interna e externa [ISO/IEC 9126]
Características | Subcaracterísticas | Significado |
Funcionalidade
O conjunto de funções satisfaz as necessidades explícitas e implícitas para a finalidade a que se destina o produto? | Adequação | Propõe-se a fazer o que é apropriado? |
Acurácia | Gera resultados corretos ou conforme acordados? | |
Interoperabilidade | É capaz de interagir com os sistemas especificados? | |
Segurança de acesso | Evita acesso não autorizado, acidental ou deliberado a programas de dados? | |
Conformidade | Está de acordo com normas e convenções previstas em leis e descrições similares? | |
Confiabilidade
O desempenho se mantém ao longo do tempo e em condições estabelecidas? | Maturidade | Com que frequência apresenta falhas? |
Tolerância a falhas | Ocorrendo falhas, como ele reage? | |
Recuperabilidade | É capaz de recuperar dados após uma falha? | |
Usabilidade
É fácil usar o software? | Inteligibilidade | É fácil entender os conceitos utilizados? |
Apreensibilidade | É fácil apreender a usar? | |
Operacionalidade | É fácil de operar e controlar a operação? | |
Eficiência Os recursos e os tempos utilizados são compatíveis com o nível de desempenho requerido para o produto? | Comportamento em relação aos recursos | Quanto recurso utiliza? |
Comportamento em relação ao tempo | Qual é o tempo de resposta e de processamento? | |
Manutenibilidade
Há facilidade para correções, atualizações e alterações? | Analisabilidade | É fácil encontrar uma falha quando ocorre? |
Modificabilidade | É fácil modificar e remover defeitos? | |
Estabilidade | Há grandes riscos de bugs quando se faz alterações? | |
Testabilidade | É fácil testar quando se faz alterações? | |
Portabilidade
É possível utilizar o produto em diversas plataformas com pequeno esforço de adaptação? | Adaptabilidade | É fácil adaptar a outros ambientes sem aplicar outras ações ou meios além dos fornecidos para esta finalidade no software considerado? |
Capacidade para ser instalado | É fácil instalar em outros ambientes? | |
Capacidade para substituir | É fácil substituir por outro software? | |
Conformidade | Está de acordo com padrões ou convenções de portabilidade? |
A qualidade em uso como mostrado na Figura 2, especifica quatro características, eficiência, produtividade, segurança e satisfação. Seu objetivo geral é de atender as necessidades do usuário, ou seja, ela depende das métricas internas e externas para obtenção de uma boa qualidade de software.
...