Software Engineering Concepts, Methods, and Process

advertisement
PhD Prelim Study Material for Software Systems
Study areas:









Database Theory (CS5800)
Data Mining (CS7670)
Software Engineering Concepts¸ Methods, and Processes (CS5370/6370)
Human-Computer Interfaces (CS5100)
Conceptual Modeling and Object-oriented Software Development
(CS5700 and CS6700)
Testing (CS7380)
Patterns (CS7350)
Graphics ? (CS5400 and CS6400)
Security (CS6450, CS7450)
Database Theory
Both of the following articles:


Kent, William, A Simple Guide to Five Normal Forms in Relational
Database Theory, Communications of the ACM, vol. 26, n. 2, pp. 120-125,
1983.
Darwen, Hugh, What a Database Really Is: Predicates and Propositions,
Relational Database Writings 1994-1997, pp. 279-287, 1998.
Plus one of the following two books:


Silberschatz, et al., Database System concepts 5th ed., McGraw Hill, 2006,
Chapters 1-3, 6, 7, 9, 10
E. F. Codd, A Relational Model for Large Shared Data Bank,
Communications of the ACM, Vol. 13, pp. 377-387, 1970
Data Mining
The following articles:

Chen, Ming-Syan, et al., Data Mining: An Overview from Database
Perspective, IEEE Transactions on Knowledge and Data Engineering, vol.
8, n. 6, pp. 866-883, 1996.



Fayyad, Usama, et al., The KDD Process for Extracting Useful Knowledge
from Volumes of Data, Communications of the ACM, vol. 39, n. 11, pp. 2734, 1996.
Glymour, Clark, et al., Statistical Inference and Data Mining,
Communications of the ACM, vol. 39, n. 11, pp. 35-41, 1996.
Frawley, W. J., et al., Knowledge Discovery in Databases: An Overview,
AI Magazine, pp. 57-70, 1992.
or one of the following two books:


