Engenharia de Software
Principais Livros e Artigos
- 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.]
Outros Livros e Artigos Interessantes
- 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.]
- 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.]
- 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.]
- 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.
- 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.
- 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.]
- 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.
- HENDERSON, Peter B. Mathematical Reasoning in Software Engineering Education. Communications of the ACM, New York, v. 46, nº 9, p. 45-50, sep. 2003.
- 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.]
- 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.
- 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.
- 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.
- 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.]
- PAULK, Mark C. et al. The Capability Maturity Model: Guidelines for Improving the Software Process. Reading, MA: Addison-Wesley, 1995.
- 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. [ ver texto ]
- 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.]
- SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. [s.l.]: Addison-Wesley, 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.]