UML, RUP, Analise de projetos, WEB services, framework? Preciso de uma direção

0 respostas
W

Senhores aqui do GUJ, trabalho com desenvolvimento [color=blue]java + tomcat + netbeans + braço + codigo fonte[/color].

Estou fazendo 8ºSemestre de Ciencia da computação e tenho la o famoso trabalho de conclusão de curso. Como eu prefiro falar sobre algo que ja fiz, que ja conheço e tive alguma experiencia, não achei coisa melhor que pegar meu proprio projeto. A questão é que eu não estou conseguindo encontrar uma direção, um nome, um conceito para poder desenvolver em cima disso.

O que eu estava tentando fazer é o seguinte, ficou um pouco grande, mas da pra ter uma ideia de como é atualmente:

eu tenho aqui um servidor, nele tem alguns sistemas que vieram “de cima”, veio de Brasilia, então nós não podemos tirar nem alterar, esses sistemas rodam em TOMCAT + MySQL. Então eu tenho disponivel pra trabalhar um servidor MySQL e um TOMCAT para web. OK, então comecei a desenvolver em cima disso um sistema simples, pra tirar os varios documetos em XLS que controlam os gastos com impressão, documentos estes que no final do ano nunca tem valor preciso, sempre algum erro. Então passei as tabelas para o baco e atualizei os valores, fiz uma interface para usuario, pra acabar de vez com as planilhas.

OK, tudo isso eu fiz quando não sabia nem o que era java direito. Todas as classes estavam direto no JSP, da conexão ao html. De la pra ca, foram “brotando” variso sistemas, e a coisa foi evoluindo e ficou ramificada. Pois bem, vamos juntar tudo, tem muita informação que pode trabalhar em conjunto, OK, juntei, alterei, e contino implementando e incluindo “sistemas” conforme vão surgindo.

Vou explicar a estrutura que eu tenho e o que eu queria fazer, não precisa fazer comentario gigante, eu so quero uns nomes uma direção pra poder melhor o que tenho hoje, deixar de acordo com a tecnologia atual, dentro dos padrões de desenvolvimento, etc.

Por base na conexão:

pacote: [color=blue]bd[/color] = pacote que vai trabalhar o banco;

[color=blue]bd.Conexao[/color] = Simplesmente abre e fecha a conexão e tem um metodo pra verificar se esta aberta;

[color=blue]bd.Comando[/color] = Possui os Statmentes, ResultSet, trabalha o resultset, os gets, etc;

[color=blue]bd.modelo[/color] = os metodos basicos de todas as tabelas, inserir, alterar, excluir e pesquisar. ([color=red]interface[/color])

pacote: [color=blue]tabela[/color] = aqui eu tenho as tabelas com o sql referente a cada uma. por exemlo
[color=blue]tabela.SysUsuario[/color] = aqui são os SQL, tem um exemplo a baixo, todas as classes estão assim.

public class SysUsuario extends bd.Comando implements Modelo{

    public void excluirDados(String id) throws SQLException, Throwable {
        super.executa("delete from sys_usuario where usr_id = " + id);
    }

    public void pesquisaId(String id) throws SQLException, Throwable {
        super.pesquisa("select * from sys_usuario where usr_id = " + id);
    }
    
    public boolean insereDados(verificacao.AcessoTabela verifica) throws SQLException, Throwable {
        return super.executa("insert into sys_usuario value (null, " + verifica.usuario.getSetor() + ", '" + verifica.usuario.getNome() + "', " + verifica.usuario.getCpf() + ", '" + verifica.usuario.getExibicao() + "', '" + verifica.usuario.getLoggin() + "', sha1('federal'), true)");
    }

}

aqui o metodo [color=blue]excluirDados, pesquisaId, insereDados[/color] vem da interface. Claro que na maioria dos casos alem dos metodos inserir, alterar, eu tenho que criar outros, mas segue neste mesmo padrão de codigo.
Repara que no terceiro metodo, eu passo uma classe verificação, a estrutura dela é igual a das classes do banco. Eu tenho uma classe de verificação pra cada tabela do banco, todas extendem de uma verificação comum, e todoas estão declaradas dentro de uma classe agrupadora, pra facilitar a declaração na pagina.

pacote: [color=blue]verificacao[/color] = aqui estão as classes que tratam os dados antes de enviar ao banco.

[color=blue]verificacao.Usuario[/color] = simplemente o codigo de validação nos [color=darkblue]setters / getters[/color] de cada campo.

Esta é minha base de comunicação com o banco.

A minha estrutura de pagina está assim:

inicial.jsp

