Olá
Tudo depende…
Algumas coisas dependem dos requisitos do projeto. Exemplo: se o sistema será acessado via página web ou via interface gráfica de janelas.
Outras coisas são decisões internas como a escolha da base de dados, etc.
Normalmente se usa um sistema de controle de versões. Hoje em dia um dos melhores é o GIT (procure no Google que achará um monte de material sobre este SCM)
Para criar interfaces gráficas o mais recomendado é criar na unha. Se pode usar algum programa para gerar telas mas há enorme risco do sistema ficar com aquela cara horrível de VB com as telas sem padrões definidos cada uma com seu tamanho. Só que criar na unha não significa usar o notepad ou similar. Comumente se usam IDEs como o Eclipse ou o Netbeans que também são usadas para criar as classes que atendam os casos de uso e/ou as histórias dos usuários.
Primeiro aprenda a fazer do jeito que o livro que está estudando ensina. No dia em que arranjar um emprego facilmente se adaptará ao modo de trabalho na empresa.
Importante, mas muito importante mesmo: se você tentar limitar seu conhecimento somente ao necessário para trabalhar, dificilmente aprenderá um mínimo que sirva para alguma coisa porque ninguém é advinho. Primeiro estude a programar, lógica de programação e depois parta para Java. Escolha a trilha do seu livro e boa sorte.
PS: Sem negrito, please
[]s
Luca