<?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/"
	>

<channel>
	<title>sobre engenharia de software . com</title>
	<atom:link href="http://www.sobreengenhariadesoftware.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sobreengenhariadesoftware.com</link>
	<description>Compartilhando o que aprendo sobre Engenharia de Software</description>
	<lastBuildDate>Mon, 28 May 2012 23:13:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Desenvolvimento Ágil</title>
		<link>http://www.sobreengenhariadesoftware.com/desenvolvimento-agil/</link>
		<comments>http://www.sobreengenhariadesoftware.com/desenvolvimento-agil/#comments</comments>
		<pubDate>Mon, 28 May 2012 23:10:38 +0000</pubDate>
		<dc:creator>Tiago Passos</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Roger Pressman]]></category>
		<category><![CDATA[ágil]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[extrema]]></category>
		<category><![CDATA[extreme]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.sobreengenhariadesoftware.com/?p=66</guid>
		<description><![CDATA[Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui. O “Manifesto para o Desenvolvimento Ágil de Software” foi assinado em 2001 [...]]]></description>
			<content:encoded><![CDATA[<p align="CENTER"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;"><a href="http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/" target="_blank"><span style="font-family: Liberation Sans,sans-serif;"><em>Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui.</em></span></a></span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O “<a href="http://pt.wikipedia.org/wiki/Manifesto_%C3%81gil" target="_blank">Manifesto para o Desenvolvimento Ágil de Software</a>” foi assinado em 2001 por <a href="http://en.wikipedia.org/wiki/Kent_Beck" target="_blank">Kent Beck</a> e outros dezesseis renomados desenvolvedores, que em sua essência, se tratava de um esforço para sanar fraquezas da engenharia de software convencional. Apesar disso, o Desenvolvimento Ágil não se aplica a todos os projetos.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Um outro ponto importante dos projetos ágeis é a fluidez, ou seja, facilidade de adaptação de um projeto. Mas essas mudanças precisam ser gerenciadas, do contrário o projeto se torna um caos. Além disso, a comunicação é um elemento essencial nesse tipo de projeto, e o cliente não é mais uma pessoa tão distante. Agora ele faz parte da equipe.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Existem três preceitos que precisam ser considerados:</span></span></p>
<ol>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">É difícil prever quais requisitos de software vão persistir, e quais sofrerão mudanças;</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">É difícil prever quanto tempo será gasto no projeto antes que a construção comece;</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Análise, projeto, desenvolvimento e testes não são tão previsíveis quanto gostaríamos.</span></span></p>
</li>
</ol>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Como resolver os três problemas acima? Com a adaptabilidade. É importante que o software seja entregue em incrementos, ou seja, versões funcionais em intervalos de tempo curto, para que seja possível o feedback do cliente.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">A equipe ágil deve possuir alguns traços chave:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Competência</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Foco comum</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Colaboração</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Habilidade na tomada de decisão</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Habilidade na solução de problemas confusos</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Confiança mútua e respeito</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Auto-organização</span></span></p>
</li>
</ul>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;"><a href="http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_extrema" target="_blank">Extreme Programming</a> (XP) – ou programação extrema – é a abordagem mais comum entre os métodos ágeis. Alguns valores estabelecem suas bases: comunicação, simplicidade, feedback, coragem e respeito.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">São enfatizadas a colaboração informal (verbal) entre clientes e desenvolvedores, o estabelecimento de metáforas eficazes – ou seja, uma história que todos (clientes, desenvolvedores e gerentes) podem contar sobre o sistema – e feedback contínuo, para evitar uma documentação muito extensa. Além disso, projeta-se apenas para necessidades imediatas. A equipe está disposta a correr o risco de ter que “refabricar” o sistema ao considerar apenas as necessidades do presente.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Refabricar significa aprimorar o código e forma que ele funcione melhor, sem alterar o comportamento externo. O princípio do KIS (<a href="http://pt.wikipedia.org/wiki/Keep_It_Simple" target="_blank">Keep it simple</a>, ou seja, preserve a simplicidade) é seguido rigorosamente e protótipos operacionais são uma ferramenta utilizada para problemas mais difíceis.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Também existem outros modelos ágeis, como por exemplo:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Desenvolvimento de Software Adaptativo (ASD) – centra-se na colaboração e auto-organização das equipes.</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;"><a href="http://pt.wikipedia.org/wiki/Scrum" target="_blank">Scrum</a> – Além de outras características, possui reunião diárias de cerca de 15 minutos que são utilizadas para prever problemas potenciais. As reuniões são conduzidas por um Scrum Master.</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Método de Desenvolvimento de Sistemas Dinâmicos (DSDM) – Se baseia no princípio de que 80% do sistema pode ser entregue em 20% do tempo. O restante é entregue em outra iteração.</span></span></p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.sobreengenhariadesoftware.com/desenvolvimento-agil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelos de Processo</title>
		<link>http://www.sobreengenhariadesoftware.com/modelos-de-processo/</link>
		<comments>http://www.sobreengenhariadesoftware.com/modelos-de-processo/#comments</comments>
		<pubDate>Thu, 24 May 2012 00:14:13 +0000</pubDate>
		<dc:creator>Tiago Passos</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Roger Pressman]]></category>
		<category><![CDATA[cascata]]></category>
		<category><![CDATA[espiral]]></category>
		<category><![CDATA[incremental]]></category>
		<category><![CDATA[modelo]]></category>
		<category><![CDATA[objetos]]></category>
		<category><![CDATA[orientação]]></category>
		<category><![CDATA[processo]]></category>
		<category><![CDATA[uml]]></category>
		<category><![CDATA[unificado]]></category>

		<guid isPermaLink="false">http://www.sobreengenhariadesoftware.com/?p=59</guid>
		<description><![CDATA[Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui. Um processo é – a grosso modo – uma metodologia que define [...]]]></description>
			<content:encoded><![CDATA[<p align="CENTER"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;"><a href="http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/" target="_blank"><span style="font-family: Liberation Sans,sans-serif;"><em>Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui.</em></span></a></span></span></p>
<p align="CENTER">
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Um processo é – a grosso modo – uma metodologia que define ações, atividades e tarefas necessárias para desenvolver um software de alta qualidade. Uma metodologia genérica possui cinco atividades: <strong>comunicação, planejamento, modelagem, construção e entrega</strong>. </span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Junto com essas atividades, é necessário definir um fluxo de processo, que descreve como elas serão organizadas. O fluxo de processo pode ser:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Linear – executa as atividades em sequência</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Iterativo – repete uma ou mais atividades antes de ir para a seguinte</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Evolucionário – Executa as atividades de forma circular</span></span></p>
</li>
</ul>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Cada volta nas atividades produz uma versão mais completa do software.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Dentre os modelos de processo existentes, estão os modelos prescritivos. O mais conhecido deles é o <a href="http://pt.wikipedia.org/wiki/Modelo_em_cascata" target="_blank">modelo cascata</a> – ou ciclo de vida clássico – que seja um fluxo linear e sequencial das cinco atividades citadas acima. O modelo cascata raramente é aplicado na vida real, pois precisa de requisitos muito bem definidos.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O <a href="http://pt.wikipedia.org/wiki/Desenvolvimento_iterativo_e_incremental" target="_blank">modelo incremental</a> funciona um pouco diferente: o software não é entregue de uma só vez. O processo segue uma sequência linear, mas ao final das atividades, é entregue uma versão liberada do software, ou seja, uma versão que o cliente poderá utilizar efetivamente.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Também existem os modelos de processo evolucionários, que são mais interessantes quando não existe um produto final, ou seja, quando os sistemas são complexos e evoluem o tempo todo. Dentre os modelos evolucionários, podemos citar a <a href="http://pt.wikipedia.org/wiki/Prototipa%C3%A7%C3%A3o" target="_blank">prototipação</a>.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Prototipar é como criar um esboço (não necessariamente funcional) de um sistema. Dessa forma são tiradas as dúvidas em relação ao projeto e menos erros são cometidos.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Outro modelo evolucionário é o <a href="http://pt.wikipedia.org/wiki/Modelo_em_espiral" target="_blank">espiral</a>. Na primeira iteração deve se resultar uma especificação do produto. Algumas passagens subsequentes podem ser necessárias para o desenvolvimento de um protótipo, e então, progressivamente, versões cada vez mais completas do software.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Modelos concorrentes possibilitam à equipe de software representar elementos concorrentes e iterativos de qualquer um dos modelos de descritos acima.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O <a href="http://pt.wikipedia.org/wiki/Processo_unificado" target="_blank">processo unificado</a> possui as mesmas ações dos outros modelos, com a seguinte diferença: utiliza casos de uso para a descrição do sistema. O processo unificado utiliza a <a href="http://pt.wikipedia.org/wiki/UML" target="_blank">UML</a> – linguagem de modelagem unificada – e é indicada para sistemas <a href="http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos" target="_blank">orientados a objetos</a>.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sobreengenhariadesoftware.com/modelos-de-processo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Engenharia de Software</title>
		<link>http://www.sobreengenhariadesoftware.com/engenharia-de-software/</link>
		<comments>http://www.sobreengenhariadesoftware.com/engenharia-de-software/#comments</comments>
		<pubDate>Wed, 02 May 2012 23:36:51 +0000</pubDate>
		<dc:creator>Tiago Passos</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Roger Pressman]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[engenharia]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[legado]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webapps]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.sobreengenhariadesoftware.com/?p=45</guid>
		<description><![CDATA[Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui. O software – da forma como conhecemos – está morto. Para mim (e [...]]]></description>
			<content:encoded><![CDATA[<p align="CENTER"><span style="font-family: Liberation Sans,sans-serif;"><a href="http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/" target="_blank">Resumo baseado no livro: Engenharia de Software: Uma Abordagem Profissional, de Roger Pressman (2011). Referência bibliográfica: PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p. Veja o índice com outros resumos do livro clicando aqui.</a></span></p>
<p class="western" style="text-indent: 1.01cm; margin-bottom: 0cm;" align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><br />
O </span><span style="font-family: Liberation Sans,sans-serif;"><a href="http://pt.wikipedia.org/wiki/Software" target="_blank">software</a> – da forma como conhecemos – está morto. Para mim (e para o autor do livro) isso é fato. Com a <a href="http://pt.wikipedia.org/wiki/Web_2.0" target="_blank">Web 2.0</a> as coisas vêm mudando muito rapidamente, e o quanto antes percebermos isso será melhor.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Não é mais necessário haver 5 versões diferentes de um mesmo software rodando em milhares de máquinas isoladas. Na Web 2.0 deverá existir apenas uma versão, e tudo que for alterado ou implementado nessa versão, estará disponível instantaneamente para todos os usuários.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">É claro que sempre existirão casos específicos onde as coisas serão feitas à moda antiga, mas de maneira geral, essa será a regra.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Ninguém poderia prever a importância que o software ganharia nos últimos 50 anos – e é bastante difícil de prever o que acontecerá nos próximos 50 – mas como se isso não fosse suficiente, está ganhando cada vez mais importância. E agora está presente em tudo. Desde sua TV, até o sinal de trânsito.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">É aí que entra a Engenharia de software: precisamos de soluções rápidas, corretas e baratas.</span></p>
<p align="CENTER"> <span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: medium;">A Natureza do software</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">O software distribui o produto mais caro da nossa sociedade: a informação. Informação essa que pode vir de várias formas, desde operações bancárias, até vídeos em <a href="http://pt.wikipedia.org/wiki/Streaming" target="_blank">streaming</a>. Ele está presente em dispositivos de todos os tamanhos: de celulares a <a href="http://pt.wikipedia.org/wiki/Mainframe" target="_blank">mainframes</a>. </span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Hoje a indústria de software tornou-se fator importantíssimo no mundo industrializado, com equipes altamente especializadas, e ainda temos alguns problemas relacionados a isso:</span></p>
<ol>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">O tempo para se desenvolver;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">O custo muito alto;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Falhas de projeto e execução;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Sistemas legados (sistema antigos);</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Dificuldade em medir o progresso do desenvolvimento.</span></p>
</li>
</ol>
<p align="LEFT"><span style="font-family: Liberation Sans,sans-serif;">Definindo software</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software é muito mais um elemento lógico que físico, e por isso sua construção difere bastante da fabricação de <a href="http://pt.wikipedia.org/wiki/Hardware" target="_blank">hardware</a>, por exemplo. Além disso, é desenvolvido por um processo de engenharia, e não fabricado – no sentido clássico.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Apesar disso, a produção de hardware e software possui coisas em comum. Ambos atingem a qualidade por meio de um bom projeto, mas um erro nesse projeto muitas vezes pode ser facilmente corrigido quando se trata de software, mas é bem mais complicado em relação ao hardware.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">O software não se desgasta: um aplicativo lançado hoje precisa de algum tempo para ter correções aplicadas – o mesmo acontece com o hardware – mas depois disso se estabiliza. A diferença é que o hardware começa a apresentar problemas com o passar do tempo, relacionado a poeira, calor e outros aspectos físicos. Isso não acontece com o software.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Apesar disso, a cada nova alteração em um software, aparecem novos problemas e ele leva mais outro período para se estabilizar. Outro ponto em comum são os componentes reutilizáveis.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Na fabricação de hardware, tempos parafusos e outras peças que podem ser usadas em diversos projetos. E no software também é assim: não é preciso construir tudo a partir do zero. A diferença é que estamos apenas começando a evoluir nesse aspecto.</span></p>
<p align="LEFT"><span style="font-family: Liberation Sans,sans-serif;">Campos de aplicação do software</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Hoje em dia, o software é dividido em sete categorias:</span></p>
<ol>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software de sistema: programas que interagem diretamente com o hardware, como <a href="http://pt.wikipedia.org/wiki/Compilador" target="_blank">compiladores</a>, <a href="http://pt.wikipedia.org/wiki/Driver_de_dispositivo" target="_blank">drivers</a> e componentes do <a href="http://pt.wikipedia.org/wiki/Sistema_operativo" target="_blank">sistema operacional</a>;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software de aplicação: atendem diretamente à necessidade específica de um negócio, e processam dados comerciais ou técnicos;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software científico/de engenharia: utilizados para processar dados científicos pesados, que vão desde a física à biologia molecular;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><a href="http://pt.wikipedia.org/wiki/Sistema_embarcado" target="_blank">Software embarcado</a>: projetado especificamente para implementar funções para um usuário final e para o próprio sistema. É utilizados em aparelhos eletrônicos como micro-ondas;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software para linha de produtos: focado em uma atividade específica e para muitos clientes diferentes, desempenham atividades como: processamento de texto, planilhas eletrônicas e edição de imagens;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><a href="http://pt.wikipedia.org/wiki/Aplica%C3%A7%C3%A3o_Web" target="_blank">Aplicações para a Web</a> (ou WebApps): inicialmente apenas uma série de arquivos de texto interligados, as aplicações web atualmente desempenham funções complexas, como grandes sistemas comerciais e corporativos;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Software de <a href="http://pt.wikipedia.org/wiki/Intelig%C3%AAncia_artificial" target="_blank">inteligência artificial</a>: programas ligados a áreas como robótica, reconhecimento de padrões de imagem e voz etc.</span></p>
</li>
</ol>
<p align="LEFT"><span style="font-family: Liberation Sans,sans-serif;">Software legado</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Sistemas de <a href="http://pt.wikipedia.org/wiki/Sistema_legado" target="_blank">software legado</a> são programas antigos – que muitas vezes foram construídos décadas atrás – mas que algumas vezes possuem funções de negócio vitais. Algumas vezes são considerados muito caros para manter, e também para evoluir.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Como se não bastasse, não raras são as vezes onde a documentação é inexistente, e uma construção deficiente. Mas então o que fazer?</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">A resposta é simples: nada. Se ele atende às necessidades da empresa, não há motivo para fazer qualquer alteração. Mas muitas vezes a evolução é necessária por motivos como:</span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Atender a novas tecnologias;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Novos requisitos ou regras de negócio;</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Interação com sistemas mais modernos.</span></p>
</li>
</ul>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">A engenharia de software entra quando essa evolução se faz necessária.</span></p>
<p align="CENTER"> <span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: medium;">A natureza única das WebApps</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Sites que, no início da <a href="http://pt.wikipedia.org/wiki/World_Wide_Web" target="_blank">Web</a> – por volta de 1990 a 1995 – eram constituídos basicamente por páginas <a href="http://pt.wikipedia.org/wiki/HTML" target="_blank">HTML</a>, ganharam novas ferramentas, como o <a href="http://pt.wikipedia.org/wiki/Java_%28linguagem_de_programa%C3%A7%C3%A3o%29" target="_blank">Java</a> e o <a href="http://pt.wikipedia.org/wiki/XML" target="_blank">XML</a>. O que antes era apenas HTML estático, agora pode ser uma grande aplicação web (WebApp), que podem ser integradas, por exemplo, a grandes <a href="http://pt.wikipedia.org/wiki/Banco_de_dados" target="_blank">bancos de dados</a> corporativos.</span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Apesar de ser apenas uma categoria de software, as WebApps possuem vários atributos distintos. Entre eles:</span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Uso intensivo de redes – Gigabytes ou até terabytes podem ser trafegados diariamente em uma única aplicação</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Simultaneidade – Vários clientes podem utilizar a aplicação ao mesmo tempo</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Carga não previsível – A quantidade de usuários simultâneos pode ser de 1 ou 1000</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Desempenho – A WebApp tem que ser rápida, ou então o usuário irá atrás de outra solução</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Disponibilidade – Muitas aplicações exigem uma disponibilidade de (quase) 100%, ou seja, 24 horas por dia, 7 dias por semana, 365 dias por ano. Geralmente é considerado algo em torno de 99,9% de disponibilidade. Isso quer dizer que a WebApp só poderia – com esse índice – ficar parada 8 horas por </span><span style="font-family: Liberation Sans,sans-serif;"><strong>ano</strong></span><span style="font-family: Liberation Sans,sans-serif;">.</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Orientadas a dados – A função mais importante dos aplicativos web é, geralmente, fornecer dados (vídeos, textos, áudio etc.)</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Natureza do conteúdo – A qualidade e a estética do conteúdo são fatores bastante importantes</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Evolução contínua – Diferente dos softwares convencionais, as WebApps são atualizadas continuamente. Muitas vezes minuto a minuto.</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Imediatismo – O tempo de publicação pode ser muitas vezes, medido em minutos</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Segurança – Por não estar na segurança de uma rede local, e sim na internet, a segurança é um fator que não pode ser deixado de lado</span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;">Estética – Numa aplicação web feita para vender, a estética é muitas vezes tão importante quanto quanto a funcionalidade</span></p>
</li>
</ul>
<p align="CENTER"> <span style="font-size: medium;"><span style="font-family: Liberation Sans,sans-serif;">Engenharia de software</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O software no século XXI se tornou cada vez mais importante na vida das pessoas. Quando um projeto está sendo desenvolvido, muitas vozes devem ser ouvidas e um esforço deve ser feito para que se entenda qual o problema antes de produzir uma solução.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">As aplicações estão ficando cada vez mais complexas, e projetos que antes eram desenvolvidos por uma única pessoa, agora precisam de, muitas vezes, dezenas. O software está em todo lugar: de sinais de trânsito a equipamentos de controle de tráfego aéreo.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">De indivíduos a governos, passando por grandes empresas, inúmeras pessoas dependem de softwares. Se eles falharem, podem ocorrer de pequenos inconvenientes e a verdadeiras catástrofes. A qualidade é um ponto chave.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O software deve ser passível de manutenção, pois à medida que sua longevidade aumente, a quantidade de usuários e sua base de dados também irá aumentar, e adaptações serão, na maioria das vezes, necessárias.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Em resumo: software deve passar por engenharia. Mas o que é necessário para desenvolver um software que realmente funcione e que seja economicamente viável?</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">É necessário disciplina, mas também adaptabilidade e agilidade. São consideradas <span style="font-family: Liberation Sans,sans-serif;">quatro camadas: </span></span></span></p>
<ol>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Foco na qualidade, </span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Processos, </span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Métodos</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Ferramentas.</span></span></p>
</li>
</ol>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">A base para a engenharia de software é a camada de processos, que mantém as camadas coesas e permitem que o desenvolvimento seja feito de forma racional e dentro do prazo.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Os métodos fornecem as técnicas para o desenvolvimento, que incluem: <a href="http://pt.wikipedia.org/wiki/An%C3%A1lise_de_requerimento_de_software" target="_blank">análise de requisitos</a>, <a href="http://pt.wikipedia.org/wiki/Modelagem" target="_blank">modelagem de projeto</a>, <a href="http://pt.wikipedia.org/wiki/Teste_de_software" target="_blank">testes</a>, entre outras.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">As Ferramentas oferecem um suporte automatizado para as ferramentas e métodos, e quando são integradas de modo que as informações de uma possam ser utilizadas por outra, é estabelecido o que se chama de “Engenharia de Software com o Auxílio do Computador”.</span></span></p>
<p align="CENTER"> <span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: medium;">O processo de software</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Um processo não é uma metodologia rígida de como desenvolver um software, mas sim uma abordagem flexível que permite aos interessados realizar o trabalho selecionado de suas ações e tarefas. A intenção é sempre entregar um produto de qualidade e no prazo definido.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Uma metodologia é um alicerce de uma série de atividades estruturais aplicáveis a um projeto – independente do tamanho. Uma metodologia de processos genérica engloba cinco atividades:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Comunicação – é importantíssimo se comunicar com o cliente e definir as necessidades antes de começar o desenvolvimento</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Planejamento – define as tarefas técnicas a serem desenvolvidas, os riscos, recursos e produtos resultantes. Além de um cronograma.</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Modelagem – é necessária a criação e um esboço, para se ter uma ideia geral da coisa, da mesma forma como fazem os engenheiros e arquitetos.</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Construção – geração de código e testes</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Emprego – o produto é entregue ao cliente, que fornece um feedback.</span></span></p>
</li>
</ul>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Uma série de atividades de apoio são utilizadas ao longo da evolução do projeto, entre elas:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Controle e acompanhamento do projeto</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Administração de riscos</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Garantia da qualidade do software</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Revisões técnicas</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Medição</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Gerenciamento da configuração do software</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Gerenciamento da reusabilidade</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Preparo e produção de artefatos de software</span></span></p>
</li>
</ul>
<p align="CENTER"> <span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: medium;">A prática da engenharia de software</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Existem princípios básicos para uma metodologia de software:</span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Compreenda o problema antes de querer construir uma solução</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Planeje a solução. Faça um projeto, pesquise produtos similares</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Execute. Siga o projeto que você definiu – mas se necessário faça correções no projeto.</span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Examine o resultado. Teste sua aplicação.</span></span></p>
</li>
</ul>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Antes de sair adicionando funcionalidades a <em>torto e a direito</em>, veja se o que você pretende incluir irá realmente agregar valor. Se não for, não inclua. As coisas precisam ser simples. Não pense apenas no que você pode adicionar e pense no mais importante: o que você pode retirar.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Tenha cuidado para não transformar o projeto em uma colcha de retalhos, sem foco e sem função específica e quando for fazer qualquer coisa, deixe tudo especificado, pois outras pessoas provavelmente irão trabalhar no que você construiu.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Pense no futuro!</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">Softwares com muito tempo de uso possuem mais valor agregado, então não pense no projeto de forma limitada e pense na reutilização.</span></span></p>
<p align="JUSTIFY"><span style="font-family: Liberation Sans,sans-serif;"><span style="font-size: small;">O componente que você construiu pode ser utilizado no mesmo projeto várias vezes, ou até em outros projetos e, acima de tudo: pense antes de fazer! Mesmo que você erre, irá aprender com a experiência.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sobreengenhariadesoftware.com/engenharia-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Engenharia de Software: Uma Abordagem Profissional &#8211; Roger Pressman</title>
		<link>http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/</link>
		<comments>http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 22:53:15 +0000</pubDate>
		<dc:creator>Tiago Passos</dc:creator>
				<category><![CDATA[Roger Pressman]]></category>
		<category><![CDATA[engenharia de software]]></category>
		<category><![CDATA[roger pressman]]></category>

		<guid isPermaLink="false">http://www.sobreengenhariadesoftware.com/?p=24</guid>
		<description><![CDATA[No primeiro post do blog sobre engenharia de software . com resolvi falar um pouco sobre o autor do livro que usaremos como base para os estudos em Engenharia de Software: Roger Pressman. Ele é referência internacional no assunto. Autor e co-autor de vários livros, já trabalhou como engenheiro de software, gerente, professor, consultor e [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_26" class="wp-caption alignright" style="width: 260px"><a href="http://www.sobreengenhariadesoftware.com/wp-content/uploads/2012/04/roger-pressman.jpg"><img class=" wp-image-26" title="Roger Pressman" src="http://www.sobreengenhariadesoftware.com/wp-content/uploads/2012/04/roger-pressman.jpg" alt="Roger Pressman" width="250" height="375" /></a><p class="wp-caption-text">Roger Pressman, autor do livro Engenharia de Software: Uma Abordagem Profissional</p></div>
<p>No primeiro post do blog <a title="sobre engenharia de software . com" href="http://www.sobreengenhariadesoftware.com" target="_blank">sobre engenharia de software . com</a> resolvi falar um pouco sobre o autor do livro que usaremos como base para os estudos em Engenharia de Software: Roger Pressman. Ele é referência internacional no assunto. Autor e co-autor de vários livros, já trabalhou como engenheiro de software, gerente, professor, consultor e também como desenvolvedor.</p>
<p>Possui Ph. D em engenharia pela <a href="http://www.uconn.edu/" target="_blank">Universidade de Connecticut</a>, e é atualmente presidente da <a href="http://www.rspa.com/" target="_blank">R. S. Pressman &amp; Associates Inc.</a>, que tem como foco o desenvolvimento de treinamentos e métodos em engenharia de software. Entre os livros que foi autor ou co-autor estão:</p>
<ul>
<li>Numerical control and computer-aided manufacturing (1977)</li>
<li>Making software engineering happen: a guide for instituting the technology (1988)</li>
<li>Software engineering: a beginner&#8217;s guide (1988)</li>
<li>Software shock: the danger &amp; the opportunity (1991)</li>
<li>Software engineering: a practitioner&#8217;s approach (2005)</li>
<li>Web engineering: a practitioner&#8217;s approach (2009)</li>
</ul>
<p>A obra que iremos nos aprofundar foi organizada em 32 capítulos, dividos em 5 partes, além de dois apêndices (Introdução à <a href="http://pt.wikipedia.org/wiki/UML" target="_blank">UML</a> e <a href="http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos" target="_blank">Orientação a Objetos</a>). Essas partes são:</p>
<p>1. O Processo &#8211; apresenta as diversas visões e filosofias de processo de software, entre modelos ágeis e preceptivos;<br />
2. Modelagem &#8211; métodos de processo e análise com base na UML e Orientação a Objetos;<br />
3. Gestão da Qualidade &#8211; conceitos, técnicas, procedimentos e métodos que visam avaliar a qualidade do software;<br />
4. Gerência de Software &#8211; tópicos relevantes ao planejamento e gerência de sofware;<br />
5. Tópicos Avançados &#8211; aperfeiçoamento e tendências da engenharia de software.</p>
<p>O livro foi organizado de forma a atender a diferentes públicos ligados à área de Tecnologia da Informação, como estudantes no final da graduação e profissionais a área.</p>
<div id="attachment_25" class="wp-caption alignright" style="width: 260px"><a href="http://www.sobreengenhariadesoftware.com/wp-content/uploads/2012/04/engenharia-de-software-roger-pressman-7-edicao.jpg"><img class=" wp-image-25 " title="Engenharia de Software, Roger Pressman" src="http://www.sobreengenhariadesoftware.com/wp-content/uploads/2012/04/engenharia-de-software-roger-pressman-7-edicao.jpg" alt="Engenharia de Software, Roger Pressman" width="250" height="333" /></a><p class="wp-caption-text">PRESSMAN, R. S. Engenharia de software: uma abordagem profissional. 7ª Edição. Porto Alegre: AMGH, 2011. 780 p.</p></div>
<p>Veja abaixo a lista dos capítulos do livro:</p>
<p>1. <a href="http://www.sobreengenhariadesoftware.com/engenharia-de-software/" target="_blank">Engenharia de software</a></p>
<p>PARTE UM &#8211; PROCESSOS DE SOFTWARE<br />
2. <a href="http://www.sobreengenhariadesoftware.com/modelos-de-processo/" target="_blank">Modelos de processo</a><br />
3. <a href="http://www.sobreengenhariadesoftware.com/desenvolvimento-agil/" target="_blank">Desenvolvimento ágil</a></p>
<p>PARTE DOIS &#8211; MODELAGEM<br />
4. Princípios que orientam a prática<br />
5. Engenharia de requisitos<br />
6. Modelagem de requisitos: cenários, informações e classes de análise<br />
7. Modelagem de requisitos: fluxo, comportamento, padrões e aplicações baseadas na web (WebApp)<br />
8. Conceitos de projeto<br />
9. Projeto de arquitetura<br />
10. Projeto de componentes<br />
11. Projeto de interfaces de usuário<br />
12. Projeto baseado em padrões<br />
13. Projeto de WebApps</p>
<p>PARTE TRÊS &#8211; GESTÃO DA QUALIDADE<br />
14. Conceitos da qualidade<br />
15. Técnicas de revisão<br />
16. Garantia da qualidade de softwae<br />
17. Estratégias de teste de software<br />
18. Testando aplicativos convencionais<br />
19. Testando aplicações orientadas a objeto<br />
20. Testando aplicações para a web<br />
21. Modelagem formal e verificação<br />
22. Gestão de configuração de software<br />
23. Métricas de produto</p>
<p>PARTE QUATRO &#8211; GERENCIAMENTO DE PROJETOS DE SOFTWARE<br />
24. Conceitos de gerenciamento de projeto<br />
25. Métricas de processo e projeto<br />
26. Estimativas de projeto de software<br />
27. Cronograma de projeto<br />
28. Gestão de risco<br />
29. Manutenção e reengenharia</p>
<p>PARTE CINCO &#8211; TÓPICOS AVANÇADOS<br />
30. Melhoria do processo de software<br />
31. Tendências emergentes na Engenharia de Software<br />
32. Comentários finais</p>
<p>São 780 páginas de muito conteúdo. É bastante material para que a gente possa se debruçar nos próximos meses.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sobreengenhariadesoftware.com/engenharia-de-software-uma-abordagem-profissional-roger-pressman/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
