segunda-feira, 15 de dezembro de 2014

Modelagem dos requisitos





Qual a importância da modelagem de requisitos?

        A tarefa de desenvolvimento de software engloba uma série de fases e atividades que independentemente da metodologia escolhida, ocorrem para a realização do seu objetivo maior: entregar software funcionando corretamente dentro do orçamento e prazos previstos para o seu desenvolvimento.

        Para atingir os objetivos do projeto, todas as atividades de desenvolvimento tem que ser criteriosamente elaboradas e desenvolvidas, seja usando uma abordagem de desenvolvimento mais rica em documentação tais como o poderoso UP (Unified Process) ou as excelentes metodologias ágeis (XP, SCRUM, etc). Assim sendo, em qualquer uma delas encontraremos com maior ou menor rigor e formalização, atividades de análise de requisitos, design, definição de arquitetura, codificação e outras. Um trabalho consistente de análise dos requisitos, ou seja, identificar, quantificar, definir, priorizar e classificar os principais problemas que o futuro software deve resolver é a base de um projeto de software de sucesso.

        É fundamental definir corretamente o que vem a ser um requisito: é uma especificação de uma característica ou propriedade que um sistema deve possuir ou fazer, assim como sua restrição de operação. Os requisitos podem ser definidos por diversas classificações tais como: requisitos de negócio, funcionais, não funcionais, etc. Larga documentação existem sobre o tema, tanto em livros como na Internet, portanto esse artigo não vai se prolongar sobre o assunto.

        Concluindo, podemos afirmar que sem uma correta definição e gestão dos requisitos do aplicativo é praticamente certo que o projeto terá o seu sucesso comprometido, frustando as expectativas do cliente e comprometendo as metas e planos da empresa contratante.


A MODELAGEM

        Um modelo é uma simplificação da realidade. Os modelos podem realizar planos detalhados, assim como planos mais gerais com uma visão panorâmica do sistema. Um bom modelo inclui detalhes e componentes de grande importância e omite os componentes menores que não necessitam de representação em determinado nível de abstração.

        Na modelagem, podemos delimitar o problema que estamos estudando, dividindo-o em vários problemas menores, restringindo a atenção a um único aspecto por vez até chegar à solução.
Mesmo que não se utilize uma modelagem formal para desenvolver um software, sempre é feito algum tipo de modelo, mesmo que de maneira muito informal. Porém, esses modelos informais não oferecem uma linguagem que pode ser compreendida por outras pessoas facilmente.

        No setor de softwares comerciais, muitas vezes os programas são inadequados para a empresa e não atendem às necessidades dos usuários, devido à produtividade e facilidade oferecidas pelas linguagens de programação visual, e quanto mais complexo for o sistema, maior será a probabilidade de ocorrência de erros, no caso de ter sido feito sem nenhum tipo de modelagem.

        Na construção de um sistema simples, inicialmente a modelagem pode não ser tão necessária, mas a tendência de um sistema funcional é que ele se torne mais complexo ao longo do tempo, precisando de atualização e aperfeiçoamento. Portanto, à medida que o sistema evoluir e não houver nenhuma documentação com a modelagem, o trabalho será muito maior e ainda com o risco de ter um sistema mal-sucedido.

        Qualquer projeto será beneficiado pelo uso de algum tipo de modelagem. Os modelos auxiliam a equipe a ter uma visão mais abrangente do funcionamento do sistema, e assim, desenvolvê-lo de forma mais rápida e correta.


A MODELAGEM IDEAL

        Qualquer sistema precisa de algum tipo de modelagem. Mas deve-se escolher um tipo de modelagem que seja correto para o sistema.

        Quando os modelos são adequados para o software que está sendo desenvolvido, os problemas são resolvidos mais claramente, mas quando se escolhe um modelo errado, ao invés de ajudar, ele pode complicar ainda mais o problema, causando confusões e desviando a atenção para detalhes que não são importantes para aquela situação.

        Em qualquer situação, os melhores modelos são aqueles que permitem escolher o grau de detalhamento. Dependendo do sistema, um modelo que mostra a interação com o usuário, de execução rápida e simples, pode ser o ideal, mas, em outros casos, será necessário retornar a níveis mais baixos, como ao especificar interfaces para várias plataformas ou quando o sistema se depara com congestionamentos em uma rede.



REFERÊNCIAS

SILVA, Márcio Andrade. Linha de Código, 2014. <http://www.linhadecodigo.com.br/artigo/1685/a-importancia-do-levantamento-de-requisitos-no-sucesso-dos-projetos-de-software.aspx>. Acesso: 15 de Jan. 2014

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.