Informatics 223
Applied Software Design Techniques
Spring 2007
André van der Hoek
http://www.ics.uci.edu/~andre
andre@ics.uci.edu
Office: Donald Bren Hall 5228
Phone: +1 949-824-6326
Location: BH 1423
Day and time: Friday, 09:00-11:50
223 Applied Software Design Techniques (4). Study of concepts, representations, techniques, and case studies
in structuring software systems, with an emphasis on design considerations. Topics include static and dynamic
system structure, data models, abstractions, naming, protocols and application programmer interfaces.
The class will be discussion-oriented. Papers must have been read beforehand, and discussion will be
seeded by short presentations summarizing the key points of each paper. Presentations will be rotated
among those in the class.
Each student will perform a case study by adopting one software system that they will use to illustrate
the techniques with concrete examples. Based on the case study, two slides should be prepared weekly that
illustrate the findings in the example system.
Each student will create a poster, which is based on a new "invention". Specifically,
at the end of the quarter each student will present a new technique, a new modeling
notation, a new approach, a new tool, or any other new "thing" that they invent as
a result of their experience in the class. The technique will not have to be fully
demonstrated, but the concept and novelty should be clear from the poster.
All students enrolled in the course will earn a letter grade based upon: (a) class
attendance and participation, (b) presentation(s) in class, (c) case study slides,
and (d) poster.
To send mail: 37190-s07@classes.uci.edu
To view the archive: http://eee.uci.edu/toolbox/mla/message_list.php?ccode=37190&quarter=S07
Any student who feels he or she may need an accommodation based on the
impact of a disability should contact me privately to discuss his or her
specific needs. Also contact the Disability Services Center at
(949) 824-7494 as soon as possible to better ensure that such
accommodations are implemented in a timely fashion.
The documents below are included to ensure timely dissemination of scholarly
and technical work on a non-commercial basis and are for the sole use of
students enrolled in ICS 223. Copyright and all rights therein are
maintained by the authors or by other copyright holders, notwithstanding that
they have offered their works here electronically. It is understood that all
persons copying this information will adhere to the terms and constraints
invoked by each author's copyright. These works may not be resposted without
the explicit permission of the copyright holder.
Week
|
Date
|
Topic
|
Papers
|
1
|
April 6
|
Welcome
|
|
2
|
April 13
|
Design & Abstraction
|
Spector & Gifford: Case Study: A Computer Science Perspective on Bridge Design
Taylor & van der Hoek: Software Design and Architecture: The Once and Future Focus of Software Engineering
Kramer: Is Abstraction the Key to Computing?
|
3
|
April 20
|
No lecture - André at ATL
|
|
4
|
April 27
|
Models & UML
|
Seidewitz: What Models Mean
Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language (third edition)
Bell: Death by UML Fever
|
5
|
May 4
|
Architecture
|
Hatcliff, Deng, Dwyer, Jung & Ranganath: Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems
Allen, Douence & Garlan: Specifying and Analyzing Dynamic Software Architectures
Rakic & Medvidovic: Increasing the Confidence in Off-the-Shelf Components: A Software Connector-based Approach
|
6
|
May 11
|
Patterns
|
Lea: Christopher Alexander: An Introduction for Object-Oriented Designers
Gamma, Helm, Johnson, Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software
Garlan, Allen, Ockerbloom: Exploiting Style in Architectural Design Environments
|
7
|
May 18
|
Data Models
|
Capriero & Gelernter: Linda in Context
Conklin: Hypertext: An Introduction and Survey
van der Hoek, Carzaniga, Heimbigner & Wolf: A Testbed for Configuration Management Policy Programming
|
8
|
May 25
|
No lecture - André at ICSE
|
|
9
|
June 1
|
Naming
|
Berners-Lee, Fielding & Masinter: Uniform Resource Identifiers (URI): Generic Syntax
Carzaniga, Rosenblum & Wolf: Design and Evaluation of a Wide-Area Event Notification Service
Musen: Domain Ontologies in Software Engineering: Use of Protégé with the EON Architecture
|
10
|
June 8
|
Standardization
|
Thau: Design considerations for the Apache Server API and
Apache API Notes
Whitehead & Goland: WebDAV: A network protocol for remote collaborative authoring on the Web
Hanseth, Monteiro & Hatling: Developing Information Infrastructure: The Tension Between Standardisation and Flexibility
|
Finals week
|
June 13, 9-11am
|
Poster Presentations
|
|
|