Modelos são essenciais em qualquer atividade de engenharia. O software, por ser um artefato invisível e conceitual, mas do que qualquer outro artefato, precisa ser construído com base em modelos.
Existem diversos tipos de modelos de software, cada um deles proporcionando visões e níveis de abstração distintos. Diagramas são a forma mais utilizada de modelagem na engenharia de software. Um protótipo também é um tipo de modelo de software que vem sendo utilizado para apoiar diversos métodos de desenvolvimento.
Modelos de software são construídos para uma visualização do sistema a ser construído, permitindo uma melhor compreensão e entendimento. Eles podem também ser utilizados para a especificação e para a documentação do software. O modelo quando utilizado para especificação possibilita uma descrição precisa do será desenvolvido pelos programadores. A documentação através de modelos deve refletir o que foi desenvolvido e será a base para as atividades de manutenção.
De acordo com Booch, Rumbaugh e Jacobsonm (1998), alguns princípios devem ser seguidos:
• A escolha de qual modelo construir tem uma profunda influência em como um problema é atacado e como uma solução é delineada.
• Todo modelo pode ser expresso em diferentes níveis de precisão.
• Os melhores modelos estão conectados à realidade.
• Nenhum modelo único é suficiente. Todo sistema não trivial é melhor abordado através de um conjunto pequeno de modelos proximamente independentes.
O uso de modelos em ambientes integrados de desenvolvimento de software vem sendo utilizado para auxiliar a construção de software. Algumas ferramentas permitem que código seja gerado a partir de modelos. Esta abordagem é conhecida como desenvolvimento dirigido por modelos e tem como base o uso de arquiteturas dirigidas por modelos que são construídas utilizando a UML (Linguagem de Modelagem Unificada).
Veja slides com conceitos e exemplos sobre modelos de software.
Linguagens de modelagem
Durante muitos anos, o maior problema para a utilização de modelos de software foi a falta de uma linguagem de modelagem comum. As diferentes notações e linguagens existentes foram desenvolvidas visando software com características especificas. Por exemplo, desenvolvedores de software de controle e tempo real utilizavam notações como Statecharts e Redes de Petri; desenvolvedores de sistemas de banco de dados utilizavam Diagramas Entidade-Relacionamento (DER); e desenvolvedores de sistemas de informação utilizavam Diagramas de Fluxos de Dados (DFD), como parte de metodologias estruturadas.
Como o surgimento do paradigma de programação orientada-a-objetos, o número de métodos com suas notações associadas aumentou bastante, vindo somar-se aos diversos já existentes. No final da década de 90, o OMG (Objetc Management Group) incentivou a criação de uma linguagem padrão para métodos orientados a objetos. A UML que unificou diferentes notações já existentes foi aprovada para ser um padrão da industria de software.
Veja slides com uma visão geral da UML.
Existem diversos tipos de modelos de software, cada um deles proporcionando visões e níveis de abstração distintos. Diagramas são a forma mais utilizada de modelagem na engenharia de software. Um protótipo também é um tipo de modelo de software que vem sendo utilizado para apoiar diversos métodos de desenvolvimento.
Modelos de software são construídos para uma visualização do sistema a ser construído, permitindo uma melhor compreensão e entendimento. Eles podem também ser utilizados para a especificação e para a documentação do software. O modelo quando utilizado para especificação possibilita uma descrição precisa do será desenvolvido pelos programadores. A documentação através de modelos deve refletir o que foi desenvolvido e será a base para as atividades de manutenção.
De acordo com Booch, Rumbaugh e Jacobsonm (1998), alguns princípios devem ser seguidos:
• A escolha de qual modelo construir tem uma profunda influência em como um problema é atacado e como uma solução é delineada.
• Todo modelo pode ser expresso em diferentes níveis de precisão.
• Os melhores modelos estão conectados à realidade.
• Nenhum modelo único é suficiente. Todo sistema não trivial é melhor abordado através de um conjunto pequeno de modelos proximamente independentes.
O uso de modelos em ambientes integrados de desenvolvimento de software vem sendo utilizado para auxiliar a construção de software. Algumas ferramentas permitem que código seja gerado a partir de modelos. Esta abordagem é conhecida como desenvolvimento dirigido por modelos e tem como base o uso de arquiteturas dirigidas por modelos que são construídas utilizando a UML (Linguagem de Modelagem Unificada).
Veja slides com conceitos e exemplos sobre modelos de software.
Linguagens de modelagem
Durante muitos anos, o maior problema para a utilização de modelos de software foi a falta de uma linguagem de modelagem comum. As diferentes notações e linguagens existentes foram desenvolvidas visando software com características especificas. Por exemplo, desenvolvedores de software de controle e tempo real utilizavam notações como Statecharts e Redes de Petri; desenvolvedores de sistemas de banco de dados utilizavam Diagramas Entidade-Relacionamento (DER); e desenvolvedores de sistemas de informação utilizavam Diagramas de Fluxos de Dados (DFD), como parte de metodologias estruturadas.
Como o surgimento do paradigma de programação orientada-a-objetos, o número de métodos com suas notações associadas aumentou bastante, vindo somar-se aos diversos já existentes. No final da década de 90, o OMG (Objetc Management Group) incentivou a criação de uma linguagem padrão para métodos orientados a objetos. A UML que unificou diferentes notações já existentes foi aprovada para ser um padrão da industria de software.
Veja slides com uma visão geral da UML.
Comentários