Desenvolvimento Java [Geral]

Boa noite pessoal, tudo tranquilo?

Estava pensando, conhecer a linguagem não é (tão) difícil. O problema é aplica, então eu estava pensando que tal irmos discutindo a respeito do desenvolvimento em si?

Por exemplo vamos pensar no exemplo clássico de um sistema para uma padaria,

O primeiro passo é o levantamento de requisitos, mas blz, e ai? eu sentar e começar a programar de cara? Estão ententendo onde quero chegar? Nas etapas, como passarr por elas, o que usar…

Então vamos lá, começando:

Como obter os requisitos do projeto? qual o melhor (mais apropriado) meio ? existe alguma ferramenta para isso?

att
Carlos

[quote=carlosOFF]Boa noite pessoal, tudo tranquilo?

Estava pensando, conhecer a linguagem não é (tão) difícil. O problema é aplica, então eu estava pensando que tal irmos discutindo a respeito do desenvolvimento em si?

Por exemplo vamos pensar no exemplo clássico de um sistema para uma padaria,

O primeiro passo é o levantamento de requisitos, mas blz, e ai? eu sentar e começar a programar de cara? Estão ententendo onde quero chegar? Nas etapas, como passarr por elas, o que usar…

Então vamos lá, começando:

Como obter os requisitos do projeto? qual o melhor (mais apropriado) meio ? existe alguma ferramenta para isso?

att
Carlos[/quote]

Boa noite

Concordo com o Carlos, acho q seria muito legal se montássemos um sistema, mesmo sendo simples passo a passo.

Não sei se é possível, mas seria muito bom!

:wink:

É bom que vamos trocando experiências e aprendendo mais. Acho que fica bacana se cada um for comentando a respeito de cada passo, o primeiro eu (acho que:lol: ) não tenho dúvidas é o levantamento de requisitos

Levantamento de requisitos.

É uma das etapas mais importantes, pois a partir dela, é vai terá todo o desenvolvimento, e para fazê-la bem feita, seria ideial ter domínio do negocio do cliente, MAS, como geralmente isso não é possível, é importe ter uma conversa com o cliente para tentar entender as necessidades deles, saber o que realmente será útil para ele.

Com isso creio que dá para ter uma ideia da necessidade do cliente e de desenvolvimento. E agora o que seria interessante? Criar diagrama de classes? Casos de usos? Ou ainda Continuar repassar com o cliente as necessidades dele?

Primeiro, você levanta os requisitos do cliente… o levantamento deve ser o mais detalhado possível, pois lembre-se: você (geralmente) não é o único que vai desenvolver o sistema, e pode ser que você deixe o projeto no meio do caminho, caso ele seja grande, então você tem que ter tudo bem documentado, para que o seu sucessor possa ler e entender o que o cliente quer… jamais armazene informações “na memória”, ela é muito sujeita á falhas…

Apenas depois disso, começamos a fazer os diagramas de classe, casos de uso, modelo de dados, diagramas de sequencia, ou seja, começa-se a fase do planejamento…

E depois de feito o planejamento , é hora de botar a mão na massa… criar um protótipo, também…

Beleza então,

Fizemos todo o levantamento, conversamos com o cliente, com as pessoas pessoas que vão usar o sistema, mostramos as informações colhidas para o cliente.
Agora é colocar as mãos na massa!

Ai fica a pergunta, começar a desenvolver as classes? criar casos de usos? Fazer diagrama de classes?

Por onde vocês acham que fica melhor?

Bem, é como construir uma casa… você não levanta uma casa grande e complexa, sem fazer uma plana antes…

Eu acho que o ideal seria criar os casos de uso… diagramas de sequencia também…

Depois disso, criar o modelo de classes e o modelo de dados…

Com isso em mãos, talvez um protótipo, isso depende do caso…

E depois, começar á implementar o projeto…

Carlos nao e querendo ser rude mais vc ja ouviu falar de “Engenharia de Software”.
Se nao pesquise tem varios livros e varios artigos bacanas que vc encontra ate mesmo aqui no guj.
Proucure entender os passos da engenharia e tente aplica-los no seu dia-dia. E nao existe ou pelo menos eu nao conheça um software que faça isso tudo para voce.
Mais sim existem ferramentas e softwares para te auxiliar em cada parte do seu projeto.
Entao cara somente cabe a voce pesquisar e estudar um pouco mais e da inicio as suas atividades.
abraços e bons codigos.

