#6: Modelagem de Sistema

Por que modelar um sistema? qual a importância nos modelos conceituais?



Para que um projeto de desenvolvimento de um sistema seja bem sucedido é necessário ter planejamento, para que a estruturação do sistema proposto seja realizada de forma mais correta possível. Daí vem a ideia de modelos em Análise de Sistemas, ou mais especificamente, os modelos conceituais.

Segundo OLIVÉ (2007), "Todo sistema incorpora um esquema conceitual. Assim, para que o desenvolvimento de um sistema seja bem sucedido, é necessário explicitar esse esquema. Esse é o propósito da modelagem conceitual."

Logo é possível perceber a importância que a modelagem traz na análise de requisitos, pois está intimamente ligada aos requisitos necessários ao sistema, onde os modelos utilizados na modelagem conceitual são como ferramentas designadas a auxiliar no desenvolvimento do sistema de forma consistente, bem estruturada e correta. Esses modelos se dividem em várias tipos enfocando perspectivas diferentes, porém se complementam entre si. Além disso, dividem-se em dois grandes grupos, os quais são chamados de modelos estruturais e comportamentais.

Nos modelos estruturais se destacam aqueles responsáveis por estruturar, organizar e construir o sistema de forma a abstrair aquilo que não é importante ao sistema definindo algo mais consistente. Os modelos mais usados são: diagrama de classes e os modelos ER(Entidade-Relacionamento).

Já nos modelos comportamentais são aqueles que trazem comportamento e funcionalidades ao sistema definindo seus estados e ações. Os mais usados são: modelos de casos de uso e os modelos dinâmicos. 

Importante ressaltar que esses modelos são usados em uma linguagem chamada UML (Unified Modeling Language) que foi padronizada para o desenvolvimento de sistemas juntamente com o paradigma Orientado à Objetos (OO). Essa linguagem proporciona diversos diagramas que podem ser usados na modelagem de requisitos, tanto na perspectiva estrutural quanto na comportamental.

Daí vem, paradigma OO? mas por que? E a resposta seria porque desenvolver sistemas e utilizar esse paradigma se casam de uma maneira sensacional. Esse tipo de paradigma, pois ele tem uma visão mais humana, onde há interação entre objetos, classificação deles e uma compreensão hierárquica, o que proporciona menor gap semântico, o qual a paradigma estruturado não é capaz de fazer. Logo se torna ideal para construção de sistemas de software.

Entretanto para entender bem esse paradigma é necessário saber seus conceitos básicos. Um deles é a abstração e deve ser o primeiro a ser entendido, pois trata-se de tratar somente aspectos que são relevantes ao mini-mundo do sistema desejado, ou seja, ele abstrai tudo que é irrelevante e específicos não necessários. Uma vez entendido abstração, outro trivial é o encapsulamento, onde basicamente os objetos se interagem sem conhecer exatamente seu funcionamento interno. Isso é algo muito comum na vida real, como por exemplo, quando você dirige um carro sabe o funcionamento detalhado dele? ou você só sabe dirigir? Essa é a ideia. Na vida real usamos muitas coisas sabendo o que elas fazem e não como elas fazem.

Pondo fim em tudo isso temos o polimorfismo, que basicamente trata-se de um mecanismo muito poderoso em OO, onde os objetos tem a capacidade de serem utilizados em objetos distintos, porém com implementações lógicas diferentes. Na primeira vista é difícil entender, mas quando se entende é um... boom mental. O polimorfismo te traz muita flexibilidade e abstração e é bem eficaz em diversos pontos de implementação. 

Depois de todos esses conceitos, percebemos o quão complexo a elaboração de um sistema é, porém se bem planejado e executado será de bom agrado ao seu cliente, porque no final de tudo a satisfação do cliente é o que importa.




Comentários