Engenharia de Software
Principais Livros e Artigos
- GOMES, André F.
Desenvolvimento Ágil com Kanban.
Java Magazine, [s.l.], nº 84, p. 68-74, [s.d.].
- PRESSMAN, Roger S.
Engenharia de Software.
5ª ed. Rio de Janeiro: McGraw-Hill, 2002. 843 p.
[Referência mais completa sobre o assunto, amplamente usada em cursos universitários e concursos públicos.]
- RAMAN, T. V.
Toward 2W, Beyond Web 2.0.
Communications of the ACM, New York, v. 52, nº 2, p. 52-59, feb. 2009.
[Dá um excelente panorama da evolução da arquitetura das aplicações Web.]
Outros Livros e Artigos Interessantes
- ARAÚJO, David P.
Novos Hábitos dos Deenvolvedores.
Java Magazine, [s.l.], nº 108, p. 69-74, [s.d.].
- ARMOUR, Phillip G.
Beware of Counting LOC.
Communications of the ACM, New York, v. 47, nº 3, p. 21-24, mar. 2004.
[Critica o uso da métrica de contagem de linhas de código e sugere alternativas.]
- ARMOUR, Phillip G.
Estimation Is Not Evil.
Communications of the ACM, New York, v. 57, nº 1, p. 42-43, jan. 2014.
- ARMOUR, Phillip G.
Practical Application of Theoretical Estimation.
Communications of the ACM, New York, v. 54, nº 6, p. 28-30, jun. 2011.
[Propõe uma extensão do modelo de Putman para estimar esforço e custo de software.]
- ARMOUR, Phillip G.
When Faster Is Slower.
Communications of the ACM, New York, v. 56, nº 10, p. 30-32, oct. 2013.
[Discute o impacto negativo que as facilidades dos ambientes de desenvolvimento modernos trazem para a qualidade do software gerado.]
- AVISON, David E.; FITZGERALD, Guy.
Where Now for Development Methodologies?
Communications of the ACM, New York, v. 46, nº 1, p. 78-82, jan. 2003.
[Analisa as dificuldades com o uso de metodologias de desenvolvimento de sistemas.]
- BARROS, Breno.
Adotando Arquitetura Ágil.
Mundo J, Curitiba, nº 50, p. 8-13, nov./dez. 2011.
- BECK, Ken.
Programação Extrema (XP) Aplicada.
Porto Alegre: Artmed-Bookman, 2004.
- BELL, Alex E.
The Software Inferno.
Communications of the ACM, New York, v. 57, nº 1, p. 48-53, jan. 2014.
- BOEHM, Barry W.
Software Engineering Economics.
Englewood Cliffs, NJ: Prentice Hall, 1981.
[Trata sobre a importância das métricas de software e da sua utilidade na avaliação
do esforço e do custo de construção de um software.]
- BOWERS, Eric et al.
Getting What You Measure.
Communications of the ACM, New York, v. 55, nº 7, p. 54-59, jul. 2012.
[Discute armadilhas comuns no uso de métricas de software na gestão de projetos de TI.]
- CERI, Stefano et al.
Designing Data-Intensive Web Applications for Content Accessibility Using Web Marts.
Communications of the ACM, New York, v. 50, nº 4, p. 55-61, apr. 2007.
[Propõe uma metodologia para projetar sítios web mais efetivos, unindo conceitos de negócio com facilidades de navegação.]
- CHAMPEAUX, Dennis.
Software Engineering Considered Harmful.
Communications of the ACM, New York, v. 45, nº 11, p. 102-104, nov. 2002.
- CLEMENTS, Paul C. et al.
Getting Here from There: A Roadmap for Software Product Line Adoption.
Communications of the ACM, New York, v. 49, nº 12, p. 33-36, dec. 2006.
[Apresenta um guia para a implantação de desenvolvimento de software baseado em linhas de produtos.]
- CUSUMANO, Michael A.
Extreme Programming Compared with Microsoft-Style Iterative Development.
Communications of the ACM, New York, v. 50, nº 10, p. 15-18, oct. 2007.
- DENNING, Peter J.
Design Thinking.
Communications of the ACM, New York, v. 56, nº 12, p. 29-31, dec. 2013.
- DENNING, Peter J.
The Forgotten Engineer.
Communications of the ACM, New York, v. 60, nº 12, p. 20-23, Dec. 2017.
- DENNING, Peter J.; RIEKLE, Richard D.
Is Software Engineering Engineering?
Communications of the ACM, New York, v. 52, nº 3, p. 24-26, mar. 2009.
- DENNING, Peter J. et al.
Evolutionary System Development.
Communications of the ACM, New York, v. 51, nº 12, p. 29-31, dec. 2008.
[Sugere o uso de métodos evolutivos para desenvolvimento de sistemas inspirado na Natureza.]
- DOEDERLEIN, Osvaldo P.
Baixo Acomplamento.
Java Magazine, [s.l.], nº 76, p. 58-66, [s.d.].
- ERICKSON, John; SIAN, Keng.
Theoretical and Practical Complexity of Modeling Methods.
Communications of the ACM, New York, v. 50, nº 8, p. 46-51, aug. 2007.
[Compara a complexidade de diferentes objetos em modelos para projeto de sistemas, usando objetos da UML como exemplo.]
- FIORINI, Soeli T.; STAA, Arndt von; BAPTISTA, Renan M.
Engenharia de Software com CMM.
Rio de Janeiro: Brasport, 1998.
- FREIRE, Rafael C.
Codificando com Selo de Qualidade.
Java Magazine, [s.l.], nº 109, p. 58-66, [s.d.].
- GALUP, Stuart; DATTERO, Ronald; QUAN, Jing.
What Do Agile, Lean and ITIL Mean to DevOps?
Communications of the ACM, New York, v. 63, nº 10, p. 48-53, Oct. 2020. DOI 10.1145/3372114.
[Afirma que DevOps = Agile + Lean + ITIL, e mostra que existem aumentos significativos de salários para os profissionais que dominam as três disciplinas.]
- GARCIA, Alexandre.
Benefícios do TDD Medidos na Prática.
Mundo J, Curitiba, nº 54, p. 6-14, jul./ago. 2012.
- GILB, Tom.
Principles of Software Engineering Management.
Reading, MA: Addison-Wesley, 1988.
- GLASS, Robert L.
Is This a Revolutionary Idea or Not?
Communications of the ACM, New York, v. 47, nº 11, p. 23-25, nov. 2004.
[Propõe a montagem de uma arquitetura de componentes derivada de uma árvore de requisitos do sistema.]
- GOMES, André F.
Retrospectivas Ágeis.
Java Magazine, [s.l.], nº 77, p. 62-67, [s.d.].
- GUERRA, Eduardo.
Práticas para Lidar com Arquitetura em Ambientes Ágeis.
Mundo J, Curitiba, nº 50, p. 14-27, nov./dez. 2011.
- GUERRA, Eduardo.
Programação Orientada a Aspectos para Leigos.
Mundo J, Curitiba, [s.n.], p. 56-66, [s.d.].
- HADAR, Irit; LERON, Uri.
How Intuitive is Object-Oriented Design?
Communications of the ACM, New York, v. 51, nº 5, p. 41-46, may 2008.
- HAREL, David et al.
Behavioral Programming.
Communications of the ACM, New York, v. 55, nº 7, p. 90-100, jul. 2012.
- HENDERSON, Peter B.
Mathematical Reasoning in Software Engineering Education.
Communications of the ACM, New York, v. 46, nº 9, p. 45-50, sep. 2003.
- JACOBSON, Ivar; SEIDEWITZ, Ed.
A New Software Engineering.
Communications of the ACM, New York, v. 57, nº 12, p. 49-54, dec. 2014.
- JEYARAJ, Anand; SANTER, Vicki L.
An Empirical Investigation of the Effectiveness of Systems Modeling and Verification Tools.
Communications of the ACM, New York, v. 50, nº 6, p. 62-67, jun. 2007.
[Um estudo preliminar mostra que usuários parecem compreender melhor DFDs do que Casos de Uso.]
- JONES, Capers.
Applied Software Measurement: Assuring Productivity and Quality.
New York: McGraw-Hill, 1991.
[Apresenta o modelo COCOMO para determinação do esforço e custo de construção
de software.]
- KRUTCHEV, P.
Introdução ao RUP: Rational Unified Process.
Rio de Janeiro: Ciência Moderna, 2003.
- LAPLANTE, Phillip A; NEILL, Colin J.
’The Demise of the Waterfall Model is Imminent‘ and Other Urban Myths.
Queue, New York, v. 1, nº 10, p. 10-15, feb. 2004.
- LEVESON, Nancy G.
Learning from the Past to Face the Risks of Today.
Communications of the ACM, New York, v. 56, nº 6, p. 38-42, jun. 2013.
[Discute as lições aprendidas no desenvolvimento do software usado no programa do Ônibus Espacial da NASA.]
- LIMONCELLI, Thomas A.
The Small Batches Principle.
Communications of the ACM, New York, v. 59, nº 7, p. 52-57, jul. 2016.
- MAGUIRE, Steve.
Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams.
Redmond, WA: Microsoft Press, 1994.
- MARTIN, James; McCLURE, Carma.
Técnicas Estruturadas e CASE.
São Paulo: Makron, 1991.
- MEDEIROS, Manoel P.
FDD - O Ponto de Equilíbrio.
Java Magazine, [s.l.], nº 76, p. 68-74, [s.d.].
- MEYER, Bertrand.
Design and Code Reviews in the Age of the Internet.
Communications of the ACM, New York, v. 51, nº 9, p. 66-71, sep. 2008.
[Apresenta técnicas para revisões de projeto e implementação de software em equipes distribuídas geograficamente.]
- NADEEM, Ayman.
Human-Centered Approach to Static-Analysis-Driven Developer Tools.
Communications of the ACM, New York, v. 65, nº 3, p. 38-45, Mar. 2022. DOI 10.1145/3486597.
- NERUR, Sridhar.; MAHAPATRA, Radhakanta; MANGALARAJ, George.
Challenges of Migrating to Agile Methodologies.
Communications of the ACM, New York, v. 48, nº 5, p. 72-78, may 2005.
- NEVILLE-NEIL, George.
The Planning and Care of Data.
Communications of the ACM, New York, v. 65, nº 6, p. 36-37, Jun. 2022. DOI 10.1145/3532633.
- NEVO, Dorit; WADE, Michael R.
How to Avoid Disappointment by Design.
Communications of the ACM, New York, v. 50, nº 4, p. 43-48, apr. 2007.
[Propõe uma metodologia para alinhar as expectativas dos usuários às características de um sistema.]
- NEWCOMBE, Chris et al.
How Amazon Web Services Uses Formal Methods.
Communications of the ACM, New York, v. 58, nº 4, p. 66-73, apr. 2015.
- PARNAS, David L.
The Risks of Stopping Too Soon.
Communications of the ACM, New York, v. 54, nº 6, p. 31-33, jun. 2011.
[Analisa os perigos de concluir o projeto de software cedo demais.]
- PAULK, Mark C. et al.
The Capability Maturity Model: Guidelines for Improving the Software Process.
Reading, MA: Addison-Wesley, 1995.
- PEDROSO, Bruno.
Desenvolvimento Orientado a Testes.
Java Magazine, [s.l.], nº 82, p. 66-74, [s.d.].
- POOLE, Damon
Breaking the Major Release Habit.
Queue, New York, v. 4, nº 8, p. 46-51, oct. 2006.
[Discute as vantagens das metodologias ágeis de desenvolvimento de sistemas, enfatizando os prazos reduzidos entre versões funcionais.]
- POTTER, Neil; SAKRY, Mary.
Practical CMM.
Software Development Magazine, mar. 2001.
- PRASS, Fábio S.
Implantando Scrum.
Java Magazine, [s.l.], nº 109, p. 68-74, [s.d.].
- SAMOLADAS, Ioannis et al.
Open Source Development Should Strive for Even Greater Code Maintainability.
Communications of the ACM, New York, v. 47, nº 10, p. 83-87, oct. 2004.
[Analisa software livre do ponto de vista da manutenabilidade. Oferece uma interessante métrica para isso, usada pelo SEI.]
- SANTOS, Wagner R.
Príncipios, Padrões e Práticas para um Design Ágil - Parte 1.
Java Magazine, [s.l.], nº 80, p. 68-74, [s.d.].
- SOMMERVILLE, Ian.
Engenharia de Software.
6ª ed. [s.l.]: Addison-Wesley, 2003.
- SOMMERVILLE, Ian et al.
Large-Scale Complex Systems.
Communications of the ACM, New York, v. 55, nº 7, p. 71-77, jul. 2012.
[Discute os problemas de sistemas de alta complexidade, e propõe uma grade curricular específica para estudá-los.]
- VASQUEZ, Carlos et al.
Análise de Pontos de Função - Medição, Estimativas e Gerenciamento de Projetos de Software.
[s.l.]: Érica, 2003.
- WANG, Wei-L.
Beware the Engineering Metaphor.
Communications of the ACM, New York, v. 45, nº 5, p. 27-29, may 2002.
- YOURDON, Edward.
Classics in Software Engineering.
[s.l.]: Yourdon, 1979.
[Coletânea de textos que representaram marcos na Engenharia de Software, tais como os trabalhos de Dijkstra, Turing, Von Neumann, etc.]