Pesquise sobre:

  • Engenharia de Software
  • RUP
  • PMBOK

Tem mais coisas, mas isso aí que eu falei já é o suficiene pra te dar uma boa base…

Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.

[quote=Leonardo3001]Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.[/quote]

Não é bem por aí no mundo dos negócios… tenta chegar no seu GP e falar “vou fazer do meu jeito e não estou nem aí pras suas métricas e o seu processo”… :lol:

[quote=marcelo.bellissimo][quote=Leonardo3001]Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.[/quote]

Não é bem por aí no mundo dos negócios… tenta chegar no seu GP e falar “vou fazer do meu jeito e não estou nem aí pras suas métricas e o seu processo”… :lol: [/quote]

Nao eh bem isso que o Leonardo quis dizer… ele quis dizer justamente sobre o “PROCESSO” e as Metricas que seu GP (Super power mega hiper formado e certificado) possui…

Ele ta falando de metodos onde voce tem uma pessoa que chuta prazos e “mede” o Software como se fosse uma coisa estatica…

Lembro da Engenharia de Software que aprendi na faculdade… A primeira comparacao que fizemos foi… “Quando voce vai construir um predio…” heueheueheuehueehuhe e eu, sem experiencia no dia a dia do negocio, acreditava em tudo como lei…

Cara… da uma lida sobre Metodologias Ageis e seja feliz…

Abracos 8)

Da pra comecar ja: http://www.manifestoagil.com.br/

[quote=adriano_si][quote=marcelo.bellissimo][quote=Leonardo3001]Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.[/quote]

Não é bem por aí no mundo dos negócios… tenta chegar no seu GP e falar “vou fazer do meu jeito e não estou nem aí pras suas métricas e o seu processo”… :lol: [/quote]

Nao eh bem isso que o Leonardo quis dizer… ele quis dizer justamente sobre o “PROCESSO” e as Metricas que seu GP (Super power mega hiper formado e certificado) possui…

Ele ta falando de metodos onde voce tem uma pessoa que chuta prazos e “mede” o Software como se fosse uma coisa estatica…

Lembro da Engenharia de Software que aprendi na faculdade… A primeira comparacao que fizemos foi… “Quando voce vai construir um predio…” heueheueheuehueehuhe e eu, sem experiencia no dia a dia do negocio, acreditava em tudo como lei…

Cara… da uma lida sobre Metodologias Ageis e seja feliz…

Abracos 8)

Da pra comecar ja: http://www.manifestoagil.com.br/[/quote]

Não tem nada de chute, existem métodos muito bem definidos de se estimar custos e prazos de projetos, utilizando valores que podem ser facilmente mensurados por um bom GP…

Quem estuda metodologias ágeis sabe que o grande ponto fraco é sua falta de capacidade para determinar os riscos do projeto… agora, se você fosse uma empresa grande, com um projeto grande, utilizaria uma metodologia que não te garante os riscos? O bolso dói e não deixa, né?

GP’s super power mega hiper formados e certificados, usam esse tipo de metodologia, pois para projetos super power mega hiper complicados e grandes, o risco é super power mega hiper perigoso e grande também, pra se usar outro tipo de metodologia…

Não digo que não há mercado pra esse tipo de metodologia, sempre tem uma ou outra empresa com coragem pra arriscar, mas convenhamos que a grande maioria não compartilha dessa opinião…

[quote=marcelo.bellissimo][quote=adriano_si][quote=marcelo.bellissimo][quote=Leonardo3001]Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.[/quote]

Não é bem por aí no mundo dos negócios… tenta chegar no seu GP e falar “vou fazer do meu jeito e não estou nem aí pras suas métricas e o seu processo”… :lol: [/quote]

Nao eh bem isso que o Leonardo quis dizer… ele quis dizer justamente sobre o “PROCESSO” e as Metricas que seu GP (Super power mega hiper formado e certificado) possui…

Ele ta falando de metodos onde voce tem uma pessoa que chuta prazos e “mede” o Software como se fosse uma coisa estatica…

Lembro da Engenharia de Software que aprendi na faculdade… A primeira comparacao que fizemos foi… “Quando voce vai construir um predio…” heueheueheuehueehuhe e eu, sem experiencia no dia a dia do negocio, acreditava em tudo como lei…

