Category: Engenharia

O que é Scrum?

Neste post vamos falar sobre Scrum, obviamente. 🙂

Vamos abordar os aspectos principais deste famoso framework de trabalho, mas vamos analisar também alguns pontos que muitos profissionais não enxergam sobre a aderência do Scrum, a viabilidade, forma de empregá-lo etc.

Como sempre recomendo aos meus alunos, leitores e colegas de trabalho, quando falamos em tecnologias, ferramentas, modelos de processo, frameworks (de software ou de produção), sempre devemos aplicar senso crítico em nossa avaliação. (more…)

Controle de Versão e Requisitos de Software

Quando falamos de Controle de Versão de Requisitos de Software muitos profissionais “estranham” um pouco, pois na nossa cultura de produção de software, o controle de versão geralmente é mais aplicado ao modelo de código fonte e ao software executável produzido a partir deste modelo.

Produzir software é um processo de refinamento contínuo, que se dá através da produção de modelos em diferentes níveis de abstração. Obs.: sobre refinamento contínuo podemos ver um pouco mais aqui.

Então, produzimos um modelo em um nível de abstração específico, para algum outro profissional produzir outro modelo a partir deste, em um nível de abstração mais “próximo” do que o software será “de fato” (“de fato” = software executável). (more…)

O cliente difícil e a definição de escopo

“Quem nunca” precisou definir escopo de um sistema, e se deparou com um cliente complicado, impositivo, “difícil”?

Em projetos de software isso ocorre com alguma frequência, e é um desafio que todo bom Analista de Sistemas precisa saber lidar para ter sucesso ao definir escopo junto aos seus usuários.

Seria muito mais fácil se pudéssemos escolher com quais usuários queremos trabalhar, quais clientes queremos atender. Mas na vida real isso não ocorre desta forma, e trabalhar as virtudes é essencial para superar esse desafio.

(more…)

A importância da boa documentação de software

Documentação de Software

/* Quando falamos da importância da boa documentação de software, em projetos desta natureza, a imagem acima é talvez a melhor ilustração. É uma imagem “batida”, mas é sempre bom revisitá-la. */

Em projetos de software, quando ha especificação antes da construção, é muito comum o nível da documentação não estar bom, e isso gerar efeitos muito ruins no projeto. (more…)

Modelagem de Software é Viável? Fazer ou não fazer? Reflexão

/* Trecho de um Hangout ao Vivo do curso Engenharia de Requisitos na Real sobre Modelagem de Software  */

Contexto

Neste tópico há uma breve reflexão sobre a viabilidade de se fazer Modelagem de Software, ao invés de partir direto para a construção, por exemplo. Foi um ponto relevante em uma análise junto a alunos do nosso curso de Engenharia de Requisitos. (more…)

A importância do Analista de Requisitos

Analista de Requisitos - importancia-analista-requisitos-engenharia-software-1Vamos falar um pouco sobre a importância do profissional responsável pela modelagem dos requisitos.

Aqui vamos chamá-lo de Analista de Requisitos, considerando a nomenclatura mais utilizada nas empresas aqui no Brasil, para este profissional.

O Analista de Requisitos talvez seja o profissional mais relevante do processo de produção de software.

Eu realmente acho que é! Vamos entender melhor isso. (more…)

Acoplamento e Coesão em Módulos e Funcionalidades

 

No último post falamos sobre Acoplamento e Coesão, que são medidas que devemos sempre levar em grande consideração no projeto de qualquer software.

E nada melhor que entender a teoria aplicada, ou seja, vê-la na prática. Vamos começar a refletir sobre isso.

Neste post vamos falar sobre Acoplamento e Coesão em Módulos e Funcionalidades.

Acompanhe esta série de posts, pois falaremos ainda sobre estas duas medidas aplicadas em vários outros modelos/artefatos do processo de produção de software.

Qualquer software – seja um aplicativo comercial, um sistema de gestão, um website, um aplicativo mobile ou até mesmo um jogo – é composto, basicamente, de Módulos e Funcionalidades.

Um software é um todo. Módulos são conjuntos dentro deste todo. Funcionalidades são elementos deste conjunto. (more…)