everything.study
IDS.341

Concepts in the Engineering of Software

3-0-9 units · Graduate

See description under subject 16.355[J] . Enrollment may be limited.

Fall 2005 · Software Engineering Concepts

Topics

  • Introducing The Problem
  • Process and Life Cycle Models
  • Requirements and Specification
  • Design
  • Design (cont.)
  • COTS and Reuse
  • Metrics and Reliability Assessment
  • Building Confidence (Testing, Analysis, QA, Reviews)
  • Selecting a Programming Language
  • Team Organization and People Management
  • Software and System Safety
  • Putting It All Together

Readings

  • Lewyn, Mark. “Flying in Place: The FAA’s Air Control Fiasco.” Business Week (April 26, 1998): 87-88.
    Listed reading
  • Brooks, Frederick, Jr. “No Silver Bullet.” In Information Processing . Edited by H. J. Kugler. North-holland, BV: Elsevia Science Publishers, 1986. ISBN: 0444700773.
    Listed reading
  • Davis, Alan. “Software Lemmingineering.” IEEE Magazine (September 1993): 79-82.
    Listed reading
  • Listed reading
  • Ewusi-Mensah, Kweku. “Critical Issues in Abandoned Information Systems Development Projects.” Communications of the ACM 50, no. 9 (September 1997).
    Listed reading
  • Listed reading
  • ———. “Enough About Process: What we Need are Heroes.” IEEE Software (March 1995): 96-98.
    Listed reading
  • Gray, Lewis. “No Cowboy Programmers!” Abelia Corporation; Computer (April 1998).
    Listed reading
  • Mackey, Karen. “Mars versus Venus.” IEEE Software (May/June 2000): 14-15.
    Listed reading
  • McConnell, Steve. “Cargo Cult Software Engineering.” IEEE Software (March/April 2000): 11-13.
    Listed reading
  • Martin, Robert C. “eXtreme Programming.” IEEE Software (July/August 2000): 12-13.
    Listed reading
  • Highsmith, and Cockburn. “Agile Software Development: The Business of Innovation.” Computer (September 2001): 120-122.
    Listed reading
  • ———. “Agile Software Development: The People Factor.” Computer (November 2001): 131-133.
    Listed reading
  • Pressman. “Can Internet-Based Applications be Engineered?” IEEE Software (September/October 1998): 104-110.
    Listed reading
  • Bollinger, Terry. “The Interplay of Art and Science in Software.” Computer (October 1997): 128-131.
    Listed reading
  • Lawrence, Brian, Karl Wiegers, and Christof Ebert. “The Top Risks of Requirements Engineering.” IEEE Software (November/December 2001): 62-63.
    Listed reading
  • Leishman and Cook. “Requirements Risks Can Drown Software Projects.” Computer (November 2001).
    Listed reading
  • Wing, Jeannette M. “A Specifier’s Introduction to Formal Methods.” Computer (September 1990): 9-23.
    Listed reading
  • Parnas, D. L. “On the Criteria To Be Used in Decomposing Systems into Modules.” Communications of the ACM 15, no. 12 (December 1972): 1053-1058.
    Listed reading
  • Wirth, Niklaus. “Program Development by Stepwise Refinement.” Communications of the ACM 14, no. 4 (April 1971): 221-227.
    Listed reading
  • Bergland, G. D. “A Guided Tour of Program Design Methodologies.” Computer (October 1981): 13-37.
    Listed reading
  • Hatton, Les. “Does OO Sync with How We Think?” IEEE Software (May/June 1998): 46-54.
    Listed reading
  • Meyer, Bertrand. “A Really Good Idea.” Computer (December 1999): 144-147.
    Listed reading
  • Vessey, Iris, and Sue A. Conger. “Requirements Specification: Learning Object, Process, and Data Methodologies.” Communications of the ACM 37, no. 5 (May 1994).
    Listed reading
  • Ledgard, Henry F. “The Emperor with No Clothes.” Communications of the ACM 44, no. 10 (October 2001).
    Listed reading
  • Carpenter, Todd. “Avionics Integration for CNS/ATM.” Computer (December 1998): 124-126.
    Listed reading
  • Budgen, David. “Software Design Methods: Life Belt or Leg Iron?” IEEE Software (September/October 1999): 136-139.
    Listed reading
  • Listed reading
  • Kruger, Charles W. “Software Reuse.” ACM Computing Surveys 24, no. 2 (June 1992).
    Listed reading
  • Weyuker, Elaine J. “Testing Components-Based Software: A Cautionary Tale.” IEEE Software (September/October 1998): 54-59.
    Listed reading
  • Glass, Robert L. “Reuse: What’s Wrong with This Picture?” IEEE Software (March/April 1998): 57-59.
    Listed reading
  • Joseph K. Kearney, Robert L. Sedlmeyer, William B. Thompson, Michael A. Gray, and Michael A. Adler. “Software Complexity Measurement.” Communications of the ACM 29, no. 11 (November 1986).
    Listed reading
  • Armour, Phillip. “Ten Unmyths of Project Estimation.” Communications of the ACM 45, no. 11 (November 2002).
    Listed reading
  • Listed reading
  • Yamaura, Tsuneo. “How to Design Practical Test Cases.” IEEE Software (November/December 1998): 30-36.
    Listed reading
  • ———. “Why Johnny Can’t Test?” IEEE Software (March/April 1998): 113-115.
    Listed reading
  • Hoare, C. A. R. “An Axiomatic Basis for Computer Programming.” Communications of the ACM 12, no. 10 (October 1969).
    Listed reading
  • Lipton, Richard J., Richard A. De Millo, and Alan J. Perlis. “Special Process and Proofs of Theorems and Programs.” Communications of the ACM 22, no. 5 (March 1979).
    Listed reading
  • Rothman, Johanna. “Of Crazy Numbers and Release Criteria.” Computer (December 1998): 127-128.
    Listed reading
  • Naiditch, David. “Selecting a Programming Language for Your Project.” IEEE AES Systems Magazine (September 1999): 11-14.
    Listed reading
  • Ziegler, Stephen F. “Comparing Development Costs of C and Ada.” March 30, 1995. (Unpublished.)
    Listed reading
  • Glass, Robert L. “One Giant Step Backward.” Communications of the ACM 46, no. 5 (May 2003): 21-23.
    Listed reading
  • Ferdinandi, Patricia L. “Facilitating Communication.” IEEE Software (September/October 1998): 92-96.
    Listed reading
  • McConnell, Steve. “Problem Programmers.” IEEE Software (March/April 1998): 126-128.
    Listed reading
  • Mantei, Marilyn. “The Effect of Programming Team Structures on Programming Tasks.” Communications of the ACM 24, no. 3 (March 1981): 106-113.
    Listed reading
  • Rettig, Marc. “Software Teams.” Communications of the ACM 33, no. 10 (October 1990): 23-27.
    Listed reading
  • Williams, Laurie, Robert R. Kessler, Ward Cunningham, and Ron Jeffries. “Strengthening the Case for Pair Programming.” IEEE Software (July/August 2000): 19-25.
    Listed reading
  • Howard, Alan. “Software Project Management.” Communications of the ACM 44, no. 5 (May 2001).
    Listed reading
  • Listed reading
  • Shapiro, Stuart. “Splitting the Difference: The Historical Necessity of Synthesis in Software Engineering.” IEEE Annals of the History of Computing 19, no. 1 (1997): 20-54.
    Listed reading
  • Wirth, Niklaus. “A Plea for Lean Software.” Computer (February 1995): 64-68.
    Listed reading
  • Bach, James. “What Software Reality is Really About.” Computer (December 1999): 148-149.
    Listed reading
  • Instead of a textbook, required reading will consist of a carefully selected set of historically important and foundational papers as well as more current ones reflecting the latest thoughts. Some papers will be technical while others will be opinions or essays. The literature is vast, and papers have been selected for their historical relevance in the development of the field or for their ability to help you critique the assumptions underlying current software/system engineering dogma.
    Listed reading

Prerequisites & course information

Same subject as 16.355[J] Prereq: Permission of instructor G (Spring) 3-0-9 units

Sources