ED, The CP/M-86 Editor
5.5 Combining ED Commands
Nos últimos anos da indústria de tecnologias de informação houve um aumento na procura de sistemas de software cada vez mais complexos, os quais possuem um número cada vez maior de detalhe e complexidade. Tal aumento de complexidade, combinado com o uso de modelos de negócio também mais complexos levou a uma acrescida necessidade de melhoramentos nos processos de design e especificação de sistemas de informação. A utilização de uma notação unificada, não ambígua e independentemente de uma implementação específica é, cada vez mais, um componente essencial para os analistas de negócio, developers, gestores de projecto e demais stakeholders. Possibilita assim a fácil criação, compreensão, discussão, validação e dos sistemas de informação e software, potenciando a participação de todos os
stakeholders nos processos de decisão em todo o ciclo de desenvolvimento, sem necessidade de
conhecimentos profundos e específicos na área de software. [34]
Na fase de análise do SiSCE, foi fundamental a necessidade de estabelecimento claro das linguagens de modelação a utilizar, uma vez que toda a representação do sistema de informação se iria basear em tais especificações e notações formais. Como tal foram consideradas algumas linguagens de modelação/especificação, das quais se destacam as seguintes:
x Business Process Modeling Language
Seguidamente será apresentada uma descrição e do âmbito de cada uma:
3.4.1 Unified Modeling Language
A linguagem Unified Modeling Language (abreviado para UML), ou linguagem unificada de modelação é uma a linguagem de modelação que pode ser utilizada para especificar, visualizar, modelar, construir e documentar artefactos de um sistema de software em desenvolvimento, manutenção ou reengenharia. Possibilita uma forma gráfica standardizada de especificação dos componentes de um sistema, representando elementos tais como actores, processos de negócio, componentes lógicos, componentes físicos, estados ou esquemas de dados. O UML sintetiza as notações do método de Booch, da Object-modeling technique e da
Object-oriented software engineering através da sua sintetização numa única linguagem de
modelação comum, ambicionando ser o standard universal na área das linguagens de modelação. O UML é uma linguagem de notação para descrever sistemas de software e não uma metodologia de desenvolvimento em si. É no entanto um importante complemento para qualquer processo de desenvolvimento, providenciando um modelo descritivo do sistema aos gestores de projecto, analistas de negócio, arquitectos de sistema e developers, desde as fases de levantamento de requisitos, análise de componentes, desenvolvimento, testes até ao deployment. O modelo pode assim ser o foco e uma peça central na discussão sobre a validade, planeamento e complexidade dos requisitos, prototipagem, melhoramentos futuros, análise de riscos e mesmo a base de acordos contratuais com o cliente. [26]
O UML foi originalmente introduzida no ano de 1997 (na sua versão inicial 1.0) e é actualmente o ³standard de facto´ no campo de linguagens de modelação de software. É a linguagem de modelação com maior utilização a nível da indústria de software, encontrando-se em permanente evolução sob a tutela directa do OMG e em estreita parceria com os seus parceiros tecnológicos. O UML encontra-se à data de escrita deste documento na revisão 2.2, tendo sofrido revisões menores desde o lançamento da versão 2.0 no ano de 2005, e vindo a ser progressivamente vocacionada para o suporte ao conceito de MDE.
A modelação UML combina técnicas de modelação de dados (diagramas de relacionamento de entidades), modelação de processos de negócio, modelação de objectos e modelação de componentes. Pode ser utilizado com todos os processos, ao longo do ciclo de desenvolvimento do software e aplicado a diferentes implementações tecnológicas, sendo particularmente adequada ao desenvolvimento de software orientado a objectos, mas de nenhum modo limitado a tal. A nível de terminologia UML, é importante efectuar a distinção entre o modelo UML e o conjunto de diagramas de um sistema. Um diagrama é uma representação gráfica parcial de um modelo de sistema. Já o modelo contém também uma base semântica ± documentação sobre propriedades de elementos e relações entre entidades do diagrama. Os diagramas UML representam assim duas vistas diferentes de um modelo de sistema: [35] x Vista estrutural, a qual mostra a estrutura estática do sistema utilizando objectos, atributos,
operações e relacionamentos. Inclui diagramas de classe, estrutura, objectos e componentes. x Vista comportamental, a qual mostra o comportamento dinâmico do sistema através da colaboração entre objectos, mudanças no estado interno e comunicações de dados. Inclui diagramas de sequência, actividade, estado e casos de utilização.
Segundo as vistas estrutural e comportamental apresentadas e considerando a versão 2.2 do UML, podemos considerar os tipos de diagramas que constam na Figura 3.6. [36]
Figura 3.5: Historial das principais evoluções da notação UML (1991 até 2009)
3.4.2 Business Process Modeling Notation
Business Process Modeling Notation (abreviado para BPMN), ou notação de modelação
de processos de negócio é uma representação gráfica para especificação de processos de negócio, desenvolvida originalmente pelo Business Process Management Initiative e actualmente sobre a tutela do OMG. A BPMN é um standard de modelação de processos de negócio que providencia notações gráficas para representar processos de negócio num tipo de diagrama específico. Tem por base técnicas de fluxogramas similares aos diagramas de actividade do modelo UML. Apesar de tal similaridade, a BPMN difere de um diagrama de fluxo de dados UML, exibindo o fluxo de dados (mensagens) e a associando artefactos de dados a actividades. Visa apenas suportar os conceitos de modelação inerentes à lógica de processos de negócio, não contemplando na sua representação elementos como organizações estruturais, separações funcionais ou modelos de dados. O objectivo da BPMN é unicamente o de suportar as actividades de modelação de processos de negócio, possibilitando a representação de fluxos e semânticas de processo complexos, ao mesmo tempo que providencia uma notação simples, facilmente compreensível e intuitiva para todos os stakeholders. [18] [37] [38]
À data de elaboração desta secção da dissertação, a versão mais recente da notação BPMN disponível é a revisão 1.2. A nível de desenvolvimentos previstos, a notação BPMN encontra-se num processo de revisão pelo Object Management Group com vista à progressão para a versão de revisão 2.0, a qual espera-se introduzir inúmeras funcionalidades novas e remodelação a nível de notação e meta-modelo. A BPMN ambiciona assim ser o standard de facto a nível de linguagem de modelação para processos de negócio, e talvez até mesmo parte integrante do próprio standard UML. [38] [39]
3.4.3 Escolha de linguagem de modelação
A nível de utilização das linguagens de modelação, tanto a notação UML como a BPMN foram utilizadas no processo de análise e levantamento de requisitos do SiSCE. A escolha de
UML será porventura óbvia a um especialista da área de engenharia de software, devido à sua
universalidade, ubiquidade e aceitação como a linguagem de modelação de facto na área da engenharia de requisitos. Já a escolha de BPMN foi efectuada devido à necessidade de uma linguagem de modelação específica para os processos de negócio, a qual não é providenciada totalmente pela UML.
A BPMN não possui o status quo do UML na área específica em que se enquadra ± a modelação de processos de negócio. Apesar de se ter verificado nos últimos anos uma consolidação no apoio da indústria ao BPMN, existe ainda uma grande variedade de standards concorrentes (especificados na Tabela B.1 em anexo), assim como uma miríade de linguagens de modelação proprietárias e específicas a diversas suites BPM disponibilizadas por fornecedores independentes. [40] No entanto, e mesmo considerando tal facto, a BPMN é hoje indiscutivelmente a linguagem mais comum e com maior nível de utilização para especificação e modelação de processos de negócios a nível empresarial, tendo-se tornado popular entre analistas de negócio e fornecedores de soluções. Adicionalmente o facto sua tutela ter sido passada no ano de 2005 para o OMG e se perspectivar claramente a sua evolução futura enquanto standard foi também um factor relevante na sua escolha, sendo um factor de acrescida credibilidade. [38] [41]
Para as tarefas de análise a efectuar, ambas as linguagens UML e BPMN serão utilizadas, complementando-se mutuamente. A utilização de UML será aplicada na modelação da generalidade dos modelos do sistema, sendo a BPMN utilizado especificamente aquando necessária a modelação dos processos de negócio inerentes ao SiSCE.