Information Sources
In the past I have used a number of text books, none of which are very
satisfactory.
This year, I am trying an experiment. Instead of using a single textbook,
I am providing a collection of important papers. These were all published
in ACM publications and are freely available for copying for educational
purposes. In addition, I am relying on you to get any further information
you need from a wide array of sources. The software engineering faculty
have a library of ISD and SE textbooks and methodology manuals that you
are free to use. It’s in Gwen Baker’s office in the College of Computing
Building. She administers this system Mon-Tue and Thu-Fri.
Slides and notes will be published on the web page incrementally. I
am also requiring you to make your team documents available on the web
pages. These are a fine source of learning materials for everyone.
Topics and Readings
Information systems and their information
What information systems are and what software engineers or computer scientists
do. The relationship between systems and their environments. The assumptions
that we make about the world when we design them. Information systems development
or software engineering as a profession. Social consequences of professional
lapses.
-
Brooks, F. P. (1996). “The computer scientist as toolsmith II.” Communications
of the ACM 39(3): 61-68.
-
Dahlblom, B. and L. Mathiassen (1997). “The future of our profession.”
Communications of the ACM 40(6): 80-89.
-
Oz, E. (1994). “When professional standards are lax: The CONFIRM failure
and its lessons.” Communications of the ACM 37(10): 29-36.
-
Zave, P. and M. Jackson (1997). “Four dark corners of requirements engineering.”
ACM Transactions on Software Engineering 6(1): 1-30.
Understanding customer needs
Techniques for gathering requirements for information systems from customers
and potential users. Soft systems analysis and requirements for organizational
information systems. Contextual design and requirements for information
technology products. The interdisciplinary nature of information systems
development and software engineering research.
-
Beyer, H. R. and K. Holtzblatt (1995). “Apprenticing with the customer.”
Communications of the ACM 38(5): 45-54.
-
Keil, M. and E. Carmel (1995). “Customer-developer links in software development.”
Communications of the ACM 38(5): 33-44.
-
Wood-Harper, A. T., S. Corder, et al. (1996). “How we profess: The ethical
systems analyst.” Communications of the ACM 39(3): 69-77.
Information modeling
Modeling as the basis for information systems design. Modeling information
and data in traditional database-heavy information systems. Hybrid techniques
for hypermedia information systems.
-
Isakowitz, T., E. A. Stohr, et al. (1995). “RMM: A methodology for structured
hypermedia design.” Communications of the ACM 38(8): 34-44.
-
Navathe, S. B. (1992). “Evolution of data modeling for databases.” Communications
of the ACM 35(9): 112-123.
Object and task modeling
Modeling systems as collections of responsible actors. Patterns of interaction.
Object-oriented modeling strategies and tactics.
-
Coad, P. (1992). “Object-oriented patterns.” Communications of the ACM
35(9): 153-159.
-
Henderson-Sellers, B. and J. M. Edwards (1990). “The object-oriented systems
life cycle.” Communications of the ACM 33(9): 142-159.
-
Korson, T. and J. D. McGregor (1990). “Understanding object-oriented: A
unifying paradigm.” Communications of the ACM 33(9): 40-60.
-
Parsons, J. and Y. Wand (1997). “Choosing classes in conceptual modeling.”
Communications of the ACM 40(6): 63-69.
-
Rubin, K. S. and A. Goldberg (1992). “Object behavior analysis.” Communications
of the ACM 35(9): 48-62.
Enterprise and Personal Information Systems
How information systems are spreading throughout business enterprises.
Case discussion: Organization of personal life as a one-person “enterprise”
and the potential role of personal information systems in running it.
-
Genesereth, M. R. and S. P. Ketchpel (1994). “Software agents.” Communications
of the ACM 37(7): 48-53.
-
Greif, I. (1994). “Desktop agents in group-enabled products.” Communications
of the ACM 37(7): 100-105.
-
Kautz, H. A., B. Selman, et al. (1994). “Bottom-up design of software agents.”
Communications of the ACM 37(7): 143-147.
-
Mitchell, T., R. Caruana, et al. (1994). “Experience with a learning personal
assistant.” Communications of the ACM 37(7): 81-91.
-
Maes, P. (1994). “Agents that reduce work and information overload.” Communications
of the ACM 37(7): 31-40.
-
Norman, D. A. (1994). “How might people interact with agents.” Communications
of the ACM 37(7): 68-71.
-
Scheer, A.-W. and A. Hars (1992). “Extending data modeling to cover the
whole enterprise.” Communications of the ACM 35(9): 166-172.
Workflow support for IS development and other applications
Modeling and supporting collaborative activity with workflow information
systems. Software development itself viewed as a workflow process.
-
Curtis, B., M. I. Kellner, et al. (1992). “Process modeling.” Communications
of the ACM 35(9): 75-90.
-
Krasner, H., J. Terrel, et al. (1992). “Lessons learned from a software
process modeling system.” Communications of the ACM 35(9): 91-100.
Software and information quality
Software engineering as a manufacturing process with quality metrics and
quality-improvement plans. Examples of process interventions and evidence
for their effectiveness. Data quality and its implications in information
systems.
-
Arthur, L. J. (1997). “Quantum improvements in software system quality.”
Communications of the ACM 40(6): 46-52.
-
Grady, R. G. (1993). “Practical results from measuring software quality.”
Communications of the ACM 36(11): 62-68.
-
Knight, J. C. and E. A. Myers (1993). “An improved inspection technique.”
Communications of the ACM 36(11): 50-61.
-
Strong, D. M., Y. W. Lee, et al. (1997). “Data quality in context.” Communications
of the ACM 40(5): 103-110.
-
Wand, Y. and R. Y. Wang (1996). “Anchoring data quality dimensions in ontological
foundations.” Communications of the ACM 39(11): 86-95.
The work of software development
Project management. Development work in real organizations. The quality/maturity
of software development processes in different organizations. Research
methods for evaluation of information systems development. The incorporation
of research innovations into practice.
-
Constantine, L. L. (1993). “Work organization: Paradigms for project management
and organization.” Communications of the ACM 36(10): 34-43.
-
Cusumano, M. A. and R. W. Selby (1997). “How Microsoft builds software.”
Communications of the ACM 40(6): 53-62.
-
Fraser, M. D., K. Kumar, et al. (1994). “Strategies for incorporating formal
specifications in software development.” Communications of the ACM 37(10):
74-86.
-
Herbsleb, J., D. Zubrow, et al. (1997). “Software quality and the Capability
Maturity Model.” Communications of the ACM 40(6): 30-40.
-
Hollenbach, C., R. Young, et al. (1997). “Combining quality and software
improvement.” Communications of the ACM 40(6): 41-45.
-
Rettig, M. and G. Simons (1993). “A project planning and development process
for small teams.” Communications of the ACM 36(10): 44-55.