this is for holding javascript data
Ulisses Telemaco edited PropostaTrabalho.md
over 9 years ago
Commit id: 3aa232336ca091e04708a4e451eadbc3e16054d9
deletions | additions
diff --git a/PropostaTrabalho.md b/PropostaTrabalho.md
index 12d2ec7..030b2ba 100644
--- a/PropostaTrabalho.md
+++ b/PropostaTrabalho.md
...
#Proposta de Trabalho
Em face destes desafios, este projeto tem como objetivo desenvolver uma Infraestrutura Computacional denominada ProcessHub. O ProcessHub é uma ferramenta para apoio a Governança do Processo de Software (PRESSMAN, 2007), atendendo desde a etapa da Definição do Processo, passando por Adaptação , Composição, Instanciação, Execução e Monitoramento. É possível perceber que o ProcessHub viabiliza, de fato, a materialização do modelo de gestão do processo de desenvolvimento de software (VAN DER AALST, 2013).
A Figura 1 descreve de forma abrangente as funcionalidades do ProcessHub para atender as necessidades relacionadas à Governança de Processos de Software. Nesta figura destacamos as seguintes fases:
• (a) Definição: um Processo de Desenvolvimento de Software define um conjunto de elementos que orquestram as atividades, artefatos e pessoas. Tais elementos de processo são organizados para situações específicas podendo, por exemplo, descrever Processos. Como pode ser observado na Figura 1.a, Prescritivos como o OpenUp, Processos Ágeis como o Scrum ou mesmos Processos de Reutilização de Frameworks e Procedimentos de Instalação de Sistemas. Sob a ótica do ProcessHub estes processos são independentes e armazenados em um repositório.
• (b) Adaptação e (c) Composição: Projetos de Desenvolvimento de Software estão inseridos em contextos específicos que definem por exemplo, os participantes do projeto; a disponibilidade destes participantes; restrições legais e a duração do projeto. Tipicamente tais contextos não são levados em consideração a priori quando da definição dos processos e portanto, ao se utilizar um processo, este necessita passar por um adaptação para que as peculiares do projeto sejam atendidas de forma individual (FARIAS, GARCIA, et al., 2012) (FARIAS, GARCIA e LUCENA, 2013).
• (d) Instanciação ou Planejamento: A fase de Instanciação (ou Planejamento) tipicamente define um conjunto de tarefas (WBS - Work Breakdown Structure) que precisam ser executadas para se atender aos objetivos de um projeto de software. Em um cenário onde a aderência ao processo é importante, como no ProcessHub, esta fase tem fundamental importância uma vez que as tarefas a serem executadas durante o projeto necessitam estar mapeadas nas atividades definidas do processo.
• (e) Execução: A fase de execução de um projeto permite que seus membros participantes possam acessar a lista de tarefas disponíveis em um determinado momento. É importante ressaltar que esta lista de tarefas deverá respeitar as restrições e dependências de ordem e de estado definidos no processo do projeto e na WBS.
• (f) Monitoramento: A fase de monitoramento permitirá o acompanhamento da execução do projeto.
É importante destacar que o ProcessHub se baseará na infraestrutura de BPM (Business Process Management) (Handbook on Business Process Management, 2010) (NORMANN e RAMÍREZ, 1993) que traz como ponto forte a utilização da notação BPMN (Business Process Modeling Notation) (OMG, 2013). Neste sentido, a estrutura principal de que norteará as funcionalidades para a Governança de Processos de Software no âmbito do ProcessHub será especificações em BPMN.
Um outro aspecto importante está no fato do ProcessHub ser oferecido sob o conceito SaaS (Software as a Service). O Software como Serviço, ou SaaS, é um modelo de distribuição de software onde a aplicação é disponibilizada de forma centralizada pelo fornecedor e acessada pelos clientes normalmente através da internet. Esse modelo dispensa a aquisição de licenças, instalação e configuração do software no ambiente do cliente. Ao invés disso, o software é vendido como Serviço e a responsabilidade pela disponibilização da aplicação é exclusiva do fornecedor.
Tendo em mente as funcionalidades do ProcessHub, destacamos a seguinte Lista de Objetivos:
a) Definir um Repositório de Processos especificados em BPMN (CAMPOS e OLIVERIA, 2011) (CAMPOS e OLIVEIRA, 2013) e estabelecer um conjunto de Processos Exemplo;
b) Definir uma interface amigável para a construção, adaptação (PILLAT, BASSO, et al., 2013) e composição (FARIAS, GARCIA e LUCENA, 2013) de processos especificados em BPMN;
c) Identificar procedimentos para apoiar a adaptação e composição de processos de software de modo que o processo resultante seja conforme com regras de boa formação (PILLAT, BASSO, et al., 2013).
d) Definir um procedimento e interface amigável para a construção da WBS do projeto;
e) Definir mecanismo de rastreamento (mapeamento) entre a WBS e o(s) processo(s);
f) Definir Máquina de Workflow capaz gerenciar a lista de tarefas definidas na WBS;
g) Definir Máquina de Workflow capaz de atender ao mecanismo de rastreamento definido;
h) Desenvolver interface de acesso ao ProcessHub;
i) Desenvolver mecanismo de acessos à Lista de Tarefas;
j) Desenvolver instância do ProcessHub na nuvem
k) Identificar política de acesso ao ProcessHub bem como mecanismo de tarifação;
l) Avaliar ProcessHub em um ambiente acadêmico;
m) Avaliar ProcessHub em um ambiente de produção.