Em ambientes cada vez mais pressionados por mudanças constantes, como criar um modelo que se adapte facilmente às mudanças devido aos novos requisitos ou mesmo a alterações no domínio ou em processos de negócio?
Este artigo busca demonstrar alguns princípios para tornar os modelos conceituais mais robustos por meio de técnicas para construção de ontologias, princípios de orientação a objetos e padrões de projeto.
O modelo conceitual é a base de qualquer sistema de informação, seja um programa em uma linguagem orientada a objetos ou em uma linguagem estruturada. O modelo deve estar apto a instanciar as informações do mundo real, de modo que possa responder perguntas ou recuperar informações rapidamente.
Entretanto, muitas vezes a pressão para entregar o produto acaba afetando a qualidade do modelo, logo se entrega algo funcional, mas sem atributos de qualidade essenciais como facilidade de manutenção e portabilidade.
Para alcançar o objetivo de construir bons modelos, deve-se compreender o que caracteriza um modelo de qualidade e quais as boas práticas de modelagem envolvidas em sua construção.
Estas práticas são baseadas em conceitos da engenharia de software, diretrizes de análise, padrões de análise e de projetos e inclusive práticas de outras disciplinas de modelagem. O objetivo é melhorar a qualidade dos modelos com ações que tenham alto benefício sem grande aumento de esforço ou complexidade.
De todo modo, para afirmar que um modelo tem mais qualidade que outro é necessário definir o que é qualidade e quais características a influenciam em um produto, no caso o modelo conceitual. No esforço para possibilitar a mensuração e comparação de qualidade entre produtos de software, a International Standard Organization publicou a ISO 9126 (BOX 1) que criou indicadores baseados em algumas características mais facilmente mensuráveis.
É notável que para um produto de software ter qualidade não basta simplesmente funcionar. Apesar desta ser a principal característica, existem vários outros fatores, nas palavras da ISO 9126, é necessário ter qualidade externa e interna.
Neste artigo são trabalhados princípios e ações que irão influenciar principalmente as características de facilidade de manutenção, usabilidade e flexibilidade do modelo conceitual.
BOX 1. ISO 9126
Em relação à ISSO 9126, é importante destacar os seguintes pontos:
- Funcionalidade: O grau com que o software satisfaz às necessidades declaradas conforme indicado pelos seguintes subatributos: adequabilidade, exatidão interoperabilidade, conformidade e segurança;
- Confiabilidade: A quantidade de tempo que o software fica disponível para uso conforme indicado pelos seguintes subatributos: maturidade, tolerância a falhas, facilidade de recuperação;
- Usabilidade: O grau de facilidade de utilização do software conforme indicado pelos seguintes subatributos: facilidade de compreensão, facilidade de aprendizagem, operabilidade;
- Eficiência: O grau de uso, pelo software, dos recursos do sistema conforme indicado pelos seguintes subatributos: comportamento em relação ao tempo, comportamento em relação aos recursos;
- Facilidade de manutenção: A facilidade com a qual uma correção pode ser realizada no software conforme indicado pelos seguintes subatributos: facilidade de análise, facilidade de realização de mudanças, estabilidade, testabilidade;
- Portabilidade: A facilidade com a qual um software pode ser transportado de um ambiente a outro conforme indicado pelos seguintes subatributos: adaptabilidade, facilidade de instalação, conformidade, facilidade de substituição.
Qual o escopo do seu modelo
Para construir qualquer bom produto é importante definir qual produto será entregue, portanto, é necessário delimitar o escopo e quais requisitos o produto a ser construído deverá atender.
Existem várias técnicas para levantamento e análise de requisitos bem estabelecidos na engenharia de requisitos, entretanto uma dificuldade na construção dos modelos é que os requisitos especificados têm como foco aspectos funcionais e não funcionais do sistema como um todo.
Alguns destes requisitos, apesar de relevantes para o sistema, são irrelevantes para o modelo conceitual, em outros casos em um requisito do sistema está implícito vários requisitos do modelo.
Uma das técnicas possíveis para evidenciar e explicitar os requisitos do modelo, além de tornar a validação mais direta, é a cria ...