Instructor: David Alex Lamb
CISC 490/846: Software Design Methodologies (Winter 2021)
Synchronous sessions: Thursdays 10:00-11:30
Office hours: TBA (via Microsoft Teams during the pandemic)
This course will be offered remotely, with synchonous sessions via Microsoft
Teams (or perhaps Zoom).
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 320 or 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.
The required readings for the course are now available in the Campus
The bookstore should have some means for you to order one if you are not
on campus. Other readings will be available via OnQ or the library's
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 in most weeks
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.
The content of some 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