<%@ include file="jsp/cabecalho.jsp" %>
//Request no atributo [color=darkblue]"c"[/color], e pesquiso no banco qual pagina eu devo incluir entre o cabeçalho e o rodape
<%@ include file="jsp/rodape.jsp" %>

Este é o bloco que inseiro atraves do request

<%@include file="/jsp/conteudo/declaracao.jsp" %>
<form name="cad_usuario">
//dados do formulario
</form>
<%@include file="/jsp/conteudo/fechamento.jsp" %>

Em [color=blue]declaracao[/color] eu tenho a instancia da classe do banco e de verificacao, e [color=blue]fechamento[/color] a finalização das conexoes.
Desta forma eu tenho apenas um codigo, e insiro no meio o que for necessario.

A estrutura basica do sistema funcionando e a seguinte: O usuario loga no sistema, eu salvo na session quais os ids dos sistemas que ele pode acessar, ao clicar em um item do menu, ele passa o parametro [color=darkblue]“c”[/color] para pagina, a no request eu verifico se o usuario tem permissao pra acessar aquele item, por fim carrego o conteudo, de forma que o proprio menu so mostra os itens que ele tem acesso, desta forma eu tenho a seguinte estrutura no banco.

sys_usuario = tem todos os usuarios do sistema;

sys_menu = tem o nome dos menus, o endereço da pagina, e o valor do codigo;

sys_permissao = junta os usuarios com os menus dizendo qual usuario acessa qual sistema.

Finalizando. Tudo isso que eu falei, eu fiz assim, “do nada” do conhecimento que fui adiquirindo com o tempo, sem grande estudo, e tudo no braço, codigo e mais codigo. Hoje ta facil, depois que fiz tudo isso ficou muito facil de criar um sistema em pra rodar nessa base, mas ainda ta longe de ser algo realmente bom.

Senhores o que pretendo fazer é criar um [color=red]“COISA”[/color], não sei o nome, não dos sistemas que rodam nele, mas a base geral do sistema. Da ferramenta que vai acessar o banco, Hibernate ou seja la qual for usar, por que usar, os padroes de declaração dos nomes das tabelas no banco, os padroes de escrita na web, separando codigo java do html.

Queria fazer essa “COISA” pra que daqui a uns anos, tem outra pessoa aqui no meu lugar e ele precisa criar mais um sistema, essa vai pegar o “COISA” e ver, [color=green]a sim eu crio as tabelas do banco com a seguinte nomenclatura. Não voi criar uma classe de conexão, basta usar essa variavel, assim como mostra no “COISA”, crio a classe de verificacao e a classe do banco segundo estas instruções do “COISA”. Aqui eu defino as permissões de usuarios de acesso aos itens do sistema.[/color]. Projetar todo o mecanismo interno, da comunicação com banco a troca de mensagens com usuario, AJAX ou outra coisa do genero, escrever o codigo em EL, sei la mais o que pode entrar aqui, para se tornar algo digno de ser chamado “profissional”. É este estudo/pesquisa/manual/padrão que eu quero fazer.

Então eu pergunto, o que seria esse “COISA”?

-Um agrupamento de padrões que poderia chamar de manual? Quais padrões?
-Isso tudo ja tem um nome, chama-se fulano…
-Uma coisa nova, estou inventando agora, dou o nome que quiser?
-aqui voce usa “isso”, ali voce usa “aquilo”, junta tudo e chama do que quiser.
-Cara você está loco! Isto não existe.
-É um pouco de tudo, daqui a uns 10 anos se termina…

Lembrando que estou trabalhando em um servidor LINUX, MySQL, TOMCAT. Nada me impede de implementar qualquer ferramenta Open Source, postgree, jboss, etc. Mas preferencialmente MySQL e TOMCAT. Tem a pequena possibilidade de ter um servidor so pra isso, que poderia chamar de servidor de aplicações.

Uma documentação, com todos os diagramas UML das classes, os procedimentos, não sei, RUP me falaram sobre ele mas não sei se é isso, algo nesse nivel, de forma a facilitar a manutenção e implementação de novos sistemas. No final, eu pegaria todo este projeto pronto e migraria meu sistema pra ficar de acordo com o projeto. Porisso eu preciso de nomes, direções pra estudar em cima disso.

É isso senhores, desculpa tomar o tempo de voces, é que eu to perdido aqui em nomes, cada hora eu vejo uma coisa diferente, ta so mistrurando conceito. Preciso de uma coisa mais fixa, “é isso que se ta procurando cara”, ou “é esse conjunto de conceitos aqui” sei la.

Criado 12 de agosto de 2010
Respostas 0
Participantes 1