EProcessos: Um Sistema para Edição de Processos de Software



Documentos relacionados
(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM

(P AA) 2 PACOTE DE APOIO A APRENDIZAGEM DE PROJETO E ANÁLISE DE ALGORITMOS: IMPLEMENTAÇÃO EM JAVA

SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa

Construção de Wiki para a MISTOOL, uma Ferramenta de Aplicação do Método de Inspeção Semiótica

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores

DESENVOLVIMENTO DE FIRMWARE E SOFTWARE APLICATIVO DE CONTROLE PARA UMA MÁQUINA DE ENSAIOS GEOLÓGICOS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

WEBDISC - Sistema Web para Gerenciamento de Disciplinas

Simulação de coleta de dados em redes de sensores sem o por robôs móveis utilizando a ferramenta Player/Stage

EPROCESSOS: UM SISTEMA EDITOR DE PROCESSOS DE SOFTWARE

ENGENHARIA DE SOFTWARE I

ESTUDO DE CASO: IMPLEMENTAÇÃO DE UM SERVIÇO DE PARA O DEPARTAMENTO DE COMPUTAÇÃO

UFG - Instituto de Informática

Framework de comunicação para Webservices 2P2

Engenharia de Requisitos Estudo de Caso

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

PRÓ-REITORIA DE EXTENSÃO, PESQUISA E INOVAÇÃO DIRETORIA DE PESQUISA E INOVAÇÃO Proposta de Projeto de Pesquisa

Governança de TI. ITIL v.2&3. parte 1

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Introdução a Computação

EProcessos: Um sistema para edição de processos de software

Análise e projeto de sistemas PROF. REGILAN SILVA

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

UML - Unified Modeling Language

SWAT - Sistema Web de Avaliação de Trabalhos

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Introdução à Engenharia de Software

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

MANUAL DE GESTÃO DE PROJETOS: Guia de referência do sistema de gestão de projetos do Tribunal Regional do Trabalho da 8ª Região

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Fábrica de Software 29/04/2015

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Engenharia de Software

QUALIDADE DE SOFTWARE AULA N.7

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Engenharia de Software

Qualidade de Processo de Software Normas ISO e 15504

Concepção e Elaboração

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Wilson Moraes Góes. Novatec

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Mistool, uma Ferramenta para Aplicação Colaborativa do Método de Inspeção Semiótica

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Processamento e Otimização de Consultas

Engenharia de Software Processo de Desenvolvimento de Software

Projeto Disciplinar de Infra-Estrutura de Software SISCOP TORRE FORTE CONSTRUÇÕES LTDA.

MUDANÇAS NA ISO 9001: A VERSÃO 2015

ANÁLISE DE TRÁFEGO EM REDES MUNI-WI

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

LINGUAGEM DE BANCO DE DADOS

Documento de Arquitetura

Processos Técnicos - Aulas 4 e 5

Projeto de Sistemas I

Material de Apoio. Sistema de Informação Gerencial (SIG)

Padrões de Qualidade de Software

Protocolo de comunicação para redes móveis aplicado ao trânsito

Introdução à Computação

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Integração de sistemas utilizando Web Services do tipo REST

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

AGILE ROLAP - UMA METODOLOGIA ÁGIL PARA IMPLEMENTAÇÃO DE AMBIENTES DE NEGÓCIOS BASEADO EM SERVIDORES OLAP.

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

Padrões de Qualidade de Software e Métricas de Software

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

Análise e Projeto Orientados por Objetos

ATIVIDADES PRÁTICAS SUPERVISIONADAS

OBJETIVO 2 APLICAÇÃO 3 ATRIBUIÇÕES E RESPONSABILIDADES 4 DOCUMENTOS DE REFERÊNCIA 5 TERMINOLOGIA 6 DESCRIÇÃO DO PROCESSO DE GESTÃO DE MUDANÇAS

Disciplina de Banco de Dados Parte V

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Fundamentos de Engenharia de Software Professor Rafael Escalfoni

Software automatizado para controle de consultas da clínica de fisioterapia

PROJETO DE FÁBRICA DE SOFTWARE

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

PLANOS DE CONTINGÊNCIAS

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Gerenciamento de Problemas

**Docentes do Centro Universitário Filadélfia- Unifil.

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Plano de Gerenciamento do Projeto

Transcrição:

Universidade Federal de Ouro Preto - UFOP Instituto de Ciencias Exatas e Biologicas - ICEB Departamento de Computação - DECOM EProcessos: Um Sistema para Edição de Processos de Software Aluno: Sávio Geraldo Ferreira Fraga Matricula: 06.1.4116 Orientador: Carlos Alberto Marques Pietrobon Ouro Preto 29 de setembro de 2010

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM EProcessos: Um Sistema para a Edição de Processos de Software Proposta de monograa apresentada ao curso de Bacharelado em Ciencia da Computação, Universidade Federal de Ouro Preto, como requisito parcial para a conclusão da disciplina Monograa II (BCC391). Aluno: Sávio Geraldo Ferreira Fragal Matricula: 06.1.4116 Orientador: Prof. Carlos Alberto Marques Pietrobon Ouro Preto 29 de setembro de 2010

Resumo Desenvolver software de qualidade e dentro do prazo estabelecido tem sido um dos grandes desaos nas empresas fabricantes software. Portanto, neste contexto, podemos concluir que as empresas mais competitivas são as empresas que trabalham sob a ótica da melhoria contínua dos processos para aumentar a qualidade do processo de desenvolvimento e, consequentemente, aumentar a qualidade do produto nal. Por esse motivo é tão importante a padronização dos processos como uma abordagem viável na introdução sistemática de qualidade. Uma forma de se padronizar um processo é através da sua descrição formal, a qual produz um modelo do processo de software. Sendo assim, este trabalho visa desenvolver um sistema web para a edição dos elementos dos processos de software, ou seja, criar e personalizar os atributos dos componentes do processo. Palavras-chave: Processo de Software. Denição de Processo. Qualidade de Software. Sistema Web.

Sumário 1 Introdução 1 2 Justicativa 3 3 Objetivos 4 3.1 Objetivo geral................................ 4 3.2 Objetivos especícos............................ 4 4 Metodologia 5 5 Cronograma de atividades 6

Lista de Figuras Lista de Tabelas 1 Cronograma de Atividades......................... 6

1 Introdução Desenvolver software de qualidade e dentro do prazo estabelecido tem sido um dos grandes desaos dentro das empresas fabricantes de software. Um caminho que contribui para que uma organização vença estes desaos é investir na melhoria da qualidade e da produtividade. Como a melhoria da qualidade do produto nal é tipicamente obtida através da melhoria do próprio processo produtivo, melhorar o processo de software torna-se o grande desao das empresas. Assim houve uma grande preocupação com a modelagem e melhorias no processo de software. Abordagens importantes como as normas de qualidade ISO 9000 e a ISO/IEC 12207, o modelo Capability Maturity Model (CMM) e o modelo Software Process Improvement and Capability Determination (SPICE) sugerem que melhorando o processo de software, pode-se melhorar a qualidade dos produtos [3]. Um processo de software pode ser visto como o conjunto de atividades, métodos, práticas e transformações que guiam pessoas na produção de software. Um processo ecaz deve, claramente, considerar as relações entre as atividades, os artefatos produzidos no desenvolvimento, as ferramentas e os procedimentos necessários e a habilidade, o treinamento e a motivação do pessoal envolvido.[1] A Norma ISO/IEC 12207 estabelece uma estrutura comum para os processos de ciclo de vida de software desde a concepção de idéias até a descontinuação do software com uma terminologia bem denida e é composta de processos, atividades e tarefas que servem para ser aplicada durante a aquisição de um sistema que contém software, de um produto de software independente ou de um serviço de software, e durante o fornecimento, desenvolvimento, operação e manutenção de produtos de software. Para cada atividade de um processo é importante saber quais as suas tarefas, as atividades que devem precedê-las (pré-atividades), os artefatos de entrada (insumos) e de saída (produtos) da atividade, os recursos necessários (humanos, hardware, software) e os procedimentos (métodos, técnicas, modelos de documento) a serem utilizados na sua realização. Uma forma de analisar e amadurecer o processo de desenvolvimento de software é através da sua denição, a qual consiste de um modelo de processo de software, esta descrição representa o processo de software sob a ótica de seu funcionamento, mas não apresentam como estes processos devem ser denidos, cando esta responsabilidade para as empresas fabricantes de software. A descrição formal de um processo de software é a atividade que permite que o mesmo seja analisado, compreendido e automatizado (executado)[4]. Um processo de software denido tem a documentação, ou seja, detalha o que é feito (o produto), quando é feito (os passos), por quem é feito (os agentes), o que é usado (artefatos) e o que é produzido (os resultados). Com um processo denido, todos seguem um padrão e produzem produtos padronizados, e desta forma, qualquer um que conhecer o padrão consegue entender o processo. A diculdade em denir processos encontra-se na ausência de um processo de software possível de ser genericamente aplicado. Os processos variam porque são diferentes os tipos de sistemas, os domínios de aplicação, as equipes, as organizações e as próprias restrições de negócio, tais como, cronograma, custo, qualidade e conabilidade [2]. Assim, é necessária uma abordagem exível e congurável para a denição de processos, de modo a facilitar a adaptação de processos padrão às necessidades especícas de cada projeto. Nesse contexto, torna-se essencial prover ferramentas para automatizar 1

as diversas tarefas que compõem o processo de desenvolvimento de software para que se possa obter um controle mais rígido e adaptado às necessidades da empresa. 2

2 Justicativa Muitas empresas não possuem, ou quando possuem é informal, um processo de software denido. Sendo assim, surge a necessidade de se desenvolver uma ferramenta para que seja feita a denição formal e de forma automatizada dos processos de desenvolvimento de software. Este trabalho propõe a implementação de um sistema editor de processos de software, com o qual é possível denir, isto é, criar modelos para estes. A modelagem deve ser capaz de descrever alguns aspectos necessários para a coordenação das atividades envolvidas num processo de software. O modelo muitas vezes é utilizado como um guia para que seja possível acompanhar cada passo, identicar o estado do projeto e reorganizá-lo durante este acompanhamento. Em outros casos o modelo é utilizado apenas como documentação, isto é, como uma forma de explicitar o processo utilizado com o objetivo de conscientizar a equipe. Este último é o caso que será considerado neste trabalho. A ferramenta proposta neste trabalho tem o intuito de trazer para uma empresa de desenvolvimento de software vantagens tais como melhoria da qualidade do produto (software), facilitar o entendimento e comunicação entre as pessoas envolvidas, fornecer orientações a equipe de projeto de forma automatizada e apoiar a gerencia e melhoria do processo de desenvolvimento de software. 3

3 Objetivos 3.1 Objetivo geral O objetivo deste trabalho é desenvolver um sistema capaz de modelar processos de software, ou seja, criar e personalizar os atributos dos itens do processo. O principal objetivo é aumentar o nível de automação fornecido na reutilização de processos de software, apoiando a modelagem de processos. A ferramenta em desenvolvimento será uma Aplicação de Internet Rica (da sigla em inglês RIA - Rich Internet Application), ou seja, um aplicativo web que tem características e funcionalidades de softwares tradicionais do tipo Desktop. 3.2 Objetivos especícos Os objetivos especícos a serem alcançados são os seguintes: Fazer uma revisão de literatura sobre processos de software; A partir da revisão feita, fazer o levantamento dos requisitos necessários para a implementação do sistema; Modelar o banco de dados para a aplicação de acordo com o levantamento de requisitos feitos no passo anterior; Estudar o processo de desenvolvimento de aplicações web utilizando a linguagem de programação Java; Implementar o sistema utilizando Java para web; Usar o sistema desenvolvido para modelar um processo de software. 4

4 Metodologia A metodologia de pesquisa adotada para a elaboração do presente trabalho começa por uma pesquisa bibliográca de autores e especialistas no tema abordado, além de entrevistas com o professor orientador. Com isso será possível obter a conceituação teórica sobre o tema e também levantar os requisitos necessários para a implementação do sistema proposto neste trabalho. A partir dos requisitos levantados será feito o diagrama de classes, usado para descrever os tipos de objetos no sistema e os vários tipos de relacionamento estático existente entre eles, bem como atributos e operações de uma classe e as restrições. Para esta tarefa será utilizado o JUDE, uma ferramenta prossional para a modelagem de dados complexa. Este diagrama será útil tanto para gerar as classes do sistema quanto para auxiliar na criação do modelo de banco de dados. O próximo passo é gerar um modelo de banco de dados e a partir deste obter o código SQL, e para isso será utilizado a ferramenta DBDesginer Fork, um editor visual para criação de banco de dados que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente gráco simples. Possui uma função que permite exportar tabelas ou bancos inteiros em diversos formatos ou em formato texto (apenas as sintaxes SQL). O sistema de banco de dados escolhido para o trabalho a ser desenvolvido foi o PostgreSQL, um SGBD (Sistema Gerenciador de Bancos de Dados) relacional e orientado a objetos. Oferece mecanismos ecientes de segurança e integridade de dados, além de suportar quase todas construções SQL. É um software de livre distribuição e, em termos de recursos, pode ser comparado aos melhores bancos de dados comerciais existentes. Diante disto, será necessário congurar o PostgreSQL e rodar os códigos SQL gerados pelo DBDesigner a m de se obter a base de dados. Com o banco de dados congurado começa a fase de implementação. A ferramenta proposta será uma aplicação web e para tal foi escolhida a linguagem de programação Java, uma vez que para o desenvolvimento de diferentes tipos de aplicativos web, a tecnologia Java disponibiliza um conjunto extenso de tecnologias e ferramentas agrupadas em um pacote chamado atualmente de Java Platform Enterprise Edition 5 ou JEE 5, mais um conjunto de ferramentas e padronizações com o objetivo exclusivo de economizar tempo no ciclo de desenvolvimento. O ambiente de desenvolvimento escolhido foi o Eclipse com o plugin Web Tools Platform (WTP). Com uso do Eclipse WTP tem-se um ambiente de desenvolvimento Web e JEE já congurado no Eclipse. O WTP é um projeto que faz parte do Eclipse.Org e tem por nalidade prover um ambiente de desenvolvimento padrão para web sob a plataforma Eclipse, sendo formado por um conjunto de APIs para JEE e aplicações web, além de ferramentas para suporte de deploy e testes de aplicações. Para o sistema funcionar é preciso um servidor web e para este trabalho foi escolhido o Tomcat, um container / servidor de aplicações Java para Web, focado na linguagem de programação Java, em especial nas tecnologias Servlets e Java Server Pages (JSP). Após a ferramenta estiver totalmente desenvolvida ela será utilizada para denir um processo de software tomado como exemplo, este processo exemplo será escolhido dentre os vistos na revisão bibliográca. O texto da monograa será elaborado à medida que o trabalho avançar, documentando os resultados dos estudos realizados, as técnicas utilizadas e as soluções adotadas. 5

5 Cronograma de atividades Na Tabela 1, é apresentado o cronograma das atividades a serem desenvolvidas neste trabalho. Atividades Ago Set Out Nov Dez Revisão bibliográca sobre processos de software. X Levantamento de requisitos/funcionalidades X necessários para a implementação da ferramenta Modelagem da base de dados X Estudo Sobre Desenvolvimento de Aplicações X X Java para Web Implementação da Ferramenta X X Redação da Monograa X X X Revisão de Texto da Monograa X Apresentação do Trabalho Tabela 1: Cronograma de Atividades. X 6

Referências [1] R. A. FALBO. Engenharia de software - notas de aula. Apostila, Universidade Federal do Espírito Santo, 2005. [2] Luís Filipe Dionísio Cavalcanti Machado. Modelo para denição de processos de software para estação taba. Master thesis, March 2000. [3] A. R. C. Rocha; J. C. Maldonado and K. C. Weber. Qualidade de Software - teoria e prática. Prentice Hall, 2001. [4] Fábio Silva, Rodrigo Reis, Carla Reis, and Daltro Nunes. Um modelo de simulação de processos de software baseado em agentes cooperativos. SBES Simpósio Brasileiro de Engenharia de Software, October 1999. 7