University of Oregon
Computer & Information Science
CIS 422/522
Software Methodology I
Spring 1998
Announcements:
- The final exam was sent by email, and is also
available here. Note
that it is plain text, not html, although it contains some html-like markup.
Course Handouts
Contacts
Instructor:
Michal Young, michal@cs.uoregon.edu,
x64140, 328 Deschutes
Office hours: M, F 3:30-4:30 (except: Wed 15 Apr. rather than Friday 17
Apr)
Teaching Assistant:
Kevin Sahr, sahrk@cs.uoregon.edu
Office hours: Tu 11am-noon, Th noon-1pm, in 229 Deschutes
For fastest response on project questions, send email addressed to both
Michal and Kevin; you may receive a reply from either.
Lecture notes in PDF* format
Week 1
- CIS 422/522 Course Overview [PDF]
- What is Software Engineering? [PDF]
(Note: I decided to skip these slides ... they are fairly boring, and most
of this should be in your textbook anyway. If something puzzles or intrigues
you, let me know and I'll cover it in another lecture.)
- Group Work: Teams, Meetings, and Presentations [PDF]
Week 2
- Software Development Processes [PDF]
also known as "lifecycles" or "process models." This
is a big lecture that will take at least two classtimes to get through.
I'll skip through details of the traditional sequential (waterfall) model
fairly quickly, then spend a little more time on rapid application development
(RAD), phased projects, and iterative development (spiral model).
Week 3
- Basic project hygiene [PDF]
A bit on change and configuration control, a bit on coding style; some
of this should be old hat, some of it may not be.
- Configuration Management [PDF]
A complete lecture on revision and configuration control, including the
tiny bit from the prior lecture. It is unlikely that I will find time to
give this full lecture in class Wednesday, and it is mostly addressed to
projects much larger and more complex than you will encounter in CIS 422.
Week 5
- Requirements elicitation [PDF]
Note: Starting this week, I am putting slides on the web but not actually
using them in class (except as notes to myself). This is an experiment,
since some students opined that lecturing from the slides is boring.
Week 6
- Architectural design [PDF]
I'm continuing with the experiment of posting slides but not actually using
them. I'll ask this week whether to stick with this, or go back to actually
using the slides in class ... or perhaps some compromise.
In my experience, architectural design principles are probably the most
difficult subject matter to really get across in an undergraduate course.
As abstract principles they seem vague and unconvincing. What does seem
to work, or at least work better, is to consider alternative architectures
for a concrete problem --- preferably a problem that students have been
looking very hard at (e.g., the class project). The variety of projects
we have for the second half of the term is a bit troublesome in this regard,
since there is no single design problem that will be on the mind of everyone
... but perhaps there is also an opportunity to look at several instances
of architectural design problems.
Week 7
The results of the slides vs. no slides question
are in, and ... well, it was mixed. A few people said the slides were a
lot better than lecturing without slides, a few people hated them, and
several people either said it didn't matter or that they should be used
sparingly. So what I'll try to do is use a few slides, while trying to
avoid getting into full-speed-ahead slide-flipping mode. I'll continue
to post even slides that I don't actually use in the lectures (partly because
my decision on which slides to use is often quite late, and the slides
are clearly more useful when you can print copies and scribble notes on
them.)
- Human factors and user interface design [PDF]
(I used only a subset of these slides in class) This isn't on the schedule,
partly because there is a whole class that covers the material in much
more depth, but it became clear that we needed to spend at least a little
time on it even though it will be review for students who have had the
user interface class.
- Evolution: Maintenance [PDF]
and Reuse [PDF]
I'm squeezing this down into one lecture instead of two, so I clearly won't
use all of these slides ... feel free to ask questions about slides that
don't make sense in isolation.
Week 8
- Although the syllabus says we should be talking about software test
and analysis, I'm going to scrap that and instead talk about how one documents
the design of a software system. [PDF]
You can thank Santos (or blame him) for convincing me that this needed
clarification, since it is one of the criteria on which your projects are
graded.
- Although I'm not going to get a chance to lecture on testing and analysis,
it's a topic I think is important. You can find a lot of slides and notes
(intended for working professionals rather than undergraduates) in the
tutorial materials
that a colleague and I presented in Kyoto a few weeks ago. This site has
access protections, so give user name "icse98" and password "tutorial".
PDF format and troubleshooting
*PDF (portable document format) version 2, which
requires Acrobat Reader or Acrobat Exchange version 3. The Reader is available
for several platforms (Solaris Sparc and x86, Linux, Mac OS, Windows 3.1,
95 and NT, HPUX, etc.) free from Adobe, http://www.adobe.com.
If you try to view a PDF document with Netscape, and it reports an error
in the file, there is a good chance that the Netscape PDF plugin is an old
version (Acrobat version 2 or 1). You can get the newest plugin from Adobe.
Here is a tip from Chris Schleicher on configuring Netscape, in a reply
to a student:
>When I select [a document from a Winter term class]
>I get a window saying Acrobat Reader 2.1 and then an error window with the
>message
> There was an error processing a page. The document
>may be damaged (9).
Netscape doesn't necessarily use the same version as the one in
your path. Here it's using the old version. To fix this, go into
Netscape Edit | Preferences | Navigator | Applications and find the
association for PDF files. Change the application from
/local/apps/AcroRead/bin/acroread %s
to
/local/bin/acroread %s
to make Netscape do the right thing.
Last update: 14 April 1998
Please report broken links and other problems
to Michal Young