Como fazer um projeto bem organizado e limpo?

Olá pessoal.

Fui designado a fazer um sistema de ponto biométrico aqui na empresa onde trabalho. Eu tenho uma semana para análise e 20 dias para desenvolvimento. Bom, tempo eu tenho de sobra hehe, mas nesse tempo de análise, eu queria usar diagramas e fazer uma documentação bem limpa e que seja de fácil entendimento.

Quais são os primeiros passos? O que eu devo fazer em primeiro lugar? E depois como eu devo continuar antes de por a mão nos códigos?

Obrigado.

Pilantra,

Como seu tempo é curto, eu sugiro que faça os diagramas de Casos de Uso, e os de classe.
E outra coisa importante, deixe bem definidos os requisitos e as regras de negócio.

Concordo com o fsquadro, utilizando prototipagem tambem, pelo menos na interface (Se possuir uma interface de software), bem mais procure ler sobre UML, agora o Caso de Uso e Classes é fundamental para um sistema bem modelado.

Abraços

tempo vc tem de sobra???
vc tem certeza do que esta falando?

Olha, não quero te desapontar.
Mas tu não vai aprender isso em um dia para aplicar em uma semana.

Comece por onde o pessoal falou ai, mas tem anos pela frente para você poder dizer que está realmente limpo e organizado.

Principalmente, não desista.

Desculpe,

apesar de não ser o tema… tem relação.

Você já tem definido como será realizado a avaliação biométrica?

Você está com um scanner de digitais por exemplo? você sabe se serão capturadas imagens ou números? você tem idéia de como armazenar esta informação para não vazar posteriormente?

Se for imagem, você sabe como compará-las?

Se você souber e puder, post aqui. Caso contrário… meu amigo você está em uma fria.

fw

  1. Se você não quer que seu sistema atrase, NUNCA pense isso (vide Lei de Parkinson)

  2. Confie em mim: não divida seu projeto em fases.

  3. Que tal você fazer software ao invés de desenhos e textos?

Olá,

Sim, eu já fiz um projeto piloto, a base está praticamente pronta, agora é só fazer o sistema. Praticamente a análise já está feita hehe, eu acho que termino em duas semanas o que eu tenho pra fazer, mas eu fiquei 2 meses no projeto piloto. Mas, eu fiz sem análise nenhuma, fui testando e tentando e por ae vaí. Mas queria fazer diferente dessa vez, acho que com análise qualquer projeto fica mais agradável de trabalhar.

Mas valeu, já conhecia os diagramas, mas queria sabern quais os primeiros passos antes de por os diagramas em prática.

[quote=Pilantra]Olá,

Sim, eu já fiz um projeto piloto, a base está praticamente pronta, agora é só fazer o sistema. Praticamente a análise já está feita hehe, eu acho que termino em duas semanas o que eu tenho pra fazer, mas eu fiquei 2 meses no projeto piloto. Mas, eu fiz sem análise nenhuma, fui testando e tentando e por ae vaí. Mas queria fazer diferente dessa vez, acho que com análise qualquer projeto fica mais agradável de trabalhar.

Mas valeu, já conhecia os diagramas, mas queria sabern quais os primeiros passos antes de por os diagramas em prática.[/quote]

O que estava desagradável no projeto piloto? Seja o que for eu te garanto que incluir uma fase de análise não vai te salvar por maus bocados…

Agora não entendi.

Como assim?

Ta dizendo para sair programando sem projetar?

Você sabe o que esta dizendo?

[quote=s4nchez]
3) Que tal você fazer software ao invés de desenhos e textos?[/quote]

Essa é uma caracteristica de métodos ageis nao é?
tipo XP, scrum entre outros…

mas diga… nessas metodologias não são desenhado nada?

[]´s
Geraldo

[quote=nbluis]Agora não entendi.

Como assim?
[/quote]
Dividindo em fases você vai ser tentado a fazer TODA a análise e depois TODA a programação. E quando você estiver na programação e ver que muita coisa da análise previsará ser revista você vai se estressar…

[quote=nbluis]

Ta dizendo para sair programando sem projetar?[/quote]

Não, to sugerindo projetar com código! :wink:

[quote=s4nchez][quote=nbluis]Agora não entendi.

Como assim?
[/quote]
Dividindo em fases você vai ser tentado a fazer TODA a análise e depois TODA a programação. E quando você estiver na programação e ver que muita coisa da análise previsará ser revista você vai se estressar…
[/quote]
Tu tem que ter um objetivo para poder ter o que desenvolver.
A análise proporciona isso.
Deixando aspectos mais técnicos e específicos para a fase de implementação.
Acho que vc esta misturando as coisas
A análise cuida da análise, o desenvolvimento cuida do desenvolvimento.

[quote=s4nchez]

[quote=nbluis]

Ta dizendo para sair programando sem projetar?[/quote]

Não, to sugerindo projetar com código! ;)[/quote]
Esse é o maior erro que se pode cometer.
Assim tu estarás projetando com uma mente de programador, e não de alguém que vai utilizar o que você faz.
Sem esquecer que tu vai reescrever todo o seu código umas 40 vezes por causa disso;

Será que só eu discordo disso?
Pelo amor de deus, pra que existem metodologias de desenvolvimento?
Para que Analistas, Arquitetos, Gerentes de Projeto, DBA’s, se tu vai fazer tudo ao mesmo tempo que desenvolve? :lol:

