<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Engenharia de Software - Guilherme Heringer</title>
	<atom:link href="http://heringer.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://heringer.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Fri, 06 Jun 2008 03:13:49 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='heringer.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/24934ea3dd72418ec1407f2615a6dde8?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Engenharia de Software - Guilherme Heringer</title>
		<link>http://heringer.wordpress.com</link>
	</image>
			<item>
		<title>Questionários</title>
		<link>http://heringer.wordpress.com/2008/06/06/questionarios/</link>
		<comments>http://heringer.wordpress.com/2008/06/06/questionarios/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 02:09:47 +0000</pubDate>
		<dc:creator>ggheringer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://heringer.wordpress.com/2008/06/06/questionarios/</guid>
		<description><![CDATA[O que é um questionário?Questionário é o principal instrumento utilizado para obtenção e registro de dados por amostragem. O objetivo deste é coletar dados que se traduzam em informações suficientemente aproximadas sobre uma população alvo, que dizem respeito ao tema abordado. Esta coleta de dados baseia-se na resposta por parte de alguns indivíduos da população [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=7&subd=heringer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>O que é um questionário?<br />Questionário é o principal instrumento utilizado para obtenção e registro de dados por amostragem. O objetivo deste é coletar dados que se traduzam em informações suficientemente aproximadas sobre uma população alvo, que dizem respeito ao tema abordado. Esta coleta de dados baseia-se na resposta por parte de alguns indivíduos da população alvo de perguntas que abrangem o assunto pesquisado.  O questionário pode ser definido como &#8220;Um conjunto de perguntas sobre um determinado tópico que não testa a habilidade do respondente, mas mede sua opinião, seus interesses, aspectos de personalidade e informação biográfica.&#8221; (Yaremki, R.K. , Harari, H., Harrison, R.C., Lynn, E. (1986). Gunther, H. (2003).) <br />O questionário pode ser aplicado de diversas formas: pessoalmente, por correio, por telefone, pela web, etc.. Por isto, é um instrumento especialmente útil e econômico para recolher dados de amostras amplas, ou que estejam distantes. Devido ao grande número de respondentes possíveis, abarca aspectos quantitativos e qualitativos.
</p>
<p>População alvo
</p>
<p>A população alvo deve ser definida no princípio da formulação do questionário. Esta influencia em todas as etapas de planejamento e construção do instrumento:  No modo como as perguntas devem ser formuladas, no método de aplicação, na quantidade de perguntas, etc.. Ao selecionar os idosos como população alvo, pode ser necessário descartar a aplicação via e-mail. <br />Após definir a população alvo, deve-se definir a amostra, ou seja, os indivíduos que realmente responderão o questionário. Este deve ser um passo cuidadoso: os indivíduos devem representar proporcionalmente a população. Grande parte do enviesamento dos dados ocorre neste passo. Esta tarefa, teoricamente, é impossível. Podemos afirmar que o simples fato de responder um questionário já segrega a população entre indivíduos que respondem questionários e indivíduos que não respondem questionários. Assim, devemos assegurar que a proporção entre as facções que ocorrem na população seja igual entre os respondentes.
</p>
<p>Técnicas de abordagem
</p>
<p>Uma das dificuldades do questionário ocorre quando há desobrigação por parte do respondente. Ao contrário de uma prova, o pesquisador se encontra em posição de pedinte. Por isso, é complicado garantir que grande parte dos questionários distribuídos sejam respondidos, e que sejam respondidos com veracidade. Por isso, o formato do questionário deve ser simples, de forma a facilitar sua resposta. Além disso, é importante que se construa uma relação de confiança com o respondente.
</p>
<p>Perguntas abertas ou fechadas
</p>
<p>Perguntas abertas podem ser usadas em casos onde o tema pesquisado não é muito conhecido. Sua flexibilidade permite que o respondente exponha sua opinião sobre um tópico que não possua respostas definidas ou as possíveis respostas não são conhecidas(geralmente em um estudo piloto). Além disso, são mais simples de serem elaboradas, já que não é necessário construir um conjunto de respostas.<br />Perguntas fechadas facilitam a transcrição do resultado, e sua análise (até mesmo através de programas computadores, podendo gerar estatísticas e inferências automaticamente). Porém, sua elaboração é mais complicada. O conjunto de respostas precisa ser exclusivo  e exaustivo. Ser exclusivo significa que não é possível eleger duas respostas dentre as pertencentes ao conjunto. Ser exaustivo significa que todas as respostas possíveis devem estar contempladas em algum ítem do conjunto. <br />Algumas pessoas dizem que a resposta fechada limitam a liberdade de expressão da amostra. Isto é uma falácia. Ao replicar uma questão aberta, o respondente está submetendo suas palavras a uma categorização realizada pelo pesquisador. Já na pergunta fechada, o próprio respondente qualifica sua opinião, sem sujeitar-se a interpretações.
</p>
<p>Formulando perguntas
</p>
<p>As perguntas precisam ser formuladas e organizadas de modo a manter a tarefa breve e fácil, evitando torná-la aborrecedora ou aversiva. O questionário deve conter apenas perguntas que valem a pena serem analisadas. É importante que o respondedor sinta que as perguntas têm relevância, para que as responda com a atenção devida.<br />Gunther, H. (2003) indica dois princípios de estruturação:
</p>
<p>O questionário deve partir de ítens mais gerais, encaminhando-se para ítens mais específicos. Isto vale também para seções de ítens: cada seção deve começar com perguntas mais gerais. Este tipo de pergunta serve mais como uma introdução o tema a ser tratado, deixando o respondedor mais confortável com o questionário. Apresentar perguntas muito específicas no princípio do instrumento pode inibí-lo, fazendo-o se sentir em uma investigação policial.
</p>
<p>    O outro princípio é que, na medida do possível, o questionário deve seguir uma ordem lógica. Isto contribui para que o respondedor eleja suas resposta sem muito esforço, o que é muito importante para manter a tarefa o mais agradável possível.
</p>
<p>
 </p>
<p style="margin-left:72pt;">Referências :     Gunther, H. (2003). <em>Como Elaborar um Questionário</em> (Série: Planejamento de Pesquisa nas Ciências Sociais, N<sup>o</sup> 01). Brasília, DF: UnB,Laboratório de Psicologia Ambiental <br />Muñoz, T. (2003). <em>El Cuestionario como instrumento de investigacón/evaluación</em> (Etapas del Proceso Investigador). <br />Yaremki, R.K. , Harari, H., Harrison, R.C., Lynn, E. (1986). <em>Handbook of research and quantitavtive methods in psychology.</em> Hillsdale, NJ: Lawrence Erlbaum</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/heringer.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/heringer.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heringer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heringer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heringer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heringer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heringer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heringer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heringer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heringer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heringer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heringer.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=7&subd=heringer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://heringer.wordpress.com/2008/06/06/questionarios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71d45bafe94014eb1e7496ca14bf0e8a?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Guilherme Heringer</media:title>
		</media:content>
	</item>
		<item>
		<title>Métodos Ágeis</title>
		<link>http://heringer.wordpress.com/2008/05/26/metodos-ageis/</link>
		<comments>http://heringer.wordpress.com/2008/05/26/metodos-ageis/#comments</comments>
		<pubDate>Mon, 26 May 2008 02:47:38 +0000</pubDate>
		<dc:creator>ggheringer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://heringer.wordpress.com/2008/05/26/metodos-ageis/</guid>
		<description><![CDATA[Quando os gerentes de projetos enxergam que o processo está falhando, sua primeira sugestão é: temos pouco processo. Então, inflam ainda mais o portfólio de documentos a serem produzidos. Isto é feito porque acredita-se que, se for empregado esforço suficiente, todos os requisitos poderiam ser antecipados.O desenvolvimento ágil apresenta uma quebra de paradigma: O objetivo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=6&subd=heringer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Georgia;">Quando os gerentes de projetos enxergam que o processo está falhando, sua primeira sugestão é: temos pouco processo. Então, inflam ainda mais o portfólio de documentos a serem produzidos. Isto é feito porque acredita-se que, se for empregado esforço suficiente, todos os requisitos poderiam ser antecipados.<br />O desenvolvimento ágil apresenta uma quebra de paradigma: O objetivo é gerenciar o projeto para que as mudanças custem menos, ao invés de tentar prevê-las. Esta é uma resposta à espectativa do mercado, que demanda mais qualidade em menos tempo. Qualidade? Pois é, cada método ágil tem sua preocupação com a qualidade. Alguns, baseados no &#8220;<a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959">mythical man-month</a>&#8220;, lembram que introduzir novas pessoas, assim como novos documentos, em um projeto atrasado, não significa melhorá-lo. Pelo contrário, o efeito pode ser bastante negativo. O scrum planeja reuniões diárias para o alinhamento das tarefas. O XP exige que o teste de um módulo seja escrito antes de iniciar seu desenvolvimento.<br />
</span></p>
<p><span style="font-family:Georgia;">Existem alguns autores que defendem a idéia de que o ágil é uma máscara para a indisciplina. Assim, criou-se na comunidade de engenharia de software uma guerra entre árabes e judeus: Os defensores do Ágil chegaram com um discurso fervoroso favorecendo sua nova metodologia, provocando grande crítica por parte dos defensores das metodologias tradicionais. Por utilizarem argumentos pretensiosos e utópicos, a nova proposta soou como uma afronta. <br />Para o professor <a href="http://www-di.inf.puc-rio.br/~julio/">Julio Leite</a>, o maior erro das pessoas é pensar que a mesma roupa veste todo mundo. Os dois lados da moeda têm muito o que acrescentar, e quem vai estudar o tema tem que ter a maturidade de filtrar as informações úteis do que está lendo. A razão não é algo que possa ser expressado em 0 ou 1. Em todas as discussões, todas as partes tem argumentos relevantes, que merecem ser analisados.<br />
</span></p>
<p><span style="font-family:Georgia;">As regras do Ágil não pretendem englobar tudo que é necessário para a produção do software. Elas são apenas uma base, um conjunto de pontos fundamentais que devem ser abordados por quem pretende construir software usando métodos ágeis. Portanto, como Barry Boehm sugere, é possível que haja métodos híbridos, e estes podem ser a melhor solução para a maioria dos negócios.<br />
</span></p>
<p><span style="font-family:Georgia;">Os métodos ágeis se apoiam em dois princípios básicos: no <span style="text-decoration:underline;">código funcionando</span> e no <span style="text-decoration:underline;">fator pessoa</span>.<br />O código funcionando é uma nova forma de se comunicar com o cliente: não envolve abstração, e assim elimina possíveis mal-entendidos. O que se tem é o que se pode ver. No ágil, a equipe se compromete a entregar código funcionando em curtos intervalos, de duas a cinco semanas.  O cliente pode verificar se o que está sendo feito realmente atende às expectativas.<br />O fator pessoa se apoia na idéia de que as pessoas interagindo diretamente são a melhor forma de transmissão de conhecimento. O ágil exige proximidade para funcionar, tanto entre os membros da equipe quanto entre a equipe e o cliente. Estando juntas e conversando diretamente, tarefas como constante definição de prioridade, inclusão de um novo membro na equipe, eliminação de mal-entendidos, etc.,  podem ser realizadas com mais velocidade e menos custo.<br />
</span></p>
<p><span style="font-family:Georgia;">Apoiados nessas idéias, 17 pessoas que desenvolviam seus próprios métodos alternativos de desenvolvimento de software assinaram um documento, chamado <a href="http://agilemanifesto.org/">Manifesto para Desenvolvimento Ágil de Software</a>:<br />
		</span></p>
<p><span style="font-family:Georgia;"><em>Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar:<br />
</em></span></p>
<p style="margin-left:36pt;"><span style="font-family:Georgia;"><em><strong>Indivíduos e interações</strong> entre eles mais que processos e ferramentas<br />
</em></span></p>
<p style="margin-left:36pt;"><span style="font-family:Georgia;"><em><strong>Software funcionando</strong> mais que documentação abrangente<br />
</em></span></p>
<p style="margin-left:36pt;"><span style="font-family:Georgia;"><em><strong>Colaboração com o cliente</strong> mais que negociação de contratos<br />
</em></span></p>
<p style="margin-left:36pt;"><span style="font-family:Georgia;"><em><strong>Responder a mudanças</strong> mais que seguir um plano<br />
</em></span></p>
<p><span style="font-family:Georgia;"><em>Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.<br />
</em></span></p>
<p><span style="font-family:Georgia;">Os métodos ágeis possuem características comuns, apesar de cada um implementá-las de forma diferente. <br />No ágil, especificação, projeto e desenvolvimento ocorrem simultâneamente. Isto quer dizer que nenhuma das tarefas é pré-requisito de outra. O desenvolvimento, por exemplo, ajuda a elicitação dos requisitos.<br />As iterações, ou seja, o tempo entre as entregas dos incrementos, é bastante curto. Desta forma, é mantido um feedback constante para o cliente. O planejamento é sempre feito para o próximo incremento. O que vai ser feito depois vai ser planejado depois.<br />Um ponto importantíssimo do ágil é a priorização dinâmica. A todo tempo é necessário rever o que será feito primeiro. O scrum, por exemplo, tem um esquema de priorização de tarefas por pontos, que é revisto junto com o cliente em todo início de iteração.<br />A equipe deve estar sempre próxima, já que a comunicação no ágil é feita através de interação direta. Tudo deve ser tratado verbalmente, por mais que se escreva algo sobre o que foi discutido depois. Como foi dito anteriormente, este é um dos pilares da metodologia, grande parte do sucesso dos projetos reside aqui.<br />Da mesma forma que a comunicação dentro da equipe é feita diretamente, o cliente também é tratado desta forma. É importante que, ao menos uma vez a cada ciclo, exista uma reunião entre cliente e equipe que aborde o que foi e o que será feito. A reunião deve ter a presença de todos os integrantes da equipe, além do cliente. Cabe ressaltar que o cliente não necessariamente é alguém da empresa que comprou o software. O cliente pode ser alguém que trabalhe na mesma organização que a equipe, mas o seu papel de cliente deve estar bem claro.<br />Por fim, os membros da equipe precisam ter em mente a possibilidade de mudança. Portanto, o software precisa ser construído para suportá-la. Assim, princípios como o KISS(keep it simple) são frequentemente acoplados aos métodos.<br />
</span></p>
<p><span style="font-family:Georgia;">Referências: </span><span style="color:black;font-family:Arial;font-size:10pt;"><strong>HIGHSMITH, Jim</strong>, COCKBURN, Alistair: Agile Software Development: The <strong>Business</strong><br />
			<strong>of Innovation</strong>. IEEE Computer 34(9): 120-122 (2001)</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/heringer.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/heringer.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heringer.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heringer.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heringer.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heringer.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heringer.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heringer.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heringer.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heringer.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heringer.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heringer.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=6&subd=heringer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://heringer.wordpress.com/2008/05/26/metodos-ageis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71d45bafe94014eb1e7496ca14bf0e8a?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Guilherme Heringer</media:title>
		</media:content>
	</item>
		<item>
		<title>O software muda.</title>
		<link>http://heringer.wordpress.com/2008/04/30/o-software-muda/</link>
		<comments>http://heringer.wordpress.com/2008/04/30/o-software-muda/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:49:09 +0000</pubDate>
		<dc:creator>ggheringer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://heringer.wordpress.com/?p=5</guid>
		<description><![CDATA[O software muda. Mas por quê? O software é um produto gerado com o intuito de resolver problemas anteriormente solucionados pela mente humana. Portanto, são problemas muito complexos. Os produtos convencionais são produzidos para resolver problemas simples, geralmente físicos. No caso do software, os questionamentos são muito maiores. Assim, é natural que se perceba que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=5&subd=heringer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Georgia;">O software muda. <br />Mas por quê? O software é um produto gerado com o intuito de resolver problemas anteriormente solucionados pela mente humana. Portanto, são problemas muito complexos. Os produtos convencionais são produzidos para resolver problemas simples, geralmente físicos. No caso do software, os questionamentos são muito maiores. Assim, é natural que se perceba que o que foi pensado antes não atende realmente a necessidade, ou então não atende da melhor forma. Surge a necessidade de mudar. Todo processo tradicional, utilizado para produzir qualquer coisa, impõe limites a mudanças. Ao chegar em um restaurante, normalmente conseguimos trocar nosso pedido caso este ainda não esteja sendo preparado. Caso o bife já esteja sendo frito, no mínimo ganhamos uma cara feia. Isto ocorre porque o restaurante terá um prejuízo material: um bife terá de ser jogado fora. No software, não existe prejuízo material. Por isso, a mudança parece custar menos. <br />Custa? Não sei. Como assim custar menos? Menos que o que? Lógico, não há o prejuízo material, mas temos o prejuízo homem/hora. Porém, não temos como medir este. Com certeza, o retrabalho não é integral quando uma mudança é sugerida. Não jogamos fora o trabalho anterior e fazemos tudo denovo.<br />
</span></p>
<p><span style="font-family:Georgia;">Pois então, se sabemos que vai mudar, o que fazer? Os processos de software tradicionais, dirigidos a planos, cobram caro por mudanças. Normalmente, exigem estabilidade nos requisitos, e &#8220;te olham feio&#8221; quando aparece algo a ser mudado. A lentidão da resposta a mudanças encarece mais ainda o processo. No final, acabamos encaixando as necessidades no plano inicial e pronto. Ora, quem trabalhou com atendimento de clientes de software sabe que isso não é agradável. Passamos bastante tempo desenvolvendo algo que não deixa o cliente completamente satisfeito. <br />Além disso, um estudo recente de Michael Mah, da QSM Associate, relatou que, no final dos projetos pesquisados, não era possível encontrar metade dos planos originais para realizar uma comparação. Isto porque seguir o plano não é o objetivo principal. A grande meta é satisfazer o cliente.<br />A realidade é que as etapas dos processos burocráticos são comidas, ou feitas de qualquer jeito para entregar.<br />
</span></p>
<p><span style="font-family:Georgia;">O  desenvolvimento baseado em componentes é praticamente uma utopia. Os problemas que o software resolve são diversos e específicos. Somente algumas partes dos problemas são comuns. Essas subdivisões que são reaproveitadas em outros projetos podem constituir um framework, promovendo facilidade no reúso. Mas a idéia de compor um software através da junção de módulos, sem precisar agregar nenhuma parte nova, não condiz com a realidade. Então, num ponto onde seria necessária uma mudança, é provável que a estrutura montada para reaproveitar o máximo os componentes existentes tivesse que ser refeita, ou então um componente teria que ser modificado.<br />
</span></p>
<p><span style="font-family:Georgia;">Não é no sentido de &#8220;se não pode vencê-la, junte-se a ela&#8221; que promovo o processo orientado a mudanças. Promovo o processo orientado a mudanças porque penso que este é um mercado muito chamativo. O cliente que não está comprometido com uma especificação formal e que está interagindo constantemente com a definição do software se sente no controle do processo produtivo. Isto é extremamente agradável para ele, dando um sentimento de dinheiro bem investido.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/heringer.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/heringer.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heringer.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heringer.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heringer.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heringer.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heringer.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heringer.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heringer.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heringer.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heringer.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heringer.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=5&subd=heringer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://heringer.wordpress.com/2008/04/30/o-software-muda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71d45bafe94014eb1e7496ca14bf0e8a?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Guilherme Heringer</media:title>
		</media:content>
	</item>
		<item>
		<title>Sobre Processos de Software</title>
		<link>http://heringer.wordpress.com/2008/03/24/sobre-processos-de-software/</link>
		<comments>http://heringer.wordpress.com/2008/03/24/sobre-processos-de-software/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 12:20:31 +0000</pubDate>
		<dc:creator>ggheringer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://heringer.wordpress.com/?p=4</guid>
		<description><![CDATA[O que é processo de software? Procurei no dicionário michaelis online definições da palavra &#8220;processo&#8221;. A que se encaixa aqui é: &#8220;Série de ações sistemáticas visando a certo resultado&#8221;. Adaptando para processo de software, se tornaria: Série de ações sistemáticas visando a produção de software. Na definição de Sommerville, &#8220;processo de software é um conjunto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=4&subd=heringer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Georgia;font-size:10pt;">O que é processo de software? <br />Procurei no <a href="http://michaelis.uol.com.br/moderno/portugues/index.php?lingua=portugues-portugues&amp;palavra=processo">dicionário michaelis online</a> definições da palavra &#8220;processo&#8221;. A que se encaixa aqui é: &#8220;Série de ações sistemáticas visando a certo resultado&#8221;. Adaptando para processo de software, se tornaria: Série de ações sistemáticas visando a produção de software. Na definição de Sommerville, &#8220;processo de software é um conjunto de atividades que leva à produção de um produto de software&#8221;. Ou seja, o processo é tudo que é feito após o desejo de um cliente por um software até a manutenção do mesmo.<br />Qual a principal diferença entre estas duas definições? <br />Sommerville não menciona a palavra &#8220;sistemática&#8221;(ou qualquer outra com o significado semelhante). Portanto, utilizando seu ponto de vista, poderíamos considerar que uma série de atividades quaisquer como um processo de software. Ou seja, qualquer um que produz software utiliza um ou mais processos de software. Logicamente, quem produz software sem haver determinado  atividades sistemáticas tem grandes chances de, em ciclos diferentes, utilizar atividades diferentes, executar atividades de formas diferentes, ou em ordens diferentes.<br />Por isso, a primeira forma citada por Sommerville para aprimorar o processo de software em uma empresa seria a padronização dos processos. É importante destacar que a qualidade do produto software está intimamente ligada à qualidade do processo que o produz e mantém. Por isto, existe toda esta preocupação em desenvolver bons processos de software.<br />A indústria de software está cheia de exemplos de projetos fracassados, atrasados, ou que custaram muito mais do que o previsto. Grande parte destas faltas são atribuídas a processos de software inadequados. É sabido que os maiores problemas das organizações de spftware são gerenciais, e não técnicos.<br />Segundo Sommerville, processos padronizados reduzem os custos dos projetos, aumentam a qualidade do produto e facilitam a inserção de um novo participante na equipe. <br />De acordo com o discurso lúdico do professor <a href="http://www.ind.puc-rio.br/pagina_professores.aspx?id=fsilva">Fabrício Mello</a>, uma pessoa só pode afirmar que entendeu algo quando é capaz de explicá-lo para uma menina de 7 anos. Portanto, aí vai: <br />Dorothy, se você fizer seu leite achocolatado todo dia do mesmo jeito, lembrando todos os passos, o leite sempre ficará saboroso. Além disso, sua irmã conseguirá observar e aprender rápido como você faz, então em pouco tempo você somente precisará preparar o seu próprio leite.  <br />Apesar da lógica simples deste pensamento, e de a engenharia de software já o ter evoluído bastante, muitas empresas continuam sem padronização dos processos. É importante que se entenda que a melhoria dos processos por parte de uma equipe necessita da padronização. A primeira fase de qualquer ação de aperfeiçoamento é a avaliação do que está sendo feito até o momento. Caso não haja padronização, é difícil perceber os pontos falhos do processo corrente. <br />&#8220;Se você não sabe onde está, um mapa não o ajudará&#8221; Provérbio de Humphrey<br />
</span></p>
<p><span style="font-family:Georgia;font-size:10pt;">Para dar suporte às organizações, foram criados alguns modelos de qualidade de processos. O mais famoso é o CMM/CMMI. O CMM é um modelo de maturidade dos processos, é um guia para melhorar os processos da organização e sua capacidade para gerenciá-los. O CMM descreve caminhos tornar o processo de software algo repetível e previsível.<br />
</span></p>
<p><span style="font-family:Georgia;font-size:10pt;">Existem diversos modelos de processo de software. A maioria deles é baseada em alguns modelos genéricos, que não são exclusivos, ou seja, podemos usar um pouco de cada um. Segundo Sommerville, existem algumas atividades que são comuns a todos. Quatro delas são: Especificação; Projeto e Implementação; Validação; e Evolução. Neste ponto, me permito uma pequena observação. A atividade de Evolução somente é possível graças a natureza facilmente mutável e intangível do produto software. Assim como existe a dualidade onda-partícula da luz, existe a dualidade produto-serviço do software. Voltarei a abordar esse assunto em uma postagem posterior. </span><br />
		<span style="font-family:Georgia;font-size:10pt;"><br />
		</span></p>
<p><span style="font-family:Georgia;font-size:10pt;"><strong>Modelo Cascata</strong> </span><br />
		<br /><span style="font-family:Georgia;font-size:10pt;">O modelo genérico mais conservador, e que se assemelha com os processos industriais é o modelo Cascata(Waterfall, em inglês). Nele, as atividades de desenvolvimento são bem definidas, e produzem um documento após sua conclusão. A próxima atividade só começa quando a anterior já estiver acabada. Desta forma, mudanças na definição de requisitos implicam em um custo alto de alteração. Este modelo é indicado caso a confiança no sistema seja importante, já que a documentação produzida é bastante completa. Este modelo também é mais natural que os demais para quem está acostumado com processos de engenharia.  </span>
	</p>
<p><span style="font-family:Georgia;font-size:10pt;"><strong>Desenvolvimento Evolucionário</strong> </span><br />
		<br /><span style="font-family:Georgia;font-size:10pt;">É comum o <a href="http://www.gusleig.com/sos/2007/06/dicas/seu-cliente-nao-sabe-o-que-quer-por-10-motivos/">cliente não saber o que quer</a>. Ou então,  mesmo quando ele sabe o que quer, não sabe como quer. Para esses clientes, o desenvolvimento em cascata é caro, já que várias correções terão que ser feitas nas etapas anteriores devido a insatisfações nas etapas posteriores. Com o fim de reduzir os custos de produção do software devido a problemas com os requisitos, sugeriu-se o desenvolvimento evolucionário. Nele, o software é produzido em ciclos menores, apresentando ao cliente implementações anteriores à distribuiçãofinal  para aperfeiçoar os requisitos.  </span>
	</p>
<p><span style="font-family:Georgia;font-size:10pt;">O desenvolvimento evolucionário pode ser do tipo <em>exploratório</em>, ou <em>prototipação throwaway. </em></span>
	</p>
<p><span style="font-family:Georgia;font-size:10pt;">No exploratório, o protótipo contem os requisitos entendidos, adicionando características solicitadas pelo cliente. Ao exibir este protótipo para o cliente, o desenvolvedor deveria dizer: &#8220;Isto nós já entendemos. O que mais falta?&#8221; No throwaway, o que está mal compreendido que é implementado, para tentar a satisfação do cliente. Neste caso, o desenvolvedor diria: &#8220;É isso que você deseja?&#8221; </span>
	</p>
<p><span style="font-family:Georgia;font-size:10pt;"><strong>Engenharia de Software Baseada em Componentes </strong> </span><br />
		<br /><span style="font-family:Georgia;font-size:10pt;">Este modelo idealiza um processo de software onde todos os pedaços para a construção de um software já estão prontos. A tarefa principal seria agrupá-los para que façam em conjunto o que se espera do sistema final. Caso os componentes selecionados para compor o sistema não atendam aos requisitos, o que se faz é tentar ajustar os requisitos ou procurar componentes alternativos que entrem em maior conformidade.<br />
		</span></p>
<p><span style="font-family:Georgia;font-size:10pt;">Referências: SOMMERVILLE, Ian <em>Engenharia de Software</em>, 8a edição &#8211; São Paulo : Pearson Addison Wesley, 2007.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/heringer.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/heringer.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heringer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heringer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heringer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heringer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heringer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heringer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heringer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heringer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heringer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heringer.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=4&subd=heringer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://heringer.wordpress.com/2008/03/24/sobre-processos-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71d45bafe94014eb1e7496ca14bf0e8a?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Guilherme Heringer</media:title>
		</media:content>
	</item>
		<item>
		<title>Engenharia de Software para o Brasil!</title>
		<link>http://heringer.wordpress.com/2008/03/06/hello-world/</link>
		<comments>http://heringer.wordpress.com/2008/03/06/hello-world/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 17:30:38 +0000</pubDate>
		<dc:creator>ggheringer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Brasil]]></category>
		<category><![CDATA[engenharia de software]]></category>
		<category><![CDATA[introdução]]></category>
		<category><![CDATA[pessoas]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Olá. Eu sou Guilherme Gonçalves Heringer, aluno da graduação em engenharia de computação da PUC-Rio. Este blog foi construído para conter a síntese de um estudo orientado sobre engenharia de software. 
O objetivo deste estudo é avaliar e criticar os processos de software utilizados nas empresas brasileiras.
As soluções sugeridas para os problemas de produção de software [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=1&subd=heringer&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-family:Georgia;">Olá. </span><span style="font-family:Georgia;">Eu sou Guilherme Gonçalves Heringer, aluno da graduação em engenharia de computação da PUC-Rio. Este blog foi construído para conter a síntese de um estudo orientado sobre engenharia de software. </span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">O objetivo deste estudo é avaliar e criticar os processos de software utilizados nas empresas brasileiras.</span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">As soluções sugeridas para os problemas de produção de software ainda estão em processo de maturação, devido à recência desta área de estudo(1968). Porém, com a percepção da grande influência que a qualidade dos processos tem sobre a qualidade do software, a preocupação com o desenvolvimento de métodos, técnicas e ferramentas eficazes e eficientes cresceu acentuadamente.</span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">Este é o contexto mundial da evolução da engenharia de software. </span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">Mas uma característica desta disciplina faz com ela que se distancie muito das outras áreas da computação. <span> </span>Enquanto nas outras disciplinas de computação o desenvolvimento de uma técnica é aceito universalmente, na engenharia de software existe o regionalismo. Isto ocorre porque os relacionamentos de pessoas com elas mesmas, com o computador, e com outras pessoas são o núcleo da influência na construção dos métodos, técnicas e ferramentas. </span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">Como as pessoas são bastante diferentes, e as sociedades em que vivem também têm diferenças, é natural que os métodos, técnicas e ferramentas sejam diferentes para elas. Portanto, a engenharia de software deveria estar ligada ao local onde se encontra o engenheiro. <span> </span></span></p>
<p><span style="font-family:Georgia;">Desenvolvendo esta primeira reflexão, farei uma pesquisa, iniciando com um embasamento teórico e, posteriormente, realizarei entrevistas para relacionar o estudo com as abordagens atualmente utilizadas no Brasil.</span></p>
<p><span style="font-family:Georgia;"></span><span style="font-family:Georgia;">Referências: SOMMERVILLE, Ian <em>Engenharia de Software</em>, 8a edição &#8211; São Paulo : Pearson Addison Wesley, 2007.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/heringer.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/heringer.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/heringer.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/heringer.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/heringer.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/heringer.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/heringer.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/heringer.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/heringer.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/heringer.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/heringer.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/heringer.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=heringer.wordpress.com&blog=3081245&post=1&subd=heringer&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://heringer.wordpress.com/2008/03/06/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71d45bafe94014eb1e7496ca14bf0e8a?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Guilherme Heringer</media:title>
		</media:content>
	</item>
	</channel>
</rss>