|
Instructor: |
|
|
Email: |
(ses [at] ics [dot] uci [dot] edu) |
|
Office hours: |
Tuesday 3:30-4:30 pm in ICS2 201 |
|
Lectures: |
Tuesday and Thursday 2:00-3:20pm, CS253 |
| Web site: | http://www.ics.uci.edu/~ses/teaching/ics221/ |
Description - Schedule - Grading - Readings - Policies
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.
Description of this installment of 221:
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 readings, 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 list, 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.
The schedule is subject to change.
| Week | Date | Topic | Presented by | Readings | Assignment due | |
|---|---|---|---|---|---|---|
| 1 | J A N | 10 Tu | Course introduction Overview of software engineering | Sim | [FK00] [Bro87] |
|
| 12 Th | Software Requirements | Alspaugh | [Hen80] [AA01] | |||
| 2 | 17 Tu | Software Architecture | Georgas | [PW92]
[TMA+96] | Summary 1 11:59pm |
|
| 19 Th | Software Testing Theory | Ziv | [Wey82]
[CPR+89] |
|||
| 3 | 24 Tu | Configuration Management | Sarma | [ELC+05] [RHMM04] |
Summary 2 11:59pm |
|
| 26 Th | Summaries and Term Paper | Sim |   | |||
| 4 | 31 Tu | Harnessing Event-Based Architectures | Silva Filho | [CRW01]
[HR98] |
||
| F E B |
2 Th | Metrics and Benchmarking | Sim | [FP97] [SEH03] |
||
| 5 | 7 Tu | Open Source Software Engineering | Scacchi | [Sca02] [Sca04] |
Summary 3 11:59pm |
|
| 9 Th | Software Process and Workflow | Redmiles | [Nutt96] [Eng90] |
|||
| 6 | 14 Tu | Design | van der Hoek | [Sei03] [BvdH] |
Summary 4 11:59pm |
|
| 16 Th | Interoperability | Dashofy | [GAO95] [TN92] |
|||
| 7 | 21 Tu | Software Engineering Issues in Game Development | Scacchi | Summary 5 11:59pm |
||
| 23 Th | Aspect-Oriented Programming | Ngo | [KLM+97] [TDBL00] |
|||
| 8 | 28 Tu | Globally Distributed Software Engineering | Al-Ani | [HMFG01] [CA01] |
Summary 6 11:59pm |
|
| M A R | 2 Th | Expertise in Software Engineering | Sim | [SRAM06] [Det02] |
||
| 9 | 7 Tu | Student Presentations Volunteers: Raj, Amir, Eric B., Keith Adrian, Steve, Hiroko |
Summary 7 11:59pm |
|||
| 9 Th | Student Presentations Kuan-Sung, Bryan, Eric H., Erik T, Ian, Yin Yee, Bobby, Vinh |
|||||
| 10 | 14 Tu | Student Presentations Chi Fai, Aline, Wiwat, Roger, Gary, Son, James |
Summary 8 11:59pm |
|||
| 16 Th | Student Presentations Anthony, Gerald, Man Lok, Kristina, Ryan, Ivan, Lucy |
|||||
| Exam | 23 Th 1:30-3:30pm |
Term paper 11:59pm |
||||
Grading.
| Paper/topic summaries | 4x10% |
| Term paper | 30% |
| Paper Presentation | 10% |
| Class attendance and participation | 20% |
Late work will not be accepted and will be given a grade of 0.
No grades of incomplete (I) will be given for this course.
All written assignments are to be submitted electronically through checkmate.ics.uci.edu.
Summaries.
Each week there will be lectures on two or (occasionally)
one topic.
For each week,
choose one topic
and submit a two-page summary of it (roughly 600 words),
whose desired characteristics are listed below.
| First page | § Your name § The lecture topic you chose, who presented it, and on what date |
|---|---|
| § The title and authors of one of the papers
listed for that lecture
and a summary of its key points and contributions (about 1 page) —or— § The same thing, but for both papers listed
for that lecture
—or— § (if no papers were listed)
|
|
| Second page | A discussion of
the applicability of the paper's ideas to the topic, problems in applying the ideas to the topic, remaining issues related to the topic and not covered in the papers, and/or other critical evaluation of the papers or the topic. |
Your two pages on week i's topic are due in week (i+1), for i ranging from 1 to 8. Due dates and times are listed on the schedule.
Each week I will randomly select half the summaries to grade, so that by the end of the quarter four of your summaries will have been graded.
Term Paper.
The term paper is an original, in-depth exploration of some current topic in software engineering. The paper must be new for this class, not a revised paper written for some other class. The paper may be largely survey in nature. Substantial latitude will be allowed in choosing the topic, but all topics must be software-related and approved in advance by the instructor.
The paper is to be approximately 3000 words in length
(approximately 10 pages, but the word count is what
matters),
1.5 or double spaced, single column,
1-1.5" margins,
pages numbered at bottom (first page optional),
10 to 12 point font,
submitted as a PDF or Word file
whose name is
yourUCInetID-paper-oneOrTwoDescriptiveWords.pdf
or .doc as the case may be.
Each student will give in class a short presentation overview of their paper. The length of the presentation will be determined by the number of students. The term paper is due during Exam Week (Thursday, March 23 at 1:30pm.)
Participation.
Participation in the course is primarily assessed as
attending lectures and
secondarily as other contributions to the course.
The majority of the readings in the course will be papers available through the IEEE or ACM Digital Libraries. Occasionally, there will be chapters taken from books.
If you did not study software engineering as an undergraduate, the following books are recommended for background and reference.
For additional coverage of software engineering research, consult the reading list for the Phase II exam in software.
List of Papers and Book Chapters.
[AA01] T.A. Alspaugh and A.I. Antón. Scenario networks for software specification and scenario management, Computer Science Technical Report TR-2001-15, North Carolina State University, Raleigh, NC, December 2001.
[BvdH] A. Baker and A. van der Hoek, "Reframing Software Design: Perspectives on Advancing an Elusive Discipline," (in submission)
[Bro87] F.P. Brooks. No Silver Bullet: Essence
and Accident in Software Engineering. IEEE Computer 20(4):10-19,
April 1987.
(Also appears as Chapter 16 in F.P. Brooks. The Mythical Man-Month,
25th Anniversary Edition. Addison-Wesley, Reading, MA, 1995.)
[CA01] E. Carmel, and R. Agarwal, Tactical Approaches for Alleviating Distance in Global Software Development, IEEE Software, Volume 18, Issue 2, March-April 2001, pp. 22-29.
[CPR+89] L.A. Clarke, A. Podgurski, D. J. Richardson, and Steven J. Zeil. "A Formal Evaluation of Data Flow Path Selection Criteria". IEEE Transactions on Software Engineering, 15(11), November 1989, pp. 1318-1332.
[CRW01] A. Carzaniga, D.S. Rosenblum, and A.L. Wolf, Design and Evaluation of a Wide-Area Event Notification Service, ACM Transactions on Computer Systems, vol. 9, no. 3, August 2001, pp. 332-383.
[Det02] "3. Software Design: Theoretical Approaches" in Software Design- Cognitive Aspects, by Francoise Detienne, edited by Frank Bott, Springer-Verlag, 2002.
[Eng90] Y. Engestrom, "When is a Tool? Multiple Meanings of Artifacts in Human Activity," in Yrjo Engestrom, Learning, Working and Imagining, Painettu Kirjapaino Oma Ky:ssa, Jyvaskylassa, 1990, pp. 171-195.
[ELC+] J. Estublier, D. Leblang, G. Clemm, R. Conradi, A. van der Hoek, W. Tichy, D. Wiborg-Weber, Impact of the Research Community on the Field of Software Configuration Management, ACM Transactions on Software Engineering and Methodology, 14(4):2005, pages 1-48.
[FP97] N.E. Fenton and S.L. Pfleeger, Software Metrics: A Rigorous and Practical Approach, Second Edition. Boston, MA: PWS Publishing Company, 1997, Chapters 1 and 2.
[FK00] A Finkelstein and J. Kramer, "Software Engineering: A Roadmap" in The Future of Software Engineering, edited by A. Finkelstein, ACM Press, 2000.
[HMFG01] J.D. Herbsleb, A. Mockus, T.A. Finholt, and R.E. Grinter, An Empirical Study of Global Software Development: Distance and Speed, Proceedings of the 23rd International Conference on Software Engineering, (ICSE 2001, Los Angeles, USA) 12-19 May 2001 pp. 81-90.
[HR98] D. Hilbert and D. Redmiles, An Approach to Large-Scale Collection of Application Usage Data Over the Internet, Proceedings of the Twentieth International Conference on Software Engineering (ICSE '98, Kyoto, Japan), IEEE Computer Society Press, 19-25 April 1998, pp. 136-145.
[Hen80] K.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.
[GAO95] D. Garlan, R. Allen, and J. Ockerbloom. Architectural Mismatch: Why Reuse Is So Hard. IEEE Software 12(6): 17-26, November 1995.
[KLM+97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, Jean-Marc Loingtier, John Irwin. Aspect-Oriented Programming, proceedings of the European Conference on Object-Oriented Programming (ECOOP, Finland), Springer-Verlag, June 1997.
[Nut96] Nutt, G. The Evolution Towards Flexible Workflow Systems, Distributed Systems Engineering, Vol. 3, No. 4, December 1996, pp. 276-294.
[Omm02] or [Ommering ICSE 2002] R. C. van Ommering: Building product populations with sofware components, International Conference on Software Engineering (ICSE) 2002, pp. 255-265.
[PW92] D.E. Perry and A.L. Wolf. "Foundations for the Study of Software Architecture". ACM Software Engineering Notes, 17(4):40-52, October 1992.
[RHMM04] R. Roshandel, A. van der Hoek, M. Mikic-Rakic, N. Medvidovic, Mae: A System Model and Environment for Managing Architectural Evolution, ACM Transactions on Software Engineering and Methodology, 13(2):2004, pages 240-276.
[Sca02] W. Scacchi, Understanding the Requirements for Developing Open Source Software Systems, IEE Proceedings--Software, 149(1), 24-39, February 2002.
[Sca04] W. Scacchi, Free/Open Source Software Development Practices in the Computer Game Community, IEEE Software, January 2004.
[Sei03] E. Seidewitz. "What Models Mean," IEEE Software, vol. 20, no. 5, pp. 26-32, September/October, 2003.
[SEH03] S.E. Sim, S. Easterbrook, and R. C. Holt, "Using Benchmarking to Advance Research: A Challenge to Software Engineering," presented at Twenty-fifth International Conference on Software Engineering, Portland, OR, pp. 74-83, 3-10 May 2003.
[SRAM06] S.E. Sim, S. Ratanotayanon, T. Aiyelokun, and E. Morris. "An Initial Study to Develop an Empirical Test for Software Engineering Expertise," in submission.
[TDBL00]] P. Tarr, M. D'Hondt, L. Bergmans and C. Lopes (eds.). Workshop on Aspects and Dimensions of Concern: Requirements on, and Challenge Problems For, Advanced Separation Of Concerns, In ECOOP '2000 Workshop Reader, Springer-Verlag, December 2000.
[TMA+96] R. Taylor, N. Medvidovic, K. Anderson, E.J. Whitehead, J. Robbins. "A Component- and Message-Based Architectural Style for GUI Software," IEEE Transactions on Software Engineering, June 1996.
[TN92] I. Thomas and B.A. Nejmeh. Definitions of tool integration for environments. IEEE Software, 9(2):29-35, March 1992.
[Wey82] E.J. Weyuker. On testing non-testable programs, Computer Journal, 25(4):465-- 470, November 1982.
Cheating. The UCI academic honesty policy applies. Consequences of cheating in this class: A letter in your UCI file, and the course grade is lowered, possibly to F. Material that is copied from books or Web pages needs to be quoted and the source must be given.
Disabilities. If you need an accommodation because of a disability, please contact the instructor and the Disability Services Center as soon as possible.