Electronic Mail: taylor@ics.uci.edu
Office: ICS2 203
Office Phone: (949) 824-6429
Fax: (949) 824-1715
Office Hours: MW 3:30-4:30pm. But please send email to establish an appointment.
From the UCI Catalog:
221 Software Engineering (4). Study of the concepts, methods, and tools for the analysis, design, construction, and measurement of complex software-intensive systems. Underlying principles emphasized. State-of-the-art software engineering and promising research areas covered, including project management. Formerly ICS 221A.
This class is a graduate survey of software engineering topics. Each lecture will focus on a single topic, beginning with some background information about the topic and followed by an examination of one or more important issues with respect to that topic at the frontier of software engineering. Students requiring a more thorough exposition of background material should consult the course textbook, using the suggested readings in the course schedule as guidelines. At the end of the class, students should be knowledgeable about the fundamentals of software engineering, the key problems that are currently being pursued by researchers in the field, and the key approaches that are being proposed and investigated, as well as be familiar with the work of many of the leading researchers.
The vehicles for learning these topics are readings from the textbook, readings from the technical literature, lectures, and classroom discussion. The class is co-taught by the software faculty so that specialty topics may be presented in depth.
NOTE: In this course you are bound by the ICS policy on cheating, as well as UC Irvine's policy on academic honesty (which is also printed in the Schedule of Classes). All suspected incidents of academic dishonesty will be reported to the ICS Vice Chair for Graduate Affairs. In addition, if the instructor believes there is evidence confirming the occurrence of academic dishonesty, the student or students involved will be given an automatic F in the course, and a letter documenting the incident will be sent to the student and placed in the student's official academic record.
Unfortunately plagarism has been a problem in this class during the last 2 years. 10 students were "busted" 2 years ago; last year another 4 or 5 were identified. Don't become a statistic for next year's syllabus. Note that these were not small cases, they were cases of whole pages of copied material, sometimes page by page, sometimes paragraph by paragraph, or even sentence by sentence (e.g., weaving sentences from different papers together). Anything you literally copy at any time must be quoted and cited.
Week |
Date |
Topic |
Instructor |
Assignment Due |
Paper Readings |
Suggested Textbook |
1 |
October 1 |
Course
Introduction |
Taylor |
|
Ch. 1-3 |
|
October 3 |
Taylor |
|
|
|||
2 |
October 8 |
Taylor |
|
|
||
October 10 |
Taylor |
Week 1 Summaries |
Ch. 4 |
|||
3 |
October 15 |
Scacchi |
|
Ch. 7 |
||
October 17 |
Scacchi |
Week 2 Summaries |
[BT98] (not required) [Nut96] |
|
||
4 |
October 22 |
Dourish |
|
[Gru94] [PMP98] |
|
|
October 24 |
*CSCW (2) and Remote Collaboration Caution! 10.3 MB file! |
Mark |
Week 3 summaries |
Ch. 8 |
||
5 |
October 29 |
van der Hoek |
|
|
||
October 31 |
van der Hoek |
Week 4 Summaries |
|
|||
6 |
November 5 |
Alspaugh |
|
[Hen80] [AA01] |
Ch. 5 |
|
November 7 |
Alspaugh |
Week 5 Summaries |
|
|||
7 |
November 12 |
Dashofy |
|
[GAO95] [CRW00] |
Ch. 6 |
|
November 14 |
Kobsa |
Week 6 Summaries |
[HR98] |
|
||
8 |
November 19 |
Lopes |
|
[KLM97] and optionally [TDBL00] |
|
|
November 21 |
(no lecture - FSE conference) |
Week 7 Summaries (turn in to the TA) |
Ch. 6 |
|||
9 |
November 26 |
Richardson |
|
[Wey82] [Wey86] [YT89]** |
|
|
November 28 |
(no lecture Thanksgiving holiday) |
|
|
|
|
|
10 |
December 3 |
Student Presentations (5 minutes each) |
Taylor |
|
|
|
December 5 |
Student Presentations (5 minutes each) |
Taylor |
Week 8 & 9 Summaries |
|
|
|
Finals |
December 10th |
Final Exam (4:00p.m - 6:00p.m.) |
Taylor |
Term Papers due |
|
|
Readings are assigned
from the required textbook:
The following books are
highly recommended for background on requirements specification and project
management:
The following technical papers from the research literature (most of which are from the Software Phase II Reading List) were assigned last year to supplement the text as indicated in the course schedule. We will do a similar thing this year, the first version of the updated list will be posted "real soon now" but additional different papers will appear throughout the course. Copies of these papers and copies of all presentations will be made available in a folder in the file cabinet outside the 4th-floor Copy Center in the main ICS building. Do not take materials away from that area, and please try to keep the folder neat and tidy.
[AA01] Thomas A. Alspaugh and Annie I. Anton. Scenario networks for software specification and scenario management. NCSU Computer Science Technical Report TR-2001-15, http://www4.ncsu.edu:8030/~taalspau/bin/alspaugh+anton2001-snss.pdf, 2001.
[AG93] Joanne M. Atlee and John Gannon. "State-Based Model Checking of Event-Driven System Requirements". IEEE Transactions on Software Engineering 19(1):24-40, January 1993.
[BT98] G. Bolcer and R. Taylor, "Advanced Workflow Management Technologies", Software Process--Improvement and Practice, 4, 125-171, 1998.
[Bro87] Frederick P. Brooks. "No Silver Bullet: Essence and Accidents of Software Engineering". IEEE Computer 20(4):10-19, April 1987.
[CKI88] B. Curtis, H. Krasner and N. Iscoe. "A Field Study of the Software Design Process for Large Systems". Communications of the ACM 31(11):1268-1287, November 1988.
[CRW00] Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf. "Achieving Scalability and Expressiveness in an Internet-Scale Event Notification Service". In Proceedings of the Nineteenth ACM Symposium on Principles of Distributed Computing, pp. 219-227, Portland, OR, July 2000.
[CW98] Reidar Conradi and Bernhard Westfechtel. "Version Models for Software Configuration Management". ACM Computing Surveys 30(2):232-282, June 1998.
[DR99] Elisabetta Di Nitto and David S. Rosenblum. "Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures". In Proceedings of the 21st International Conference on Software Engineering, pp. 13-22, Los Angeles, CA, May 1999.
[FWA+98] R. Fielding, E.J. Whitehead, K. Anderson, G. Bolcer, P. Oreizy and R. Taylor. "Web-based Development of Complex Information Products". Communications of the ACM 41(8):84-92, August 1998.
[GAO95] David Garlan, Robert Allen, and John Ockerbloom. "Architectural Mismatch: Why Reuse Is So Hard". IEEE Software 12(6): 17-26, November 1995.
[Gru94] Jonathan Grudin. "CSCW: History and Focus". IEEE Computer 27(5):19-27, May 1994.
[HLK95]
C. Heitmeyer, B. Labaw, and D. Kiskis. Consistency checking of SCR-style requirements
specifications. In RE’95: Second IEEE International Symposium on Requirements
Engineering, pages 56–63, March 1995.
[Hen80] Kathryn L. Heninger. "Specifying Software Requirements for Complex Systems: New Techniques and Their Application". IEEE Transactions on Software Engineering SE-6(1):2-13, January 1980.
[HR98] David Hilbert and David Redmiles. "An Approach to Large-Scale Collection of Application Usage Data Over the Internet". In Proc. 20th International Conference on Software Engineering, pp. 136-145, Kyoto, Japan, April 1998.
[KLM+97]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira
Lopes,
Jean-Marc Loingtier, John Irwin. "Aspect-Oriented Programming."
Proceedings of the European Conference on Object-Oriented Programming (ECOOP),
Finland. Springer-Verlag LNCS 1241. June 1997.
[McI68] M.D. McIlroy, "'Mass Produced' Software Components". In Software Engineering: A Report on a Conference Sponsored by the NATO Science Committee, P. Naur and B. Randell (eds.), pp. 138-155, Garmisch, Germany, October 1968.
[Nut96] G. Nutt. "The Evolution Towards Flexible Workflow Systems". Distributed Systems Engineering 3(4):276-294, December 1996.
[OHR00] Alessandro Orso, Mary Jean Harrold, and David S. Rosenblum."Component Metadata for Software Engineering Tasks". In Proc. 2nd International Workshop on Engineering Distributed Objects, Davis, CA, November 2000.
[OLK+00] R. van Ommering, F. van der Linden, J. Kramer and J. Magee. "The Koala Component Model for Consumer Electronics Software". IEEE Computer 33(3):78-85, March 2000.
[Ost87] Leon J. Osterweil. "Software Processes Are Software Too". In Proceedings of the 9th International Conference on Software Engineering, pp. 2-13, Monterey, CA, March 1987.
[Par93] D. L. Parnas. "Predicate Logic for Software Engineering". IEEE Transactions on Software Engineering 19(9):856-862, September 1993.
[PC86] D. L. Parnas and P. C. Clements. "A Rational Design Process: How and Why to Fake It". IEEE Transactions on Software Engineering SE-12(2):251-257, February 1986.
[PW92] Dewayne E. Perry and Alexander L. Wolf. "Foundations for the Study of Software Architecture". ACM Software Engineering Notes 17(4):40-52, October 1992.
[RHR98] J. Robbins, D. Hilbert and D. Redmiles. "Extending Design Environments to Software Architecture Design". Automated Software Engineering 5(3):261-290, July 1998.
[S02] W. Scacchi, "Process Models in Software Engineering", in J. Marciniak (ed.), Encyclopedia of Software Engineering, (2nd. Edition), 993-1005, Wiley-Interscience, 2002.
[TDBL00] Peri Tarr, Maja D’Hondt, Lodewijk Bergmans, and Cristina Videira Lopes. "Workshop on Aspects and Dimensions of Concern: Requirements on, and Challenge Problems For Advanced Separation Of Concerns" Published in ECOOP’2000 Workshop Reader. Springer-Verlag LNCS 1964. 2000.
[TGC95] E. Tryggeseth, B. Gulla and R. Conradi. "Modelling Systems with Variability using the PROTEUS Configuration Language". In Proc. 5th International Workshop on Software Configuration Management (Springer-Verlag Lecture Notes in Computer Science 1005), pp. 216-240, Seattle, WA, April 1995.
[TMA+96] Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead, Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow. "A Component- and Message-Based Architectural Style for GUI Software". IEEE Transactions on Software Engineering 22(6):390-406, June 1996.
[vLW98]
Axel van Lamsweerde and Laurent Willemet. Inferring declarative requirements
specifications from operational scenarios. IEEE Transactions on Software
Engineering, 24(12):1089–1114, December 1998.
[Wey82] Elaine J. Weyuker. "On Testing Non-Testable Programs". The Computer Journal 25(4): 465-470, November 1982.
[Wey86] Elaine J. Weyuker. "Axiomatizing Software Test Data Adequacy". IEEE Transactions on Software Engineering SE-12(12):1128-1138, December 1986.
[Win90] Jeannette M. Wing. "A Specifier's Introduction to Formal Methods". IEEE Computer 23(9):8-24, September 1990.
[YT89] Michal Young and Richard N. Taylor. "Rethinking the Taxonomy of Fault Detection Techniques". In Proceedings of the 11th International Conference on Software Engineering, pages 53-62, Pittsburgh, May 1989.
NOTE: There will be NO incompletes ("I" grades) given in this class. You must finish all work for the class by the end of the final exam.
Faculty |
|