Han and Kamber, Data Mining Concepts and Techniques, Morgan
Kaufmann.
Tan et al., Introduction to Data Mining, Addison Wesley.
Software Engineering Concepts, Methods, and Process
“Comparing Architectural Design Styles” by Mary Shaw, IEEE Software, v. 12,
n. 6, pp. 27-41
“Streamlined Design Approach Lands Mars Pathfinder” by Steven Stolper, IEEE
Software, v. 16, p. 5, pp. 52-62
“Formal Methods: Promises and Problems” by LuQi and Joseph A. Goguen,
IEEE
Software, January, 1997, v. 14, n. 1, pp. 73-85
“On Formalism in Specification” by Bertrand Meyer, IEEE Software, January,
1985, v. 2, n. 1, pp. 6-26
Sommerville, Ian, Software Engineering, Sixth Edition, Addison-Wesley, 2001
Fowler, Martin, Refactoring, Addison Wesley, 2000
“Requirements Engineering as a Success Factor in Software Projects” by
Hubert F. Hofmann and Franz Lehner, IEEE Software, v. 18, n.4, pp.58-66
“Scenarios In System Development” by Klaus Weidenhaupt, Klaus Pohl, Matthias
Jarke, and Peter Haumer, IEEE Software, v. 15, n.2, pp. 34-45
“Why the Vasa Sank: 10 Problems and Some Antidotes for Software Projects”
by Richard E. Fairley and Mary Jane Willshire, IEEE Software, vol. 20, n. 2,
pp. 18-25
“A Spiral Model of Software Development and Enhancement,” Barry W. Boehm,
IEEE Computer, vol. 21, n. 5, pp. 61-72
“Exploring XP for Scientific Research” by William Wood and William Kleb,
IEEE Software, vol. 20, n. 3, pp. 30-e6
“Issue on Agile Development Processes”, Crosstalk, vol.5, n. 10
“Agility Through Discipline”, Kent Beck and Barry Boehm, Computer, vol. 36,
n. 6, pp. 44-46
“Iterative and Incremental Development: A Brief History”, Craig Larman and
Victor Basili, Computer, vol. 36, n. 6, pp. 47-56
“Using Risk to Balance Agile and Plan-Driven Methods”, Barry Boehm and
Richard Turner, Computer, vol. 36, n. 6, pp. 57-66
“Process Diversity in Software Development” by Mikael Lindvall and Ioana
Rus, IEEE Software, v. 17, n.4, pp.14-18
“Selecting a Project’s Methodology” by Alistair Cockburn, IEEE Software, v.
17, n. 4, pp. 64-71
“Characterizing the Software Process,” by Watts S. Humphrey, IEEE Software,
vol 5, n. 2, pp. 73-79
“Three Dimensions of Process Improvement,” Watts. S. Humphery, Crosstalk, V.
11, ns. 2, 3, 4
“Issue on the Team Software Process”, Crosstalk, vol.15, n. 9
Prieto-Diaz, Ruben and Peter Freeman, “Classifying Software for Reusability”,
IEEE Software, Vol. 6, No. 1, 1987, pp. 6-17
Steyaert, Patrick, Carine Lucas, Kim Mens, and Theo D'Hondt, “Reuse
Contracts: Managing the Evolution of Reusable Assets”, OOPSLA’96, San Jose,
California, October 6-10, 1996
Price, Margaretha W. and Steven A. Demurjian, Sr., "Analyzing and Measuring
Reusability in Object-Oriented Designs", OOSPLA'97, Atlanta, Georgia, October
5-9, 1997, pp. 22-33
Weihe, Karsten, "Reuse of Algorithms: Still a Challenge to Object-oriented
Programming", OOSPLA'97, Atlanta, Georgia, October 5-9, 1997, pp. 33-48
Evans, Huw and Peter Dickman, “Zones, Contracts, and Absorbing Change: An
Approach to Software Evolution,” OOPSLA’99, Denver, Co, Nov. 1-5, 1999, pp.
415-434
Mezini, Mira, "Maintaining the Consistency and Behavior of Class Libraries
During their Evolution", OOSPLA' 97, Atlanta, Georgia, October 5-9, 1997, pp. 121
Conceptual Modeling and Object Orientation
Parnas, David L., "On the Criteria to be Used in Decomposing Systems into
Modules", Communications of the ACM, Vol: 15, No: 12, December, 1972, pp.
1053-1058
Nierstrasz, Oscar M. "A Survey of Object-oriented Concepts", in Object-oriented
Concepts, Databases, and Applications, eds. Won Kim, Frederick H. Lochovsky,
1989, pp. 3-22
Snyder, Alan, "The Essence of Objects: Concepts and Terms", IEEE Software,
Vol. 10, No. 1, January, 1993, pp. 31-42
Riehle, Dirk, "How and Why to Encapsulate Class Trees", OOPSLA'95
Conference Proceedings, Austin, TX, October, 1995, 251-264
Bardou, Daniel and Christophe Dony, “Split Objects: a Disciplined Use of
Delegation within Objects”, OOPSLA’96, San Jose, California, October 6-10,
1996, pp. 122-137
Bokowski, Boris and Jan Vitek, “Confined Types,” OOPSLA’99, Denver, Co, Nov.
1-5, 1999, pp. 82-96
Madsen, Ole Lehrmann, “Semantic Analysis of Virtual Classes and Nested
Classes,” OOPSLA’99, Denver, Co, Nov. 1-5, 1999, pp. 114-131
Rinat, Ran and Scott F. Smith, “Correspondence Polymorphism for Objectoriented Languages,” OOPSLA’99, Denver, Co, Nov. 1-5, 1999, pp. 167-186
“Object-Oriented Development” by Grady Booch, IEEE Transactions on Software
Engineering, v. 12, n. 2, pp. 211-221
“A Unified Object Topology” by William Tepfenhart and James Cusick
“Aspect-Oriented Development with Stratified Frameworks” by Colin Atkinson
and Thomas Kuhne, IEEE Software, v. 20, n. 1, pp. 81-89
Testing
Travassos, Guilheme H., Forrest Shull, Michael Fredericks, and Victor . Basili,
“Detecting Defects in Object Oriented Designs: Using Reading Techniques to
Increase Software Quality,” OOPSLA’99, Denver, Co, Nov. 1-5, 1999, pp. 47-56
Goodenough, John B. and Susan L. Gerhart, “Toward a theory of test data
selection,” IEEE Transactions on Software Engineering, Vol. 1, No. 2, June 1975,
pp. 156-173
“What is Software Testing? And Why is it so Hard?” by James A. Whittaker,
IEEE Software, v. 17, n. 1, pp. 70-79
“A Simplified Domain-Testing Strategy” by Bingchiang Jeng and Elaine J.
Weyuker, ACM Transactions on Software Engineering and Methodology, v. 3, n.
3, pp. 254-270
“Weak Mutation Testing and Completeness of Test Sets” by William Howden,
IEEE Transactions on Software Engineering, v. 8, n. 4, pp. 371-379
“An Experimental Determination Of Sufficient Mutant Operators” by A.
Jefferson Offutt, Gregg Rothermel, Roland Untch and Christian Zapf, ACM
Transactions on Software Engineering and Methodology, v. 5, n. 2, pp. 99-118
“Experimental Results From An Automatic Test Case Generator” by Richard
Demillo and A. Jefferson Offutt, ACM Transactions on Software Engineering
and Methodology, v. 2, n. 2, pp. 109-127
“Developing An Object-Oriented Software Testing And Maintenance
Environment”
by David Kung, Jerry Gao, Pei Hsia, Yasufumi Toyoshima, Chris Chen, Young-Si
Kim, and Young-Kee Song, Communications of the ACM, v. 38, n. 10, pp. 75-87
“Reliable Objects: Lightweight Testing for OO Languages” by Jean-Marc
Jezequel, Baniel Deveaux, and Yves Le Traon, IEEE Software, v. 18, n. 4, pp.
76-83
“An Empirical Study of Regression Test Selection Techniques” by Todd Graves,
Mary Jean Harrold, Jung-Min Kim, Adam Porter, and Gregg Rothermel, ACM
Transactions on Software Engineering and Methodology, v. 10, n. 2, pp
184-208
Patterns
Gamma, Erich, Richard Helm, Ralph Johnson, and John Vlissdes, Design
Pattens, Addison-Wesley Professional Computing Series, 1995
Agerbo, Ellen and Aino Cornilis, "How to Preserve the Benefits of Design
Patterns", OOSPLA '98, Vancouver, British Columbia, October 18-22, 1998, pp.
134-143
“Using Design Patterns To Develop Reusable Object-Oriented Communication
Software” by Douglas C. Schmidt, Communications of the ACM, v. 38, n. 10,
pp. 65-74
“Software Patterns” by Douglas C. Schmidt, Mohamed Fayad, and Ralph E.
Johnson; Communications of the ACM, v. 39, n. 10, pp. 36-49
“Why Explore Object Methods, Patterns, And Architectures?” by Stephen Mellor
and Ralph Johnson; IEEE Software, v. 14, n. 1, pp. 27-42;
Download