Cara… da uma lida sobre Metodologias Ageis e seja feliz…

Abracos 8)

Da pra comecar ja: http://www.manifestoagil.com.br/[/quote]

Não tem nada de chute, existem métodos muito bem definidos de se estimar custos e prazos de projetos, utilizando valores que podem ser facilmente mensurados por um bom GP…

Quem estuda metodologias ágeis sabe que o grande ponto fraco é sua falta de capacidade para determinar os riscos do projeto… agora, se você fosse uma empresa grande, com um projeto grande, utilizaria uma metodologia que não te garante os riscos? O bolso dói e não deixa, né?

GP’s super power mega hiper formados e certificados, usam esse tipo de metodologia, pois para projetos super power mega hiper complicados e grandes, o risco é super power mega hiper perigoso e grande também, pra se usar outro tipo de metodologia…

Não digo que não há mercado pra esse tipo de metodologia, sempre tem uma ou outra empresa com coragem pra arriscar, mas convenhamos que a grande maioria não compartilha dessa opinião…[/quote]

Ops…Ok, cada um trabalha do jeito que quer e eh feliz como quer… mas Oh, so pra constar… faz tempo que Principios Ageis deixaram de ser aplicados so para pequenos projetos… Podia dar uma atualizada… Falows :wink:

[EDIT] - verdade… realmente a maioria nao compartilha da opniao… Porque sera que a maioria desses projetos Hiper Ultra Mega Robutoz, Grandes e Dificeis, vivem super, hiper megas Power atrasados ??? Cara… so tem uma pessoa que saberia estimar prazos e custos… esse cara se chama CLIENTE… e esse nao sabe o que quer ate ver alguma coisa funcionando…

Falows :wink:

Existem 2 livros que considero essenciais para um desenvolvedor ou gerente de projeto:

Análise e Projeto Orientado ao Objeto (Head First)
Desenvolvimento de Software (Head First)

Estes livros te darão conceitos essenciais do que vc esta procurando.

[quote=adriano_si][quote=marcelo.bellissimo][quote=adriano_si][quote=marcelo.bellissimo][quote=Leonardo3001]Cara,

é assim: o pessoal está lhe dando (e você também está propenso a) uma receita Waterfall de fazer as coisas. Porém, uma coisa é certa na nossa área: Waterfall não funciona. Aliás, na nossa área está cheio disso: um monte de coisas que sabe-se que não funciona, mas nada de coisas que certamente funciona.

Você postou no fórum de Java Básico. Então pressuponho que você tem pouca prática com programação. Por isso, te dou um conselho: se você quer fazer um sistema de padaria, faça-o; mesmo não tendo uma ideia de como fazer, faça de qualquer jeito.

O único jeito de aprender é errando, e é nos erros que você vai entender a falta que determinada prática ou metodologia faz. Esquece essa discussão de melhor forma de fazer as coisas. Não existe receita pronta e você só vai entender o que é bom praticando.[/quote]

Não é bem por aí no mundo dos negócios… tenta chegar no seu GP e falar “vou fazer do meu jeito e não estou nem aí pras suas métricas e o seu processo”… :lol: [/quote]

Nao eh bem isso que o Leonardo quis dizer… ele quis dizer justamente sobre o “PROCESSO” e as Metricas que seu GP (Super power mega hiper formado e certificado) possui…

Ele ta falando de metodos onde voce tem uma pessoa que chuta prazos e “mede” o Software como se fosse uma coisa estatica…

Lembro da Engenharia de Software que aprendi na faculdade… A primeira comparacao que fizemos foi… “Quando voce vai construir um predio…” heueheueheuehueehuhe e eu, sem experiencia no dia a dia do negocio, acreditava em tudo como lei…

Cara… da uma lida sobre Metodologias Ageis e seja feliz…

Abracos 8)

Da pra comecar ja: http://www.manifestoagil.com.br/[/quote]

Não tem nada de chute, existem métodos muito bem definidos de se estimar custos e prazos de projetos, utilizando valores que podem ser facilmente mensurados por um bom GP…

Quem estuda metodologias ágeis sabe que o grande ponto fraco é sua falta de capacidade para determinar os riscos do projeto… agora, se você fosse uma empresa grande, com um projeto grande, utilizaria uma metodologia que não te garante os riscos? O bolso dói e não deixa, né?

