DESENVOLVIMENTO DE SISTEMAS - FORMA?ÃO

FBUR 05/08/2014 09:12:14
#440197
Eu tenho muita facilidade em enxergar as necessidades do cliente e transformá-las em um software produtivo. Mas sinto muita dificuldade em abstrair os requisitos dentro de um prazo. Muitas vezes a reunião perde o foco. Mesmo assim os meus sistemas são muito funcionais e os clientes ficam bastante satisfeitos.

Estou prevendo que logo irei trabalhar apenas com desenvolvimento. Então estou querendo uma formação em desenvolvimento de sistemas. Procuro algo voltado para tecnólogo, pois penso que posso aplicar a teoria mais rapidamente.

Gostaria de uma formação que focasse em metodologias. Preciso de um curso que me responda:
- como planejar e desenvolver as etapas de um sistema? Levantamento de requisitos, análise, fluxos, etc.
- como planejar o banco de dados?
- como utilizar metodologias? XP, RUP, UML?
- com abstrair os requisitos?
- gerar documentação?

Eu sou formado em ciência da computação em desde 2008. Quando falo que tenho dificuldade em abstrair dentro de um prazo quero dizer que a abstração não é um problema. Até que tenho facilidade. Quando digo abstrair estou dizendo que consigo entender exatamente como transformar a regra de negócios em lógica de programação. O problema está em fazer o cliente entender o que eu preciso que ele me diga para gerar essa lógica.

Quando começamos as reuniões falamos de forma mais global e genérica, montando um fluxo dos processos sem detalhar nada. Mas não consigo fazer o cliente seguir uma ordem lógica. Em determinados momentos o cliente já está detalhando os requisitos específicos.

Em certos casos os requisitos específicos me ajudam entender o todo. Mas sinto que o caminho não é esse. Começar, avançar, voltar, detalhar, parar, reler, apagar, agora sim entender, recomeçar, fazer fluxo, avançar lá na frente e perceber que essa informação altera o fluxo lá trás, alterar o fluxo, recomeçar... Tá muito bagunçado.

Então, penso eu que se eu tiver uma formação com metodologias que guiem nas etapas dos processos do desenvolvimento, eu acho que conseguirei ter ferramentas para tomar o controle da reunião, falando o necessário nos momentos certos.

Acima de tudo fazer os stakeholders entenderem o que eu preciso que eles me digam nos momentos certos. No início um brainstorming é importante, mas às vezes parece que isso é do início ao fim.

Na faculdade estudei sobre vários conceitos e metodologias. No entanto, além do curso de bacharel em CC não ser específico de desenvolvimento de sistemas e mesmo contemplando teoria e prática, acho que uma formação direcionada é mais efetiva. Se eu fosse me analisar depois de formando, não conseguiria desenvolver um projeto sequer. Só depois de ler livros, um curso aqui e ali e, claro, a prática, que o negócio começa a fazer sentido.

Eu tenho bastante facilidade em estudo autodidata. Leio livros e coloco em prática. Se preciso aprender algo novo, compro alguns livros, estudo e consigo evoluir. Tendo objetivo sei que consigo aprender e desenvolver qualquer coisa. Agora quando o negócio é gerar a documentação, fluxos, identificação de requisitos e funções do sistema, a coisa fica fora de controle.

Eu conheço pessoas que conhecem pessoas E esses conhecidos dos conhecidos desenvolvem projetos médios e grandes. Uma vez eu pedi uma documentação interna deles, só para matar a curiosidade. Eu vi pela documentação que eles aplicam vários e vários conceitos do desenvolvimento de sistemas. Lá parece que tudo segue uma ordem para atingir certas etapas. é isso que eu procuro.

Análise e desenvolvimento de sistemas é o que me chama mais atenção. Mas não sei se faço tecnólogo, pós ou um curso pontual para atingir meus objetivos.

Resumindo, imagine você com um cliente que tem uma empresa de seguros. Considere que eles não tem sistemas, querem desenvolver e não comprar um pronto. Como eu nunca trabalhei com seguros, preciso conhecer os processos para poder desenhar o fluxo e a partir daí os requisitos genéricos e específicos, funções do sistema, etc.

Muitas vezes começamos a rascunhar o fluxo de processos, mas o cliente não entende que não pode detalhar nada neste ponto e eu não consigo explicar o que ele precisa me dizer. Na verdade eu até explico, mas é difícil para ele entender. Por isso acho que certas metodologias me ajudarão muito.

Eu não posso jogar a responsabilidade no cliente de algo que não saiu como deveria.