[quote=geraldobarboza][quote=s4nchez]
3) Que tal você fazer software ao invés de desenhos e textos?[/quote]

Essa é uma caracteristica de métodos ageis nao é?
tipo XP, scrum entre outros…

mas diga… nessas metodologias não são desenhado nada?

[]´s
Geraldo[/quote]

Você pode desenhar o que quiser, só que a prioridade é software funcionando, e não sua documentação. Por isso que a especificação em desenvolvimento ágil geralmente é representada por testes automatizados.

[quote=nbluis][quote=s4nchez]

[quote=nbluis]

Ta dizendo para sair programando sem projetar?[/quote]

Não, to sugerindo projetar com código! ;)[/quote]
Esse é o maior erro que se pode cometer.
Assim tu estarás projetando com uma mente de programador, e não de alguém que vai utilizar o que você faz.
Sem esquecer que tu vai reescrever todo o seu código umas 40 vezes por causa disso; [/quote]

Espera aí, qual é exatamente o problema de “projetar com uma mente de programador” ?
A minha definição de programador esta muito além de “macaco evoluído que recebe um diagrama e digita código”

[quote=s4nchez][quote=geraldobarboza][quote=s4nchez]
3) Que tal você fazer software ao invés de desenhos e textos?[/quote]

Essa é uma caracteristica de métodos ageis nao é?
tipo XP, scrum entre outros…

mas diga… nessas metodologias não são desenhado nada?

[]´s
Geraldo[/quote]

Você pode desenhar o que quiser, só que a prioridade é software funcionando, e não sua documentação. Por isso que a especificação em desenvolvimento ágil geralmente é representada por testes automatizados.

[/quote]

hum… assisti uma palestra sobre métodos ageis…
Achei bacana, e sem falar que cada vez mais o SCRUM vem sendo recomendado…

valew

[]´s
Geraldo

Espera aí, qual é exatamente o problema de “projetar com uma mente de programador” ?
A minha definição de programador esta muito além de “macaco evoluído que recebe um diagrama e digita código”[/quote]

Pelo mesmo motivo que hoje existam equipes de testes desacopladas do ambiente de desenvolvimento.
Alguém que projeta fora do desenvolvimento, consegue realmente entender a finalidade do software quando a sua necessidade e principalmente usabilidade do mesmo.

Já se tu larga isso nas mãos de um programador muitas vezes ele vai estar mais preocupado com qual a consulta vai ser rodada para pegar os dados, como ele vai fazer o framework entender o que ele quer ou ainda como manter a performance de tudo isso, e o mais importante que é o cliente fica de lado.

Exatamente por isso que eu falei.

[quote=nbluis]
A análise cuida da análise, o desenvolvimento cuida do desenvolvimento. [/quote]

Não que programadores sejam incapacitados, mas sim é uma questão de visão que cada um deve ter a cada fase.

Nunca ouviram falar em projetar o mundo perfeito?

Não sou eu que estou misturando duas coisas. É você que está tentando separar as duas coisas: análise faz parte do desenvolvimento, e como tal não deveria ser tratada como algo distinto, que deve ser resolvida apenas no início do projeto e apenas pelos analistas

Por isso que eu acredito que desenvolvedor != programador. E também não me iludo que analista = usuário :wink:

[quote=nbluis]
Será que só eu discordo disso?
Pelo amor de deus, pra que existem metodologias de desenvolvimento?
Para que Analistas, Arquitetos, Gerentes de Projeto, DBA’s, se tu vai fazer tudo ao mesmo tempo que desenvolve? :lol: [/quote]
Metodologia não é só desenvolvimento em cascata, sabia? E estes papéis devem existir porque cada um é especialista numa área, e não porque o trabalho de um começa quando termina o de outro…

bem, eu prefiro uma abordagem Ágil, equipe de testes acopladas com o ambiente de desenvolvimento.

Não gosto de “Análise cuida da análise, desenvolvimento cuida do desenvolvimento”, prefiro “O time decide como vamos fazer x e y”.
Aliás, não gosto de todos estes nomes que usam para rotular programadores/desenvolvedores “Analista”, “Arquiteto”… sem contar as variações “Junior”, “Pleno” e “Senior”. Claro que alguns tem maiores conhecimentos em determinadas áreas, mas não concordo com uma divisão rígida.

Eu nunca ouvi falar em “projetar o mundo perfeito” e uma busca no google não me ajudou.

[quote=s4nchez]
Não sou eu que estou misturando duas coisas. É você que está tentando separar as duas coisas: análise faz parte do desenvolvimento, e como tal não deveria ser tratada como algo distinto, que deve ser resolvida apenas no início do projeto e apenas pelos analistas[/quote]
Concordo que a análise faz parte do desenvolvimento,mas não apenas no início do projeto e sim ao longo dele.

Aqui concordo contigo.

[quote=s4nchez]
Metodologia não é só desenvolvimento em cascata, sabia? E estes papéis devem existir porque cada um é especialista numa área, e não porque o trabalho de um começa quando termina o de outro…[/quote]
Acho que me expressei mal.
O que digo é que, não vamos colocar um projeto nas costas de um desenvolvedor.
Agora imagine como não vai ficar um software que conta com um desenvolvedor dentro da equipe que faz todas as fases do software sozinho, sem gerar documentação nenhuma e analisando e especificando enquanto desenvolve.

Eu não compraria isso. :lol:

Sei que não é exatamente isso que querem dizer, mas é isso que esta transparecendo nesta thread.

:smiley: