UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CURSO DE

Propaganda
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
CURSO DE CIÊNCIA DA COMPUYTAÇÃO
DISCIPLINA PROJETO EM COMPUTAÇÃO I
PROFESSORA: Francilene Garcia
PROJETO: X-SCI - Software Conformity Inspection
EQUIPE:
Alexandre Sales
Alexandre Nunes
Maria Isabel Farias
ORIENTADORES: Joseana Fechine
Eustáquio Rangel
Relatório Arquitetural do projeto X-SCI - eXpert Software
Conformity Inspection
Campina Grande, 10 de maio de 2010.
1.Introdução
A fim de descrever a arquitetura do projeto X-SCI - eXpert Software Conformity
Inspection, foi elaborado este relatório, que é parte da Segunda Iteração do referido projeto,
da disciplina de Projeto I, do semestre 2010.1, ministrada pela Professora Francilene Garcia, na
Universidade Federal de Campina Grande.
O presente relatório está organizado como se segue: inicialmente será apresentada a
descrição do sistema, como também a sua finalidade, baseada na exigência dos clientes. Logo
depois, uma explicação sucinta sobre os Stakeholders, Requisitos Arquiteturais e, para finalizar,
será explorada a visão lógica do X-SCI.
2. Finalidade do Sistema
Contexto
X-SCI é um sistema especialista para automação do processo de inspeção de
conformidade de produtos de software para o padrão ISO 9241. Inspeção de conformidade
trata-se de um tipo de avaliação onde o avaliador deve verificar o nível de conformidade que
um software tem em relação a determinadas diretrizes.
O avaliador, nesse contexto, deve preencher uma série de checklists de conformidade
onde ele pode marcar se a diretriz foi seguida ou não e dar sugestões de melhoria quando
necessário.
Entretanto, o processo de avaliar software dessa forma pode se tornar enfadonho uma
vez que as diretrizes necessárias podem ser extensas e complicadas e os checklists precisam ser
respondidos fielmente às conclusões do avaliador.
Para vencer essa dificuldade, o software X-SCI é uma ferramenta que automatiza a
inspeção de conformidade de produtos de software especificamente para o padrão ISO 9241
que trata de diretrizes para a construção de interfaces gráficas.
O sistema deverá criar uma interface amigável com o avaliador onde ele deve
responder, para cada diretriz, qual o nível de conformidade que a ferramenta tem em relação
ao padrão ISO 9241 dando como resposta o grau de aderência da ferramenta ao padrão (nível
de certeza probabilístico de que a diretriz se aplica à ferramenta) e o grau de conformidade
(nível de certeza probabilístico de que a diretriz está sendo seguida).
O sistema, por sua vez, deverá automatizar a geração do checklist, relatórios gráficos e
calcular o nível de conformidade do software usando algoritmos que têm como base o
teorema de Bayes.
Inicialmente, o sistema contará apenas com suporte a avaliação em relação à parte 16
do padrão ISO 9241 que trata de componentes de manipulação direta como botões, caixas de
texto e caixas de checagem (checkbox).
Interface do Sistema
A interface entre os usuários e o sistema deverá ser desktop e os serviços fornecidos
pela ferramenta são descritos abaixo:

Suporte a respostas diretas quanto ao nível de aderência e conformidade da
ferramenta avaliada em relação a cada diretriz do padrão ISO 9241, Parte 16.

Suporte a geração de relatórios gráficos: taxa de aderência, conformidade.

Suporte a geração automática dos checklists de avaliação.

Suporte a inserção de comentários por parte do avaliador.

Suporte a interromper uma avaliação e continuar em oportunidades posteriores (salvar
o projeto).

Suporte à ação de desfazer ou refazer partes da avaliação.
3. Stakeholders
Diversos stakeholders estão envolvidos com o sistema X-SCI, a seguir apresentaremos
uma descrição de cada um deles.

Clientes: são os professores Joseana Fechine e Eustáquio Rangel.

Usuários: são avaliadores e designers de interfaces gráficas.

Desenvolvedores: são responsáveis por desenvolver os componentes do sistema.

Testadores: são responsáveis por verificação/validação do X-SCI através de testes de
“caixa branca/preta”.

