Instructor: David Alex Lamb
CISC 490/846: Software Design Methodologies (Winter 2021)
Office hours: TBA (via Microsoft Teams during the pandemic)
This course will be offered remotely, with synchonous sessions via Microsoft
Teams or Zoom (TBA).
The undergraduate version of this course (CISC 490) has a different
assessment scheme from the graduate version (CISC 846). It requires
registration in a Computing plan and a B- in CISC 322.
The graduate version may be used as a Systems token for the PhD
program. The undergraduate version may be used as a SOFT_Design optional
course in SODE and, for 2020-21 only,
in the Security focus of the major and CSCI.
Software design is the software development activity that occurs between
requirements analysis and implementation. It focuses on developing an overall
architecture (division into parts) and specifying relationships among the
Object-oriented methods for software design seem dominant today, but a wide
variety of alternative paradigms have been proposed over the last 30
years. This course exposes students to these varied possibilities. It overlaps
somewhat with requirements analysis and software implementation, but only to
establish the context for software design.
Topics include but are not limited to
This course has a significant amount of reading.
We will meet once or twice weekly
via MS Teams to discuss and expand upon that week's
assigned readings and engage in classroom activities to deepen your
understanding of them.
- Learning from the research literature: how to create annotated
- Systems, architectures, and modularity.
- The Unified Modeling Language (UML): different granularities of
architectural description, including class/association, deployment,
component, and sequence diagrams.
- Data flow architectures
- Jackson System Development
- Architectural styles
- Specifying global properties of architectures.
- Additional topics from graduate student presentations.
A set of primary course readings
available in the Campus Bookstore; other readings will be available via OnQ.
There is no final exam for CISC 846; evaluation is based on term work. Whether
CISC 490 has an exam will be determined by the first week of classes.
The content of many sessions is based on student responses to questionnaires on
the readings; don't rely on lectures and videos to cover the basics,
and do allow enough time to read each item more than once.
Read the syllabus (when it is available) for further information, including
the grading schemes for the two versions of the course.
Also read the School's page on standard syllabus elements for the winter term
once it is available; for now, see the one for the
Questions? Contact the
This page last modified