Esse é só um exemplo do que preciso. Independente do negócio, preciso de ferramentas (talvez UML, mas mais o que?) para me ajudar a seguir por etapas do desenvolvimento. Tenho um livro de UML (não tenho o autor e editora agora). A impressão que tenho é que nem tudo lá eu preciso usar. O difícil é saber o que.

Hoje eu tenho 3 projetos grandes que estão nesta fase. Até que estou conseguindo, mas algumas vezes é sofrido gerar a documentação para começar a programar.

Na parte da operacional (programação orientada a objetos, escolha da linguagem, escolha e criação do banco, desenvolvimento do código, etc.) é tranquila. O meu problema é gerar a documentação para começar a programar. Preciso de metodologias e ferramentas que me ajudem nisso.

Me sinto muito confortável escrevendo o programa. Acredito que consigo desenvolver qualquer lógica e escrevê-la. Quero me sentir assim na documentação do sistema (se é que esse é o nome dado para fazer p levantamento do fluxo de processos, definição dos requisitos e todas as funções que o sistema terá).

Será que só a UML resolveria e eu querendo logo uma formação? Ou é o caso de uma pós ou tecnólogo mesmo?

Abs.
TUNUSAT 05/08/2014 13:06:12
#440205
FBUR,

Puxa, me identifique com o que você escreveu, mas não consigo achar o que você procura. Talvez tenha no exterior, aqui no Brasil não.
Você disse que tem amigos de grande empresas que usam metodologia. Você poderia citar o nome destas empresas? (não precisa ser em público, pode ser particular) é que já trabalhei para algumas grandes empresas e consultorias que estava tudo bagunçado. Nunca vi uma empresa que tenha organização no Brasil, mesmo as multinacionais.
Como é para seu particular, acho louvável você querer aprender UML, Designer Patterns, etc.

Bom, caso encontre algum curso legal, pode me avisar?
Achei interessante um curso pós-graduação na FMU voltado à WEB, na UNIP também tinha um, mas parece que foram descontinuados.

[][ô]s,
Tunusat.
FBUR 05/08/2014 18:14:06
#440210
Caro TUNUSAT,

Obrigado por compartilhar sua experiência. Pode deixar que vou compartilhar o que eu econtrar.

Segundo sugestões de colegas, o mais recomendado seria uma pós em análise e desenvolvimento de sistemas.

é como eu disse. Eu consigo entender as regras de negócio do cliente. Mas eu faço do meu jeito. O que eu quero é fazer do jeito certo, padronizado. Até porque creio que seguindo padrões nós conseguimos atingir os objetivos de forma mais clara e rápida.

é como um cabo de rede Cat5. Você pode montar de qualquer jeito que [Ô]funciona[Ô], contanto que os pares correspondam nas pontas. Mas existem padrões: 568A 568B. Sabemos as consequências de não seguir estes padrões. Se for levar ao pé da letra, existem até formas de descascar a capa e escovar os fios. Mas para mim, montar no padrão 568A ou 568B já é suficiente. é assim que vejo os padrões de projetos, só que muito mais complexo, claro.

Eu seu que existem metodologias (como a UML) para levantar os requisitos e criar a documentação. Eu quero entender as etapas do desenvolvimento e como é que nasce a tal documentação com o fluxo de processos, requisitos gerais, detalhados, etc.

Imagine 3 empresas: Uma metalúrgica, uma consultoria e uma seguradora. Três negócios completamente diferentes e que eu nunca tiva contato. Em todas elas você precisa conhecer os processos internos para poder montar um fluxo, conversar com as pessoas para entender o todo. Deve existir alguma metodologia que me ajude a ir por etapas: A visão geral da empresa e dos processos. Depois entender cada processo. Depois de tudo entendido, conseguir detalhar. Claro que eu não vou aplicar as mesmas metodologias da mesma forma que a TOTVS faz. Vamos guardar as devidas proporções.

Eu não vejo que isso é tão complicado assim. é como um programador aprendendo Orientação a Objetos (meu caso). Posso fazer um pequeno projeto ou um grande projeto com OO. Mas a OO é a forma certa de programar. Dá pra ser estruturada, mas OO hoje é o ideal.

Abs.
TUNUSAT 06/08/2014 08:05:46
#440219
FBUR,