GP’s super power mega hiper formados e certificados, usam esse tipo de metodologia, pois para projetos super power mega hiper complicados e grandes, o risco é super power mega hiper perigoso e grande também, pra se usar outro tipo de metodologia…

Não digo que não há mercado pra esse tipo de metodologia, sempre tem uma ou outra empresa com coragem pra arriscar, mas convenhamos que a grande maioria não compartilha dessa opinião…[/quote]

Ops…Ok, cada um trabalha do jeito que quer e eh feliz como quer… mas Oh, so pra constar… faz tempo que Principios Ageis deixaram de ser aplicados so para pequenos projetos… Podia dar uma atualizada… Falows :wink:

[EDIT] - verdade… realmente a maioria nao compartilha da opniao… Porque sera que a maioria desses projetos Hiper Ultra Mega Robutoz, Grandes e Dificeis, vivem super, hiper megas Power atrasados ??? Cara… so tem uma pessoa que saberia estimar prazos e custos… esse cara se chama CLIENTE… e esse nao sabe o que quer ate ver alguma coisa funcionando…

Falows ;)[/quote]

Eu sei disso, mas o problema é que a ideologia dos grandes empresarios ainda é aquela ideologia tapada de só fazer as coisas com certeza, e achar que tudo é previsível e exato, quando nós sabemos que não é… até essa ideologia idiota mudar, temos que conviver com essas metodologias antigas… aos poucos as ágeis vão tomando conta, assim espero…

Mas acredite, muito dessa ideologia idiota ainda parte de dentro da nossa classe… As pessoas usam Praticas Ageis como se fossem a bala de Prata dos Problemas, sem saber de PN, fazem merda e queimam o filme…

Quando nao, falo porque vivo essa situacao, voce entra na guerra pra tentar convencer seus superiores de que a coisa funciona e o cara nao liga e diz que isso eh MODA… Veio, o cara nao enxerga um palmo na frente do nariz e ta tao grudado, mas tao grudado aos seus antigos conceitos que nao consegue se ver mudando… Tambem… eles tem tantas certificacoes de Letrinhas tambem, que fica cruel adimitir a mudanca…

Quanto ao amigo criador do topico… Cara nao pense que desviamos do assunto… so queremos te livrar do Waterfall como disse um amigo ali em cima…

Falows :wink:

[quote=marcelo.bellissimo]Não tem nada de chute, existem métodos muito bem definidos de se estimar custos e prazos de projetos, utilizando valores que podem ser facilmente mensurados por um bom GP…

Quem estuda metodologias ágeis sabe que o grande ponto fraco é sua falta de capacidade para determinar os riscos do projeto… agora, se você fosse uma empresa grande, com um projeto grande, utilizaria uma metodologia que não te garante os riscos? O bolso dói e não deixa, né?

GP’s super power mega hiper formados e certificados, usam esse tipo de metodologia, pois para projetos super power mega hiper complicados e grandes, o risco é super power mega hiper perigoso e grande também, pra se usar outro tipo de metodologia…

Não digo que não há mercado pra esse tipo de metodologia, sempre tem uma ou outra empresa com coragem pra arriscar, mas convenhamos que a grande maioria não compartilha dessa opinião…[/quote]

Não sei quem disse isso (acho que Mandelbrot) e não lembro se é exatamente desse jeito, mas a frase é assim: “Tem gente que prefere acreditar numa mentira que responda todas as suas dúvidas do que na pura verdade de que não podemos saber de tudo.”

O grande problema é que as pessoas encaram a “falta de definição” do Agile como uma fraqueza da metodologia, quando na realidade os projetos é que são inerentemente sem definição. A diferença é que o Waterfall mascara todas as incertezas e todas as desconfianças. Não estou defendendo o Agile, apenas dizendo que Waterfall é errado.


Havia um outro ponto da minha conversa que se perdeu. Pelo contexto, o autor original da thread queria saber como praticar, e aí ele pensava em mil processos para fazer a coisa. A minha dica era para parar de usar o processo como desculpa, e começar a praticar escrevendo o software, mesmo que não estivesse correto no ínicio. O meu pressuposto era de que ele estava estudando, e não trabalhando, onde o custo de um erro é zero.