Trabalhando com Interaction Flow Modeling Language (IFML)
Este artigo apresenta a IFML. Será visto como ela pode apoiar a modelagem da camada de interação com o usuário de um projeto de software.
Autores: Ismael Costa Ramos e Roberto Miranda Gomes
Desde a chamada crise do software identificada nos anos 70 e a consequente proposta de uma engenharia de software que agregasse processos, metodologias e tecnologias como ocorre com as engenharias de um modo geral, temos observado o surgimento de importantes propostas com objetivo de reduzir a complexidade e os custos no processo de desenvolvimento das soluções de software. Em 1989, onze grandes empresas de TI, entre elas a IBM, a SUN e a Apple, criaram o Object Management Group (OMG) exatamente com esse objetivo, proporcionando o surgimento de diversos e importantes padrões de metodologias e linguagens adotados após submissão aos seus critérios de aprovação. Dentre os padrões mais conhecidos internacionalmente podemos destacar: Common Object Request Broker Architecture (CORBA) para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogênicos; Data Distribution Service (DDS) para sistemas de tempo real; e Unified Modeling Language (UML) para representação de sistemas (modelagem) de forma padronizada.
Em 2001, a OMG adotou o MDA – Model Driven Architecture – como uma forma da utilização de modelos no desenvolvimento de software visando incrementar a portabilidade, a interoperabilidade e a reusabilidade por meio da separação de interesses (concepts). MDA pode ser entendida como um framework arquitetural de desenvolvimento de software compreendendo três modelos fundamentais no processo de geração do código da aplicação. Os modelos, em ordem decrescente de abstração são:
1. Computation Independent Model (CIM);
2. Plataform Independent Model (PIM);
3. Plataform-Specific Model (PSM).
O framework, com seus três modelos, busca cobrir de maneira simples e objetiva o espectro de abstração que vai desde a modelagem do domínio do problema, até a modelagem do sistema especificamente voltado para implementação em uma plataforma particular."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast