Q QOC Edito OR
Q QOC Edito OR
E DO SUL
INS
STITUTO D
DE INFORRMÁTICA
CURSO
O DE CIÊNC
CIA DA CO
OMPUTAÇÃÃO
CLE
EBER ANTO
ONIO GUG
GEL MACHADO
Q
QOC EDITO
OR
Marcelo Soares P
Pimenta
Orienttador
2
“A questão sobre se os computadores sabem ou não pensar é equivalente à questão
sobre se os submarinos sabem ou não nadar.”
E. W. Dijkstra
“Alan Turing criou a computação, Bill Gates colocou um computador em cada casa, mas
foi Mark Zuckerberg com sua rede social de massa quem conseguiu dar um real sentido
para tudo isso.”
Cleber Antonio Gugel Machado
À minha esposa Josoela, por tanto apoio e por dividir sua vida comigo.
Aos meus Pais pela educação e pelo esforço para me dar essa oportunidade.
Ao meu orientador, Prof. Marcelo Soares Pimenta pelo conhecimento transmitido, pela
atenção, confiança, dedicação e amizade.
Aos Professores de quem fui aluno pelo bom ensino que recebi.
Aos colegas pela parceira nos estudos e por terem me escolhido representante
discente e presidente do diretório acadêmico.
Ao povo brasileiro que com seus impostos financia a Universidade Pública gratuita.
Aos físicos e engenheiros por terem criado as tecnologias que usam a computação.
4
RESUMO
Espera‐se que com esta ferramenta e com o suporte que ela oferece, mais
desenvolvedores adotem a ideia de modelar DR.
5
ABSTRACT
The QOC Editor is a QOC diagram generator, which allows users to manage
knowledge related to the process of decision making in software projects. Through
this tool, we can represent, in a simple and intuitive, problems and alternatives
considered before each decision, reduce the loss of intellectual capital when people
leave the project, provide the other projects the reuse of best practices and prevent
the recurrence of problems have previously experienced, among other advantages.
It is expected that this tool and support it provides more developers adopt
the idea of modeling DR.
6
SUMÁRIO
LISTA DE ABREVIAÇÕES...................................................................................................... 09
LISTA DE FIGURAS................................................................................................................ 10
LISTA DE TABELAS.................................................................................................................11
RESUMO ................................................................................................................................... 12
8
LISTA DE ABREVIAÇÕES
9
LISTA DE FIGURAS
10
LISTA DE TABELAS
11
1.0 INTRODUÇÃO
1.1 Contextualização
13
● Ferramentas: proporcionam apoio automatizado ou semi‐automatizado aos
métodos (ferramentas CASE combinam software, hardware e um banco de
dados).
1.2 Objetivo
1.3 Justificativa
O Design Rationale é uma documentação explícita das razões por trás das
decisões feitas ao projetar um sistema através de cada um dos seus artefatos. Como
definido por WR Kunz e Rittel Horst, em 1970: “DR visa proporcionar a argumentação
15
baseada em estrutura para o processo político, colaborativa de resolução de
problemas complexos” [KUNZ,1970].
1.4 Estrutura
Este texto está estruturado como segue. Após esta introdução (cap. 1),
apresentaremos inicialmente no cap. 2 a definição e os conceitos básicos de Design
Rationale. A seguir, descreveremos os modelos de DR mais relevantes e faremos uma
comparação entre eles. Ainda no cap. 2 apresentaremos uma ferramenta de edição
gráfica para o modelo QOC, a única que encontramos descrita na literatura.
16
2.0 DESIGN RATIONALE
18
sejam inseridos no sistema no formato especificado de entrada do sistema [CONKLIN,
1995].
19
2.2.1 Baseada em Argumentação
20
Utiliza um modelo para explicar o projeto e assume que estas explicações
sobre os dispositivos são suficientes para todos os esclarecimentos necessários. É
mais poderoso e específico ao domínio que o baseado em argumentação e histórico. É
baseado em muitas das técnicas e hipóteses dos sistemas especialistas baseados em
modelo de dispositivo, principalmente os de diagnóstico [GARCIA, 1993].
Esta abordagem foi mais bem sucedida para diagnóstico do que em projetos
propriamente ditos. Na atividade de diagnóstico, o modelo para o sistema composto
de dispositivos é considerado como completo. Por outro lado, na maioria dos projetos,
algumas partes do sistema não são especificadas [GARCIA, 1993].
Uma vanntagem de esta abor dagem é de ser sim mples e iintuitiva. A capturaa
começa a partir dad discusssão de um m tema, aosa quais são apreesentadas posições..
Posições recebem argument
a ós ou contrras. Finalizzando, um
os de doiss tipos, pró ma posiçãoo
pode derrivar novos temas, que
q iniciam m outros raamos com m a mesmaa estrutura a. A Figuraa
a seguir m
mostra um
m diagrama a IBIS sim
mples:
F
Figura 2.1 ‐ Estruturra do modeelo IBIS [K
KUNZ, 19700]
Uma disscussão emm torno d do IBIS coomeça com m o temaa principall, que é a
principall questão a ser respo
ondida. Poosições são
o obtidas para
p esta qquestão ju
untamentee
com argu umentos a favor e contra ass posições. Temas secundárrios, terciá ários, etc.,,
podem sser gerad dos e trattados da mesma maneira, até que uma solu ução sejaa
encontraada.
23
3
O modelo IBIS é considerado complexo o suficiente para ser capaz de lidar
com diversos tipos de problemas, e simples o suficiente para ser prático no cenário de
captura. A simplicidade do IBIS é percebida mesmo para aqueles que estão na fase de
aprendizagem. A maioria dos comentários em uma discussão analítica são perguntas e
respostas, portanto, é possível mapear grande parte dessas interações utilizando
apenas estes dois elementos desta abordagem.
Entretanto, por ser um modelo simples, com apenas três tipos de nós,
muitas informações acabam sendo representadas em um único nó [MONK, 1995]. O nó
ARGUMENTO, por exemplo, armazena também requisitos, restrições e objetivos.
Além disso, por não ter uma representação hierárquica, gera uma rede
complexa quando armazena muitos nós [FRANCISCO, 2004]. Consequentemente, o
desempenho da busca de informações fica comprometido. O modelo IBIS não pode
fazer uso de uma exploração estruturada dos assuntos. O controle fica muito mais nas
mãos do projetista e demais pessoas envolvidas que devem investigar maneiras
factíveis de resolver cada problema.
Por um lado, IBIS é considerado intuitivo. Por outro lado, é restrito pelo
contexto local e pela falta de objetivos explícitos e de resultados da argumentação
[NGUYEN, 1998].
Apresentado em 1988 por Potts & Bruns, esse modelo tem o propósito de
representar o processo de deliberações que conduz a um dado design e os designs
intermediários que resultam neste processo. No modelo Potts and Bruns, a história de
design é formada pela rede de designs intermediários representados pelos artefatos
(especificações ou documentos de design), que são derivados uns dos outros através
dos nós de deliberação baseados em IBIS, representados como temas, alternativas e
justificativas. Os artefatos produzidos dependem do método de design de software que
está sendo apoiado.
24
A grandee diferença entre o novo moddelo e o modelo
m IBISS é a caraccterização
o
da associiação dos temas discutidos aoos artefato
os relacionnados. Em outras pa alavras, oss
elemento os desta ab bordagem
m não são eexclusivam
mente de raciocínios
r s, caracterrizando‐see
como um ma abordaagem híbriida. Cria‐sse assim uma
u histórria cognittiva com associação
a o
entre os elemento os do artefato relaccionados. Outra
O dife
erença parra o IBIS é que, ao o
invés dee ter elem mentos de e argumen ntação paara repressentar prrós e contras, estaa
abordageem representa a argumenttação em m um úniico elemeento, cha amado dee
“Justificativa”. Estte elemennto agregaa o raciocínio que e levou a sugestão o de umaa
determin nada soluçção.
Figura 2.2
2 ‐ Estru
utura do m
modelo Pottts and Bru
uns [POTT
TS, 1998]
A ideia principal
p do
d modelo Potts and d Bruns é a integraçãão de entidades doss
métodos de design existenttes com a deliberaação de de esign baseeada em IBIS. Estaa
integraçãão é a diferença
d chave enntre este modelo e os outtros esqu uemas dee
represenntação para Design Rationale.
R Nela, as entidades
e do model o genérico o de Pottss
& Brunss são refinadas para acomoodar o vo ocabulário de um método de d design n
particulaar para derrivar novoos artefato s. Por exemmplo, uma
a nova enttidade, esp
pecífica dee
um méto odo de design, é inco orporada aao modelo o IBIS dand
do origem a um nov vo tema naa
deliberaçção do deesign. Asssim, o moodelo Pottts and Bruns B podde ser inttegrado a
diferentees métodoss de design n.
25
5
incorporaada ao mo odelo IBIS dando or igem a novos temass na delibeeração do design do o
formatad nsformaçõões dos artefatos atrravés dos nós de de
dor de textto. As tran eliberaçãoo
foram representad das usando o o sistem
ma hipertexxto genera
alizado PlaaneText (G
Gullichsenn
et al., 198
86), cuja estrutura
e era
e verificaada por reegras Prolog que “coonheciam”” a sintaxee
do métod do de Liskoov & Guttaag.
A DRL (Decision
( Representtation Lan nguage) fo
oi inicialm
mente desenvolvidaa
como umma linguaggem para representa
r ar o proceesso de tomada de ddecisão, sendo que,,
posteriorrmente, foi estendid
da para a reepresentaação de Design Ratioonale [LEE, 1991].
Figura 2.3
3 ‐ Estruturra do mod
delo DRL [LEE, 19911]
26
6
A representação deve suportar um certo número de tarefas de projeto, tais
como responder questões sobre o progresso do projeto, as alternativas geradas, as
avaliações que levaram à escolha de determinadas alternativas e a possível
transferência de conhecimento a projetos futuros ou outras pessoas. DRL foi
desenvolvido para suportar todas estas questões. Sua ênfase é gerenciar os elementos
qualitativos das tomadas de decisão e do gerenciamento de suas dependências.
Portanto, é mais um sistema de gerenciamento de Design Rationale [LEE, 1991].
A DRL não inclui deliberações sobre como gerar alternativas de projeto, pois
sua ênfase é no gerenciamento de elementos qualitativos da tomada de decisão e
gerenciamento de dependências, sendo, desta forma, mais do que um sistema de
representação da tomada de decisão [STUMPF, 1998].
Figu
ura 2.4 ‐ Estrutura d
da notação
o QOC [MA
ACLEAN, 19991]
28
8
Segundo [HU, 2000], QOC é simples de aprender e utilizar e há um número
crescente de projetos de pesquisa no assunto. Outra vantagem destacada pelos
autores é a relativa facilidade de criar um QOC para a engenharia reversa de parte do
sistema e preservá‐la para uso futuro.
29
A Tabela 2.2 apresenta a nomenclatura utilizada pelos autores de cada
modelo para nomear os Elementos de Representação e Ligação de cada modelo
estudado.
30
A Tabela 2.3 apresenta a nomenclatura de cada modelo para nomear os
elementos relativos ao Espaço do problema inicial, Espaço para subproblemas, Espaço
para possíveis soluções, Espaço para argumentos e Espaço da decisão.
31
da expressividade e funcionalidade. Lee e Lai (1996) argumentam que o DRL é mais
expressivo que os outros modelos de argumentação, porque atende a uma faixa mais
ampla de questões que podem surgir em variadas fases do ciclo de vida de um
artefato. Por outro lado, para contemplar estas características, houve um aumento da
complexidade [LOURIDAS, 2000].
Numero de 7 4 do Modelo + 22 5
Elementos Artefatos de
Designe
Derivados
Precisão da
Mais precisa Mais precisa Mais precisa Menos precisa
Modelagem
Complexidade
Mais complexa Mais complexa Mais complexa Mais Simples
da Modelagem
32
Tabela 2.5 ‐ IBIS, PB, DRL e QOC: Vantagens e limitações.
IBIS PB DRL QOC
Por outro lado, QOC possui um número maior de tipos de Nodos e não
modela as informações tão precisamente quanto os outros modelos estudados, mas é
uma abordagem mais simples para a modelagem, mais fácil de ser entendido e por
essa razão foi o modelo escolhido para este trabalho.
33
Porém, não há nenhuma ferramenta adequada para Design Rationale que
faça uso eficaz da notação para suportar as atividades exigentes, tais como
armazenamento e recuperação da informação e sua reutilização [LACAZE, 2010].
34
A ferram
menta DR REAM perrmite para a ediçã ão, análisee e explooração dee
diagramaas do mod delo QOC usando a notação TEAM.
T DR
REAM apoiia o geren nciamento
o
das equipes de trabalho e seções, trratando ass decisõess de acorddo com as pessoass
responsááveis por elas
e e, tam
mbém, de acordo co
om o mom mento no qqual essass decisõess
foram toomadas. A exploração de moodelos perrmite a re eutilizaçãoo de elem
mentos em
m
outros prrojetos.
menta tam
A ferram mbém supoorta a gesstão do tra abalho em m equipe e sessões,,
apoiandoo assim a rastreabili
r idade das decisões de
d acordo com as peessoas que e as fazem
m
e de aco
ordo com o momen nto em qu ue essas decisões foram tom madas. Drream estáá
disponíveel e pode ser
s baixaddo na seguiinte págin
na web: htttp://liihs.iirit.fr/drea
am.
35
5
3. DEFININDO O QOC – EDITOR
36
3.1.1 Requisitos Funcionais
37
5. Selecionar Nodos Funcionalidade básica do modelo de interação de
Manipulação Direta
16. Exportar um Diagrama Permitir uso dos Diagramas por outros programas
para imagem
38
Desenho
24. Copiar, Recortar e Colar Permitir Copiar, Recortar e Colar Nodos ou Arcos
Nodos ou Arcos
33. Exporta Diagrama para Permitir uso dos Diagramas por outros programas
arquivo de imagem
34. Exporta Diagrama para Permitir uso dos Diagramas por outros programas
arquivo XML
35. Exporta Diagrama para Permitir uso dos Diagramas por outros programas
arquivo de HTML
39
36. Importa Diagrama de Importa Diagrama de arquivo XML
arquivo XML
40
3.2 Arquitetura do Software
42
3.3.2 Arquitetura Desktop
F
Figura ura em Caamadas do QOC Editoor
3.1 ‐ Arquitetu
ADO.NET T é bibliotteca do .N
NET de maanipulação o de dadoos em com mponentess
discretoss que pod dem ser utilizadas
u separadaamente ou u em con njunto. Ela fornecee
códigos cconsistentte de acessso aos daddos básicos da biblio
oteca Systeem.Data, bem
b comoo
a fontes de dados expostas através d de XML, Microsoft
M SQL
S Serveer, OLE DBB e ODBCC
[FRAMEW WORK, 2013].
46
6
Para facilitar a interoperabilidade entre as diferentes linguagens da
plataforma .NET , os tipos são compatíveis com CLS e, portanto, podem ser usados por
qualquer linguagem de programação cujo compilador esteja de acordo com a CLS
(Common Language Specification) [FRAMEWORK, 2013].
3.5.3 Linguagem C#
47
● Proteção dos dados através três diretivas de visibilidade: public, private e
protected.
● Polimorfismo: Uma mesma função (ou método) pode ser aplicada a objetos
diferentes e manter a sua funcionalidade. C# implementa os quatro tipos de
Polimorfismo de dados estudados:
● Sobrecarga: C# permite que um mesmo nome denote diferentes funções, de
acordo com o contexto. Constitui apenas uma abreviação sintática (um pré‐
processamento pode atribuir nomes diferentes as diferentes funções).
● Linguagem Fortemente Tipada, é necessário sempre especificar o tipo para
declarar uma variável, o que permite que a linguagem implemente com
segurança os três tipos de conversão de dados estudados.
● Coersão: é a conversão implícita feita pela própria linguagem, por promoção
(upcast) ou alargamento (tipos primitivos menores para maiores), por
estreitamento (downcast).
● Instrução Foreach, que implementa um loop de enumeração nas classes do C#.
Cada item não nulo de uma coleção é considerado um objeto dentro do loop do
Foreach, permitindo buscar objetos de uma classe contidos em um objeto
qualquer.
● Objetos não são liberados explicitamente, mas através de um processo de coleta
de lixo (garbage collector) quando não há referências aos mesmos, prevenindo
assim referências inválidas.
● Herança Simples, ou seja, em C# cada classe só pode herdar apenas outra classe
e não mais do que uma. No entanto, é possível simular herança múltipla
utilizando interfaces. Assim, através da herança, reduzimos o código através da
sua reutilização.
● Coleções e a genéricos (generics).
● Propriedades estão disponíveis, as quais permitem que métodos sejam
chamados com a mesma sintaxe de acesso a membros de dados.
● Computação Paralela: Parallel Extensions, Threads, Semáforos e Mensagens.
3.5.4 Visual C#
50
A Figura 3.2 mostra o Protóttipo da Int erface da Aplicação
A :
3.7 Proje
eto do Dia
agrama de
e Classes
Elaborammos um modelo
m báásico de Diagrama ded Classess para um m primeiro
o
protótipo
o funcionaal. Na ling
guagem C# #, as classses modellam artefaatos do do
omínio do
o
problemaa. As classes contém métodoos e atrib butos com diretivass de acessso: public,,
private e protected. Os métodos
m qque impleementam as operaçções. Os Atributoss
modelamm aspectoss dos objjetos mod delados. Os
O relacionamentoss entre classes são o
mapeado os diretammente do projeto p para implementaçã ão. Métoddos das classes
c dee
projeto são diretam
mente map peados parra implemmentação.
51
Como deefinido na a seção 3..2.1, usareemos um Modelo dde 3 Cama adas, com
m
Camada de Apressentação, Camada d de Negócio e Cam mada de D Dados distintas. Ass
principaiis associaçções estão relacionaadas ao uso dos Pattterns, com
mo detalharemos naa
seção 3.9
9.
3.7.1 Cla
asses da Camada de
e Apresen
ntação
3.7.2 Cla
asses da Camada de
e Negócio
o
Figura
a 3.4 ‐ Classses da Cam
mada de Negócio
N
3.7.3 Cla
asses da Camada de
e Dados
3.8 Proje
eto do QO
OC – Editorr com basse em Dessign Patte
erns
54
4
3.8.1 Pad
drão Com
mmand
Os comp
ponentes dod padrão:: Client, Reeceiver, Co
oncreteCoommand, Command,
C ,
Invoker fformam uttilizados conforme a definiçãoo de [GAMMA, 1994]]
Figura 3.6
6 ‐ Estrutu
ura Abstra ta do Padrrão Comm
mand[GAM MA, 1994]]
3.8.1.1 U
Utilização do Padrã
ão Comma
and no QO
OC Editor
Figura 3.8
8 ‐ Estrutura Abstratta do Padrrão Compo
osite [GAM
MMA, 1994
4]
3.8.2.1 U
Utilização do Padrã
ão Compo site no QO
OC Editorr
Todos os
o método os que criiam e alteram as classes quue repressentam oss
elemento
os gráficoos do mo odelo QOOC foram impleme entados aatravés doo Padrão
o
Compositte, como mostra
m o diagrama
d d
de classes abaixo.
a
58
Os compponentes do
d padrão Singleton
n foram utiilizados coonforme a definição
o
de [GAMM
MA, 1994]].
Figura 3.1
10 ‐ Estrutura Abstraata do Pad
drão Single
eton [GAM
MMA, 1994
4]
3.8.3.1 U
Utilização do Padrã
ão Singletton no QOC Editor
O Padrãoo Singleton
n foi utilizzado na ap
plicação QO
OC para im
mplementa ar a classee
que reprresenta a Questão Inicial
I TIn nicio, de forma
f a assegurar que a classe tenhaa
somente uma instância e fo ornecer um m ponto global
g de acesso
a a eela. A figu
ura abaixoo
apresentta a classe TInicio qu
ue implem menta o paadrão Singlleton.
Tab
bela 3.5 ‐ Utilização
U d
do Padrão Singleton
n no QOC E
Editor
COMPONENTE CLASSE FUNÇÃO
Singleton T
TInicio ● define u
uma operração Instance quee permite
e aos
clientes terem acesso a sua ún nica instâ
ância.
Instancee é uma claasse de op
peração;
● pode sser respo onsável por
p criar sua própria
instânciia única.
59
9
3.8.3.2 F
Funcionam
mento do Padrão Siingleton no
n QOC Ed
ditor
3.8.4 Pad
drão State
e
Figura 3.12
3 ‐ Estrutura Absstrata do Padrão
P Statte [GAMM
MA, 1994]
3.8.4.1 U
Utilização do Padrã
ão State no
o QOC Editor
O padrão
o State foii utilizadoo na aplicaação QOC para
p impleementar as
a funçõess
MouseDo
own, MousseLeave, MouseMov
M ve e MouseeUp:
60
0
A Tabela abaixo deescreve com
mo o padrrão State fo
oi utilizado na aplicaação QOC::
Context TControlle ● de
efine a intterface de interesse dos clientes.
●MMantém uma u instância dde uma subclassse
C oncreteStaate que de
efine o estaado corren
nte.
State TComposite ● de
efine um
ma interrface paara enca
apsular o
coomportammento asssociado ccom um particulaar
esstado do Context.
C
ConcreteeState TGrafico ● ca
ada subcllasse implementa uum comp
portamentto
asssociado com
c um estado de Coontext.
3.8.4.2 F
Funcionam mento do Padrão Sttate no QOC Editorr
1. DrawAArea acionaa um métoodo de umm objeto TG Grafico atrravés TCon ntrole;
2. TConttrole delegga pedidos estado‐esspecífico ao
a corrente e objeto T Composite
e;
3. Contro
ole invoca operaçõess sobre o oobjeto TGrrafico confforme, seuu estado;
3.8.5 Pad
drão Tem
mplate Metthod
61
3.8.5.1 U
Utilização do Padrã
ão Templa
ate Metho
od no QOC
C Editor
Tabela 3.7
3 ‐ Utilização do Paadrão Tem
mplate Metthod no QO
OC Editor
COMPONENTE CLASSE FUNÇÃ
ÃO
62
2
3.8.5.2 F
Funcionam mento do Padrão T Template Method
M no
n QOC Ed ditor
1. DrawAArea acionaa o método move dee um objetto TGrafico o através dde TControle;
2. TContrrole repasse a chama o TComp posite corrrente;
ações sobr e o objeto TNodo esspecificadoo;
3. TContrrole invocaa as opera
4. TNodoo executa os passoss invarian ntes do alg goritmo e chama o padrão comum do o
algoritmoo na Classe TGraficoo.
F
Figura 3.16
6 ‐ Modeloo inicial dee Diagrama
a de Classees
4.1 Implementaçã
ão da Inte
erface
O QOC Editor
E foi desenvolvvido atrav
vés de um
m processoo de Prottotipagem..
Prototipaação (ou prototipag
p gem) de Sooftware é um proce esso interaativo de geração dee
modelos de softwaare que fazz parte daa análise do
d ciclo de vida do ddesenvolviimento dee
sistemas.. É a atividdade de deesenvolvim
mento de uma
u versã
ão inicial ddo sistema
a, baseadaa
no atenddimento dos d requisitos aindaa pouco definidos,
d permitinddo a descoberta dee
falhas diffíceis de seerem encoontradas n
na comuniicação verbal. Um prrocesso qu ue propõee
a criaçãoo de um protótipo o de softwware objeetiva apoiiar a fasee levantam mento dee
requisito
os a fim de prevenir as possíveeis falhas no
n sistemaa. [PRESSM MAN, 2002 2]
Um prottótipo sim
mula a aparrência e fu dade do sooftware permitindo
uncionalid o
que os cclientes, analistas,
a desenvolvvedores e gerentes percebam m os requ uisitos do
o
sistema ppodendo in nteragir, avaliar,
a altterar e aprrovar as ca
aracterísti cas mais marcantes
m s
na interfaace e funçõ
ões. Os protótipos p podem ser evolutivos ou descaartáveis.
Dentre algumas
a vantagens
v da Protootipação está
e a reddução de custos no o
desenvollvimento; participaç
p ção do usu
uário no prrocesso de
e desenvollvimento; facilidadee
65
5
de operação do sistema, uma vez que os usuários sabem o que esperar através do
protótipo; resultados na satisfação mais elevada do usuário; diminuição de equívocos
entre usuários e desenvolvedores; esclarecimento de alguns requisitos confusos.
Algumas desvantagens no uso de protótipos são: a condução a uma análise
insuficiente do software; os usuários esperam um desempenho do software final igual
ao do protótipo; os clientes podem tornar‐se unidos demais a seus protótipos
[PRESSMAN, 2002].
66
5.0 USANDO O QOC EDITOR
67
ário 1: Tesste Básico
5.1 Cená o
Iniciado o aplicativ
vo, ele exib
be sua inteerface:
Figura 5.1
1
Figura 5.2
2
68
8
Com Ferrramenta Q basta cliccar na posiição deseja para cria
ar a questãão:
Figura 5.3
3
Figura 5.4
4
69
9
Com Ferrramenta O basta cliccar na posiição desejada para criar
c o Noddo Opção:
Figura 5.5
5
Figura 5.6
6
70
0
Com a Feerramentaa Relação Positiva, b
basta clicaar no Nod
do Questãoo 1 e arra
astar até o
Nodo Opção 1 paraa criar a re
elação:
Figura 5.7
7
Figura 5.8
8
71
Então, o aaplicativo exibe o menu
m de Prropriedadees do Nodo
o. No camp
po Texto, digitamoss
o Texto d
desejado e clicamos em salvarr:
9
Figura 5.9
Repetimo
os o proceesso com Nodo
N acresscentar
F
Figura 5.10
72
2
Assim, o Menu é fechado e o texto digittado é exib
bido dentrro do Nodoo:
F
Figura 5.11
Para movver um No
odo, bastarr clicar sob
bre o Nodo
o e arrastá
á‐lo até a p
posição de
esejada:
F
Figura 5.12
73
3
Note quee Relação é automatiicamente rredesenhaada a partiir das borddas mais próximas:
p
F
Figura 5.13
F
Figura 5.14
74
4
O Nodo pode serr aumenta ado horizoontal e/ou verticallmente. N
Note que o texto é
redimenssionado ao
o novo tam
manho do NNodo:
F
Figura 5.15
F
Figura 5.16
75
5
Para alteerar o tamanho da fonte
f de um m Nodo, basta
b escolhemos um
m dos tam
manhos dee
fontes dissponíveis,, através da
d caixa dee seleção de
d fonte:
Figura 5.17
F
F
Figura 5.18
76
6
5.2 Cená
ário 2: Mo
odelagem da decisã
ão de com
mpra de dispositivo
o móvel
F
Figura 5.19
Menu Arq
Para criaar um Diaggrama, acessamos o M quivo e o ittem Novo:
F
Figura 5.20
77
7
O Diagraama deve iniciar pe
elo Nodo de Início, que é instanciado pela Ferrramenta I
disponíveel no Menu entas ou n o Botão I na
u Ferrame n Barra Ferrament
F tas:
F
Figura 5.21
Com a Feerramenta I, basta clicar na poosição deseeja para crriar o Nodoo Inicio:
F
Figura 5.22
78
8
Agora vamos escreever o textto no Nodoo Inicio para isso usa
amos a Ferrramenta Texto:
F
Figura 5.23
Digitamo
os o Texto e, então, pressionam
p mos Enter para ence
errar a ediição de tex
xto:
F
Figura 5.24
79
9
Agora vamos criar um Nodo Questão, p
para isso usamos
u a Ferrament
F ta Q:
F
Figura 5.25
Figura 5.26
F
80
0
Agora irremos relaacionar o Nodo dee Inicio com
c o No
odo Questtão 1, utiilizando a
Ferramen nta Relaçãão Positiva
a:
F
Figura 5.27
F
Figura 5.28
81
Agora vamos criar a primeira
a Opção u sando a Feerramenta
a O:
F
Figura 5.29
F
Figura 5.30
82
2
Agora ireemos relaacionar o Nodo Qu uestão 1 com
c o Nodo Opçãoo 1, para usamos a
Ferramennta Relaçãão Positiva, clicamoos no Nod
do Questão
o 1 e arraastamos atté o Nodo
o
Opção 1:
F
Figura 5.31
F
Figura 5.32
83
3
Com a Feerramentaa C basta clicar
c na p
posição deesejada paara criar o Nodo Critério 1 e,,
após, usaamos Ferraamenta Te
exto para eescrever o Texto no Nodo:
Figura 5.33
F
F
Figura 5.34
84
4
Com a Feerramentaa Relação Negativa, clicamos no Nodo Opção 1 e arrastam
mos até o
Nodo Critério 1 parra relacion
nar os Nod
dos:
Figura 5.35
F
F
Figura 5.36
85
5
Com a Ferrameenta Rela ação Possitiva e a Ferra amenta Relação Negativa,,
respectivvamente, relacionam
r mos os crittérios as op
pções:
F
Figura 5.37
F
Figura 5.38
86
6
Com a Feerramentaa Escolherr uma Opçção, clicam
mos sobre
e o Nodo da opção escolhidaa
para marrcá‐lo:
F
Figura 5.39
Por fim, p
para salvar o Diagra
ama, acessamos o Meenu Arquivo item Saalvar Como:
Figura 5.40
F
87
7
Em seguiida, digitam
mos um no
ome para o diagram
ma e clicam
mos em salvvar:
F
Figura 5.41
5.3 Cená
ário 3: Abrrir um dia
agrama Q
QOC de arq
quivo e ex
xportar JP
PG
Co
omo segun ndo exemplo, abrirremos um diagrama a QOC e eexportaremos paraa
imagem JJPG. Iniciado o aplicativo, ele eexibe sua interface:
i
F
Figura 5.42
88
8
Para abriir um Diaggrama, ace
essamos o Menu Arq
quivo e a opção Abri r:
F
Figura 5.43
Então, seelecionamo
os o arquiv
vo QOC qu
ue contém o Diagram
ma a ser abberto:
F
Figura 5.44
89
9
Assim, o Diagrama é carregado e exibi do:
F
Figura 5.45
Para expo
ortar o Diaagrama, o Menu Exp
portar e o item Expo
ortar Imaggem:
F
Figura 5.46
90
0
Então, diigitamos o nome do
o arquivo a ser criaado, escolh
hemos o fformato da imagem
m
Formatos BMP, JPG ou PNG, e clicamos no botão salvar:
entre os F s
F
Figura 5.47
Após, o p
programa gera a im
magem, qu ue pode seer aberta por
p qualquuer visuallizador dee
imagem e usada em
m outros editores:
e
F
Figura 5.48
91
5.4 Cená
ário 4: Imp
portar um
m diagram
ma QOC de
e um XML
L e imprim
mir
Co
omo quarto exemp plo, importaremos um diag grama QO OC de um m XML e
imprimirremos atraavés de uma impreessora instalada. Iniiciado o aaplicativo, ele exibee
sua interface:
F
Figura 5.49
Para imp
portar um Diagrama de um arq
quivo XML
L, acessam
mos o Menuu Importa
ar e o Item
m
Importarr XML:
F
Figura 5.50
92
2
Então, seelecionamo
os o arquiv
vo XML qu
ue contém o Diagram
ma a ser abberto:
F
Figura 5.51
F
Figura 5.52
93
3
Para imp
primir, priimeiro tem
mos que cconfigurarr a impresssão. Paraa isso, ace
essamos o
Menu Arq
quivo e o item
i Confiigurar Imp
pressão:
F
Figura 5.53
F
Figura 5.54
94
4
Após, po
odemos viisualizar a impress ão acessaando o me
enu Arquiivo item Visualizar
V r
Impressãão:
F
Figura 5.55
Então, o aplicativo
o exibe a interface de Visuallização dee Impressãão. Se a impressão
i o
estiver co
omo desejado, basta
a clicar no botão imp
primir parra imprimiir:
F
Figura 5.56
95
5
Também é possível imprimirr acessand
do o menu Arquivo item Impriimir:
F
Figura 5.57
F
Figura 5.58
96
6
5.5 Cená
ário 5 : Ab
brir um diagrama Q
QOC da rede e expo
orte pata HTML
Iniciado o aplicativ
vo, ele exib
be sua inteerface:
F
Figura 5.59
F
Figura 5.60
97
7
Após, diggitamos ho
ost, porta, nome do b
banco de dados,
d usu
uário e sen
nha, clicam
mos em
conectar para coneectar ao se
ervidor:
F
Figura 5.61
F
Figura 5.62
98
8
Então, seelecionamoos o Diagrrama a seer aberto e clicamoss no botãoo em Abrir da Redee
para carrregá‐los:
F
Figura 5.63
F
Figura 5.64
99
9
Para exp
portar o Diagrama
D para HTM
ML, acessaamos o Menu Expoortar item Exportarr
HTML:
Figura 5.65
F
Entãão, digitam
mos o nom
me do arqu
uivo a ser criado,
c e cllicamos noo botão sa
alvar:
F
Figura 5.66
100
0
Após, o p
programa gera
g o arquivo HTM
ML e salva o arquivo no
n disco:
F
Figura 5.67
O arquivo
o HTML po
ode ser ab
berto por q
qualquer web
w browsser ou visuualizador de
d HTML:
F
Figura 5.68
101
6.0 CONCLUSÕES
O Design Rationale tem grande potencial para ser uma tecnologia que
agregue valor ao processo de desenvolvimento de software. No entanto, Design
Rationale ainda não é utilizado adequadamente por empresas em casos reais e,
raramente, há casos de captura de informações, fornecendo pouca oportunidade para
investigar o problema da captura do Design Rationale na prática.
Espera‐se que com esta ferramenta e com o suporte que ela oferece, mais
desenvolvedores adotem a ideia de modelar DR.
103
REFERÊNCIAS BIBLIOGRÁFICAS
[AMBLER, 1988] AMBLER, Scott W., Análise e Projeto Orientado a Objeto. Volume 2,
IBPI Press, Livraria e Editora Infobook AS, 1988.
[BURGE, 1998] BURGE, J. E.; BROWN, D. C. Design Rationale Types and Tools. 1998.
Disponível em: http://web.cs.wpi.edu/Research/aidg/DR‐Rpt98.html Acesso em:
17/05/2013.
[CONKLIN, 2006] CONKLIN, J. The IBIS Manual: A Short Course in IBIS Methodology.
Disponível em: http://www.touchstone.com/tr/wp/IBIS.html. Acesso em: mar. 2006.
[CONKLIN, 1988] CONKLIN, J.; BEGEMAN, M. L. gIBIS: A hypertext tool for exploratory
policy discussion. ACM Transactions on Office Information Systems, 1988;
[CONKLIN, 1989] CONKLIN, J.; BEGEMAN, M. L. gIBIS: A tool for all reasons, Journal of
the American Society for Information Science, 1989.
104
[FRAMEWORK, 2013] Microsoft, .NET Framework; http://msdn.microsoft.com/pt‐
br/library/8bs2ecf4%28v=vs.90%29.aspx Acesso em: 24 de junho de 2013.
[GAMMA, 1994] GAMMA, Erich; HELM, Richard; JOHNSON, Ralph; VLISSIDES, John.
Design Patters: Elements of Reusable Object‐Oriented Software. Addison‐Wesley
Professional, 1994.
[GARCIA, 1993] GARCIA, A.; HOWARD, H.; STEFIK, M. Active Design Documents: A
New Approach for Supporting Documentation in Preliminary Routine Design, Tech.
Report 82, Stanford Univ. Center for Integrated Facility Engineering, Stanford, Calif.,
1993.
[GARCIA, 1994] GARCIA, A.; HOWARD, H.; STEFIK, M. Design Rationale for
Collaboration: The Active Document Approach, Submitted to Research in Engineering
Design Journal, Mar. 1994.
[HU, 2000] HU, X., PANG, J., PANG, Y., ATWOOD, M., AND SUN, W. A survey on design
rationale: representation, capture and retrieval. Engineering with Computers: An Int’l
Journal for Simulation‐Based Engineering, 2000.
[KUNZ, 1970] Kunz, W.; Rittel, H., Issues as elements of information systems. Working
Paper 131, Center for Urban and Regional Development, University of California
Berkley, 1970.
[LAKIN, 1989] LAKIN, F. et al. The electronic design notebook: performing medium
and processing medium, 1989.
[LACAZE, 2006] LACAZE X., PALANQUE P., BARBONI E., BASTIDE R., NAVARRE D..
From DREAM to Realitiy: Specificities of Interactive Systems Development with
respect to Rationale Management, LIIHS‐IRIT, University Paul Sabatier, 118 route de
Narbonne, 31062 Toulouse Cedex, 2006.
[LACAZE, 2007] LACAZE X., PALANQUE P., DREAM & TEAM: A Tool and a Notation
Supporting Exploration of Options and Traceability of Choices for Safety Critical
Interactive Systems, INTERACT'07 Proceedings of the 11th IFIP TC 13 international
conference on Human‐computer interaction ‐ Volume Part II Pages 525‐540, 2007
105
[LACAZE, 2010] LACAZE X., BARBONI E., MARTINIE C., Design Rationale Environment
for Argumentation and Modelling ‐ DREAM, 2010, Disponível em:
http://www.irit.fr/recherches/ICS/softwares/dream/index.html. Acesso em 24 de
junho de 2013.
[LEE, 1990a] LEE, J. SIBYL: A qualitative design management system. In P.H. Winston
and S. Shellard, eds., Artificial Intelligence at MIT: Expanding Frontiers, Cambridge
MA: MIT Press, pp. 104‐133, 1990.
[LEE, 1990b] LEE, J. SIBYL: A Tool for Managing Group Decision Rationale. In
Proceedings of the CSCW’90 Conference, ACM Press, New York, 79‐92 , 1990.
[LEE, 1997] LEE, J. Design rationale Systems: Understanding the Issues. IEEE Expert,
Vol. 12, no. 3, pp78‐85, 1997.
[LEE, 1991a] LEE J. Extending the Potts and Bruns model for recording design
rationale. In: Proceedings of 13th International Conf. on Software Engineering, Austin,
Texas, May 1991. pp 114‐125.
[LEE, 1996] LEE, J.; LAI, K. What’s in Design Rationale? in Design Rationale ‐ Concepts,
Techniques, and Use, T. Moran and J. Carroll, Eds. New Jersey: Lawrence Erlbaum,
1996, pp. 21‐51.
[JARCZYK, 1992] JARCZYK, A., LOFFLER, P., SHIPMAN F., 1992, “Design rationale for
software engineering: A survey”. In: Proceedings of 25th Annual Hawaii International
Conference on System Sciences, January.
[MACLEAN, 1996] MACLEAN, A.; YOUNG, R. M.; BELLOTTI, V.; MORAN, T., Questions,
Options, and Criteria: Elements of Design Space Analysis. In: Design Rationale:
Concepts, Techniques, and Use, Lawrence Erlbaum associates, Mahwah, NJ, 1996.
[MARTINIE, 2010] MARTINIE C., WINCKLER M., PALANQUE P., CONVERSY S,.
DREAMER: a Design Rationale Environment for Argumentation, Modeling and
Engineering Requirements. In 28th ACM International Conference on Design of
Communication (ACM SIGDOC'10) will be held in São Carlos‐São Paulo, Brazil on
September 26‐29, 2010, at BROA Golf Resort. ACM Press. pp. 73‐80. ISBN: 978‐1‐
4503‐0403‐0.
[MORAN, 1996] Moran, T. P., & Carroll, J. M. (Eds.) (1996). Design rationale: Concepts,
techniques, and use. Mahwah, NJ: Lawrence Erlbaum Associates.
[MONK, 1995] MONK, S.; SOMMERVILLE, I.; PENDARIES, J. M.; DURIN, B. Supporting
design rationale for system evoluation. In Proceedings of the Fifth European Software
Engineering Conference, 1995.
[NGUYEN, 2000] Nguyen, L. and Swatman, P.A. Complementary Use of ad hoc and post
hoc Design Rationale for Creating and Organising Process Knowledge. Proceedings of
the Hawaii International Conference on System Sciences HICSS‐33, January 4‐7, Maui,
Hawaii, USA, 2000.
107
[PALANQUE, 1999] Palanque P., Christelle F., Exploitation des notations de Design
Rationale pour une conception justifiée des applications interactives. In 11th French‐
speaking conference on human computer‐interaction, IHM'99; November 22‐26, 1999.
Montpellier, France. pp. 33‐40.
[THAYER, 1990] THAYER, Richard H. Thayer, Merlin Dorfman; System and software
requirements engineering, 1990
108