6
respostas

etapas de desenvolvimento

caros colegas, ja fiz varios cursos sobre java, mysql e tal... o problema eh que nao tenho direcionamento para desenvolver um software, como desenvolver do 0, desde a criacao do projeto e tal... sei que primeiro devo fazer um levantamento de requisitos para iniciar a criacao do software, mas nem sei por onde comecar e quais etapas devo seguir. se alguem souber qais etapas devo seguir e puder me ajudar, agradeco muito

6 respostas

Oi Leonardo. Então na verdade não existe um protocolo para criação... Tem pessoas que gosta de começar pelos modelos.. outras pelo banco de dados(quando não usam um framework orm) ou pela tela!

Meu conselho é imaginar um cenário.. uma aplicação que vende livros por exemplo. Pensa basicamente o que ela teria e começa a desenvolver por onde for mais confortável. Eu por exemplo início pela tela. Fazendo alguns projetos acredito que vai ficar mais claro para ti como criar algo do zero.

Fala Leonardo, tudo bom?

Complementando o que nosso amigo Guilherme falou...

Realmente existem diversas formas de se desenvolver, vários locais onde se é possível começar. Existem vertentes que acreditam que uma documentação forte e bem estruturada deve ser a base de tudo e outras que não dão muita força para uma grande documentação e focam na entrega de valor ao cliente (metodologias ágeis).

Existem equipes trabalhando de várias formas diferentes e começando de maneiras totalmente distintas, mas isso requer experiência e vivência para saber distinguir algumas situações.

No começo é normal se perder durante a construção e acabar com um produto diferente do que o desejado, por isso minha recomendação é que você busque documentar tudo que conseguir, pelo menos no início, isso te ajudará a te manter nos trilhos e seus objetivos e desafios de implementação serão mais claros. Vou listar aqui alguns modelos que você pode fazer para justamente você não se perder no meio do caminho.

1 - Minimundo

A ideia desta etapa é gerar um texto descritivo, sucinto e sem ambiguidade que descreva as regras de negócio do seu projeto. Recomendo que veja alguns exemplos de minimundo, existem diversos! (ajuda bastante na estruturação do seu banco de dados)

2- Requisitos Funcionais e não Funcionais

Uma explicação básica, requisito funcional é a materialização de uma solicitação/necessidade de um software. Descreve de forma sucinta as funcionalidades do sistema

Requisito não funcional, esse não tem ligação com funcionalidades do sistema, são conhecidos também por atributos de qualidade. Geralmente são mensuráveis.

Vale a pena pesquisar mais a fundo!

3 - Descrição das regras de negócio

Premissas e restrições que devem ser aplicados durante o desenvolvimento do seu sistema.

4 - Diagramas e modelos

Casos de uso, diagrama de classes, diagrama de interação/sequencia, diagrama de atividades, diagrama de estados. Existem diversos...

Você também pode utilizar alguma ferramenta de prototipagem como o balsamiq para te auxiliar.

Com essas documentações você estará bem certo do que fazer e como fazer.

Caso se interesse, você pode ler sobre engenharia de software, que aborda todos esses tópicos!

Espero ter ajudado, se quiser conversar mais sobre o assunto estou ai!

Abraços e bons estudos!

Leonardo, Quando comecei a estudar desenvolvimento como forma de treinar meus conhecimentos, imaginei um sistema e comecei pelas funcionalidades assim desenvolvi os diagramas de caso de uso, logo após surgiu o diagrama de classe. Claro que fiz isto apenas como treino. Em um ambiente empresarial terá o analista que irá adotar uma metodologia de desenvolvimento, seja Rup, Scrum ou outra. Caso você queira apenas para treinar suas habilidades recomendo estes dois diagramas o de Caso de uso e o de Classe. Asim você terá a visão de todas as funcionalidades do sistema.

como eu faria estes diagramas?

Diagrama de caso de uso, é simplesmente de criar um quadrado e colocar o nome de cada grande funcionalidade do seu sistema. Depois você cria um boneco para cada tipo de usuário que você vai ter no sistema, e traça linhas para dizer quais funcionalidades eles vai ter acesso.

Diagrama de classe é basicamente você definir como será organizada cada uma das suas classes. Você informa quais são os atributos e métodos que pretende implementar em cada uma das classes e quais são os relacionamentos das suas classes.

Leonardo Vieira, dê uma olhada no curso de UML da Alura, sei que vai te ajudar no planejamento de seu sistema. https://www.alura.com.br/curso-online-uml-fundamentos-na-pratica. Neste Curso explica sobre os diagramas, com certeza irá responder sua dúvidas. Forte abraço