é bom saber que existem pessoas que pensam como você. A maioria só quer [Ô]sentar na frente do computador e ter boa vontade[Ô] achando que isto basta. Muitos gerentes e diretores de empresa no Brasil ainda são arcaicos e pensam desta forma ignóbil.
Quando eu desenvolvo um novo sistema eu pelo menos forço para fazer o [Ô]Diagrama de Classes[Ô] que é um pouco mais completo que o antigo [Ô]DER[Ô] (Diagrama Entidade Relacionamento).
Usar outros diagramas, como de sequência, diagrama de estado, diagrama de casos de uso em OO eu nunca vi. Não conheço nenhuma empresa grande que usa. Já trabalhei para o Itaú, Porto Seguro (pelo Itaú), Caixa, Leroy Merlin (usa o software Gemco Anyway da Bematech - veja nos computadores dentro da loja), Dorsay Monange (acho que não existe mais esta empresa - foi vendida para [Ô]MultiMarcas[Ô]), Telesp (agora é Telefônica), SIVISA - Vigilância Sanitária do Estado (contrato avulso pela OPAS - Organização Pan Americana de Saúde) e mais um montão de pequenas e médias empresas e até um ONG média (eu NÃO era voluntário, meu contrato era da ONU - Organização das Nações Unidas).
A tempos atrás eu vi DER e um DFD (Diagrama de Fluxo de Dados) foi o que eu aprendi na faculdade!
A única empresa que eu trabalhei que tinha um pouco mais de documentação que o acima foi porque a dona era professora de cursos de informática avulso e incentivava a prática.
A grande maioria só tinha o DER. Muitas nem isto tinha!
Atualmente faço manutenção em 5 pequenos sistemas VB6 que nem sequer DER tem. Sinto uma falta danada ... fico um tanto desorientado.
Puxa vida, eu gostaria muito de fazer um projeto do zero que tenha a documentação OO completa. Mas acho que não conseguirei nunca, pois quem sabe fazer não quer chamar um cara que não tem prática e é muito raro achar algum lugar que faça ... na verdade não conheço nenhum.

Achei um link interessante:
http://editthis.info/grupo4_ahand/Main_Page

[][ô]s,
Tunusat.
ERICKGLEDSON 06/08/2014 08:32:46
#440220
Bom dia!

Pelo o que li, a minha sugestão ficaria em Engenharia de Software.

Boa sorte e sucesso.
TUNUSAT 06/08/2014 13:06:42
#440228
FBUR,

A título de exemplo, pesquisei no Google o termo [Ô]pós graduação UML[Ô] e encontrei várias, mas em locais diferentes do Brasil.
Importante: Quase todas usam como modelo de programação a linguagem Java.

==========================================

Engenharia em Software com Ênfase em UML
http://www.grupointegrado.br/posgraduacao/?pg=detalhes&curso=engenharia-em-software-com-enfase-em-uml

==========================================

Especialização em Engenharia de Software com UML
http://www.unifil.br/portal/hotsites2010/posgraduacao2009/nucleoIV/2_2012.html

==========================================

Engenharia de Software com UML
http://www.emagister.com.br/engenharia-software-com-uml-cursos-2632520.htm

==========================================

Engenharia de Software com ênfase em UML - Turma IV
http://www.univel.br/pos/cursos.php?idc=128

==========================================

Pós-graduação em Engenharia de Software com UML - Santa Catarina
http://br.universidades.org/pos-graduacao-em-engenharia-de-software-com-uml-santa-catarina-joinville-senai-FO-26924

==========================================

Pós Graduação – Lato Sensu em Engenharia de Software com ênfase em UML e Programação Orientada a Objetos.
http://kessia.blogs.unipar.br/2012/01/06/pos-graduacao-%E2%80%93-lato-sensu-em-engenharia-de-software-com-enfase-em-uml-e-programacao-orientada-a-objetos/

==========================================

Em Sampa ...
http://www.fiap.com.br/
http://www.ibta.com.br/saopaulo/modules/cursos.php?ctypeid=2&topicid=6

==========================================

Via WEB:
http://ult.com.br/ibm-softwares-pos/

==========================================

Se você quiser sair estudando agora:
http://www.efagundes.com/webcast/index.php/uml-unified-modeling-language-parte-1/

==========================================

[][ô]s,
Tunusat.
FBUR 07/08/2014 13:29:42
#440251
Vários links muito bons!
LLAIA 08/08/2014 18:49:43
#440293
Cara, o que vc tá falando é mais habilidade de comunicação do que técnica. Saber levantar os requisitos de forma correta, é saber extrair do especialista do negócio o que ele realmente precisa. Claro que, vai depender também da disposição de tal/tais pessoa(s). Refactoring é importante também.

Estou estudando Domain Driven Design, e é interessante a LINGUAGEM ONIPRESENTE que é promovida na metodologia, o comprometimento em manter o modelo atualizado, o código expressando o modelo e etc. é esse o livro: http://www.altabooks.com.br/domain-drive-design-atacando-as-complexidades-no-coracao-do-software.html
FBUR 10/08/2014 21:11:55
#440325
Muito bom!

Abs.
Tópico encerrado , respostas não são mais permitidas