Quer ter acesso a todos os cursos desse Guia?
Engenharia de Software para programadores
Ter boas noções sobre engenharia de Software pode alavancar muito sua carreira e a sua forma de programar. Descubra nesse guia tudo o que um programador precisa saber sobre a ciência que existe por trás dos códigos.
Análise e Projeto
Quando iniciamos um novo projeto, a etapa de análise normalmente é a primeira realizada. É nessa fase que levantamos os requisitos e desenhamos o software a ser desenvolvido, a fim de alcançar o objetivo de forma alinhada às necessidades do cliente.
Veja abaixo como realizar o levantamento de requisitos para a criação de novas aplicações:
-
DevCastTécnicas para entrevista de coleta de requisitos
-
DevCastDocumentando requisitos de um sistema - Abordagem prática
O curso a seguir mostra esse levantamento de requisitos na prática, envolvendo diversas equipes do mesmo projeto:
Nessa etapa é comum o uso da UML para modelar o sistema. Essa linguagem visual conta com diversos diagramas que podem ser usados para representar o software sob diferentes pontos de vista. Com o curso a seguir você entenderá sobre a UML e os seus diagramas:
Confira no curso abaixo como realizar a análise e projeto de softwares de forma orientada a objetos e utilizando a UML:
Um caso de uso é uma descrição de um conjunto de sequência de ações realizadas pelo sistema para produzir um resultado de valor para uma pessoa no sistema. Identificar os requisitos por meio desses casos de uso é fundamental na construção do sistema. Veremos isso na prática com os cursos a seguir:
Tudo bem, agora que você tem os requisitos, o que fazer com eles? Por onde começar a programar a aplicação? Assista no DevCast abaixo uma conversa cheia de dicas sobre esse próximo passo.
Para entender mais sobre modelagem, como elicitar requisitos e gerenciá-los além do uso da UML, acesse:
Controle de versão
Atualmente existem diversas formas de controlar a evolução do código das aplicações. Essas permitem que o time trabalhe em um mesmo projeto de forma organizada, versionando os arquivos utilizados.
O Git e o Github estão entre as ferramentas mais utilizadas hoje em dia e conhecê-las é de extrema importância para os desenvolvedores, pois com frequência precisamos utilizá-las nos projetos em que participamos. Nos cursos abaixo você entenderá o que é Git e Github e aprenderá a controlar a versão dos seus projetos com essas ferramentas:
Testes de software
O Test Driven Development é uma prática que tem se tornando cada vez mais comum no mundo do desenvolvimento devido a vantagem de garantir que você está entregando um software consistente. Nos conteúdos abaixo falamos sobre o primeiro passo nessa metodologia, os testes unitários. Confira.
Para entendermos na prática, confira no curso a seguir o que é teste unitário:
Nos links abaixo você verá como realizar testes unitários em diferentes linguagens de programação, inclusive no PHPUnit:
O TDD é abordagem de desenvolvimento baseada em testes e que é explicada em mais detalhes no curso abaixo:
No artigo a seguir você confere boas práticas que podem ser empregadas ao Test Driven Development:
E que tal se aprofundar em testes de software? Com o guia a seguir você conhecer todos os tipos disponíveis de testes para entregar uma aplicação funcionando corretamente:
Metodologias Ágeis
Além das linguagens, frameworks e diversas ferramentas, o desenvolvimento de software envolve processos que são realizados e aprimorados constantemente. Esses processos definem quais tarefas devem ser realizadas e de que forma isso deve ocorrer para que se consiga alcançar o objetivo da melhor forma possível.
As chamadas metodologias ágeis são processos que visam entregar produtos mais rapidamente, com mais qualidade e respondendo rapidamente a mudanças. Entre essas metodologias destaca-se o Scrum, que inclusive nós usamos aqui na DevMedia. Conheça mais nos links a seguir:
Com o guia de conteúdo a seguir você aprenderá todas as fases, papéis e muito mais sobre essa metodologia ágil:
Outra metodologia também muito empregada no desenvolvimento de software é a XP (eXtreme Programming), que é apresentada nos conteúdos abaixo:
Além disso, os artigos a seguir trazem um conteúdo extra sobre a metodologia:
-
ArtigoIntegrando XP as principais metodologias agéis
-
ArtigoImplantando práticas do Scrum e do XP em um projeto de software
-
ArtigoAgile Development: XP e Scrum em uma Abordagem Comparativa
-
ArtigoExtreme Programming (XP) e Crystal: Modelos de Processos Ágeis
-
ArtigoeXtreme Programming: Aprendendo XP com Jogos
Aprenda mais sobre XP com a série a seguir:
Mais sobre Engenharia de Software
Além dos cursos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre Engenharia de Software, os quais você pode conferir nos Guias de Consulta abaixo:
-
Guia de ConsultaGestão de Projetos
-
Guia de ConsultaScrum
-
Guia de ConsultaRequisitos, Modelagem e UML
-
Guia de ConsultaModelagem de Processos de Negócio
-
Guia de ConsultaTestes de Software
Você também pode listar todo o conteúdo de Engenharia de Software clicando aqui.
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>