Gerente de projeto: é responsável por coordenar o desenvolvimento do X-SCI, bem
como interagir com os demais stakeholders provendo o bom andamento do projeto,
nesse sentido todos os desenvolvedores serão, seqüencialmente, gerentes.
4. Requisitos Arquiteturais
Requisitos Arquiteturais Funcionais

Acesso via terminal desktop.

Salvamento de uma avaliação em andamento.

Utilização da base regras via XML.

Geração de gráficos quanto ao nível de aderência e de conformidade.

Geração de checklists preenchidos de forma automática.

Inserção de comentários para cada diretriz do padrão.

Geração de recomendações a serem seguidas de acordo com o nível de aderência e
conformidade a cada diretriz do padrão.
Requisitos Arquiteturais Não Funcionais

Utilização da linguagem Java com auxílio do pacote IReport para geração de relatórios.

Tempo de resposta de, no máximo, 3 segundo para carregamento de cada janela.

O software deve ser independente de plataforma e resolução do monitor (deve
funcionar no ambiente Windows e no ambiente Linux).

O software, por si, deve estar em conformidade com a parte 16 do padrão ISO 9241.
5. Visão Lógica
Nesta seção, apresentaremos aspectos detalhados sobre a estrutura da arquitetura do
X-SCI, tais como decisões-chave e diagramas de componentes. Por isso, tal seção se endereça
aos stakeholders: clientes, usuários, desenvolvedores, testadores e gerentes de projeto.
Decisões-chave para a estrutura da arquitetura
Decisão-chave
Utilizar linguagem Java
Drivers
RNF: Utilização de linguagem OO para
desenvolvimento;
Descrição
Java é uma linguagem do paradigma OO
com grande aceitação no mercado.
Diferentemente das linguagens
convencionais, que são compiladas
para código nativo, Java é compilada
para bytecode, que pode ser executado
por uma máquina virtual.
Vantagem
Por rodar em uma máquina virtual,
facilita a utilização em sistemas
operacionais distintos.
Utilizar
Desvantagem
uma
máquina
virtual
pode
tornar o sistema mais lento.
Observações
Decisão-chave
Eclipse como IDE utilizado
Drivers
RNF: Utilização de IDE voltado à
linguagem OO para o desenvolvimento
do sistema;
Descrição
Eclipse é um IDE desenvolvido em
Java, com código aberto para a
construção de programas de
computador.
Forte orientação ao desenvolvimento
baseado em plug-ins e o amplo suporte
ao desenvolvedor com centenas de
plug-ins que procuram atender as
diferentes necessidades de diferentes
programadores
Vantagem
Desvantagem
Observações
Decisão-chave
Utilização do Subversion como sistema
de controle de versões
Drivers
RNF: Utilização de sistema de
controle de versões;
Descrição
Subversion é um sistema de controle
de versão desenhado especificamente
para ser um substituto moderno do
CVS, que se considera ter algumas
limitações.
Vantagem
Facilita integração de código;
Registra todas as versões já enviadas
para o repositório.
Desvantagem
Observações
Decisão-chave
Persistência de objetos será
realizada a partir de arquivos
Drivers
Descrição
Os arquivos serão salvos em formato
próprio ou um formato já existente
dependendo do sistema SCADA
utilizado.
Vantagem
Fácil implementação;
Independência de plataforma ; 
Boa eficiência
Concorrência deverá ser tratada;
Desvantagem
Embora a persistência de arquivos
possa gerar problemas de segurança,
desempenho, etc..
Em relação à segurança, não é um
ponto crítico do sistema e além
disso, se o sistema for instalado
corretamente e as permissões de
arquivos forem configuradas de acordo
com as diretrizes do sistema, a
segurança será suficiente.
Observações
Riscos Arquiteturais Críticos
Risco: Até o momento a persistência em arquivos está se comportando de
maneira adequada. Porém, pode não se comportar de forma eficiente à medida
que aumenta o número de clientes ao mesmo tempo.
Forma de ataque:
Realizar testes para relatar o comportamento do
software.
Estrutura da Arquitetura
Figura 1. Arquitetura Geral
Ao executar o software, o designer/avaliador terá acesso
às telas, implementadas em Java, utilizando a bilbioteca
Swing. As ações aqui exigidas serão enviadas para a camada
lógica através de uma classe fachada (Facade) e esta
acessará diretamente a camada de persistência. Com isso,
ocorrerá a geração de arquivos, caso o designer deseje ver
os resultados na forma de checklist.
Download