• Nenhum resultado encontrado

3.1 Definição da arquitetura de processo

3.1.3 A estrutura da arquitetura de processo

61

processo. As visões do RM-ODP (ISO/IEC, 1996) e o uso de analogia, que se baseia em determinar aspectos característicos do processo de desenvolvimento e da arquitetura de software e definir aspectos semelhantes para a arquitetura de processo, auxiliaram a definir a estrutura da arquitetura de processo. A seguir as bases dessa analogia e do uso do RM-ODP:

a) Componentes, relacionamentos entre componentes, modelos e visões são comumente encontrados em definições de arquitetura de software (ALBIN, 2003, IEEE, 2000, BASS; CLEMENTS; KAZMAN, 2003). Esses conceitos são utilizados na definição da arquitetura de processo proposta.

b) No desenvolvimento de software orientado a objetos, o objeto de software é a entidade básica do software. Objetos são agrupados em componentes e estes são organizados de maneira a compor a arquitetura do software e o próprio produto de software desenvolvido. De maneira análoga, a entidade básica da arquitetura de processo é o objeto processo. A partir do objeto processo são obtidos os elementos notacionais para compor os modelos que representam as visões da arquitetura de processo.

c) As visões do RM-ODP auxiliaram a determinar as visões da arquitetura de processo e da fábrica de software e a definir o processo como objeto processo. Na visão empresa do RM-ODP, os processos de negócio são definidos (GALASINI, 2004). Essa visão, quando representada por meio da orientação a objetos, permite definir o modelo da empresa como composto por objetos empresa (BECERRA, 1998). Desta maneira, utilizando a orientação a objetos para representar os processos da empresa são definidos os objetos processo.

Com base nessas explanações foi definida a Figura 9 que representa a forma de obtenção da arquitetura de processo por analogia com a arquitetura de software. A Figura 10 contém a estrutura da arquitetura de processo por semelhança com a arquitetura de software.

Figura 9 - Analogia da arquitetura de processo com a arquitetura de software

62

da definição de uma arquitetura de software orientado a objetos e em estabelecer correspondência com aspectos semelhantes e utilizados para definir a arquitetura de processo. As setas horizontais que estão na Figura 9 indicam dependência de obtenção. Por exemplo, a arquitetura de software é obtida a partir de um processo de desenvolvimento de software. As setas verticais representam equivalência. Por exemplo, os conceitos de processo e de objeto são equivalentes.

Na parte superior da Figura 9 está representada, de maneira esquemática, a obtenção da arquitetura de software orientado a objeto. De acordo com essa representação, a partir do objeto, como conceito geral, são definidos os objetos de software. Desses objetos por meio de um processo de desenvolvimento de software são definidos os componentes que representam a arquitetura do software e que compõem o software como produto. Uma arquitetura de software contém visões representadas por modelos compostos por elementos notacionais.

Na parte inferior da Figura 9 está representada a obtenção da arquitetura de processo. De maneira análoga, a partir do processo como conceito e utilizando conceitos da orientação a objetos é definido o objeto processo. Por meio de um processo ou um método para definir processo é definida a arquitetura de processo baseada na orientação a objetos. Essa arquitetura contém visões representadas por modelos que são compostos por elementos notacionais obtidos a partir do objeto processo.

Em resumo, a analogia representada na Figura 9 apresenta a seqüência geral para definir a arquitetura de processo a partir de processo como conceito. Da mesma forma que ocorre com a arquitetura de software a partir de objeto. A analogia com a arquitetura de software também é utilizada neste trabalho para definir a estrutura da arquitetura de processo.

Para definir a estrutura da arquitetura de processo, conceitos de arquitetura de software foram analisados com o objetivo de identificar as suas partes integrantes e fundamentais e por analogia definir a estrutura da arquitetura de processo. Optou-se por essa maneira pela disponibilidade de publicações sobre arquitetura de software e pela mesma ser considerada uma tecnologia madura (SHAW; CLEMENTS, 2006) por possuir conceitos bem estruturados.

Os conceitos que definem e estruturam uma arquitetura de software são: visão, modelo, elemento e relacionamentos entre elementos (IEEE, 2000, BASS; CLEMENTS; KAZMAN, 2003). Esses conceitos são utilizados neste trabalho para definir a organização estrutural da arquitetura de processo.

Na Figura 10 está um esquema do uso de conceitos provenientes da arquitetura de software para organizar a estrutura da arquitetura de processo. De acordo com essa figura uma arquitetura de processo possui visões, as visões são representadas por modelos que são

63

compostos por elementos relacionados entre si. Esses elementos são os elementos notacionais.

processos considerados

e o seu ambiente abstrações representação

Domínio e contexto Arquitetura de processo definida de acordo com Ponto de vista Visão. possui representada de acordo com

Linguagem para modelagem

Modelo de processo representada por defne sintaxe e semântica para Elemento

Figura 10 - Conceitos fundamentais da arquitetura de processo

Pelo exposto na Figura 10, a definição de uma arquitetura de processo pode ser vista sob três enfoques distintos e relacionados: a) os processos considerados e o seu ambiente representam o domínio dos processos de acordo com um contexto; b) as abstrações baseadas em requisitos e características dos processos e interesses dos seus participantes provêm a concepção e a interpretação dos processos nesse domínio; e c) a representação dessas abstrações por meio de conceitos notacionais e estruturais e linguagens de modelagem.

Pela Figura 10, domínio designa a abrangência dos processos sendo representados ou considerados pela arquitetura de processo. Contexto se refere à situação em que conceitos relacionados entre si caracterizam os processos, considerando o comportamento desses processos e políticas que regulam o comportamento e os relacionamentos entre processos. Uma visão representa uma abstração do domínio de acordo com requisitos do processo e objetivos e interesses dos participantes. Um ponto de vista determina a definição de uma visão. Um modelo é uma representação de uma abstração e é constituído por elementos relacionados entre si. Elementos são as unidades básicas para a construção de um modelo.

Uma linguagem de modelagem fornece a sintaxe, a semântica e as regras para a composição de modelos. A sintaxe se refere aos tipos de construtores dos modelos como: conceitos, símbolos e elementos. A semântica volta-se para o significado dos construtores sintáticos e as maneiras de estruturar as representações, como a organização dos elementos em um modelo. As regras definem as formas de utilizar a sintaxe de acordo com a semântica.

O esquema da Figura 10 contém os principais conceitos estruturais de uma arquitetura de processo. Para determinar esses conceitos, inicialmente foram estabelecidos os aspectos básicos e fundamentais da arquitetura de software. Na seqüência, por analogia, foram

64

identificadas semelhanças entre conceitos que representam esses aspectos e conceitos equivalentes para processo no contexto de desenvolvimento de software. Por fim, esses conceitos foram organizados de maneira a definir uma arquitetura de processo à semelhança de uma arquitetura de software orientado a objetos.