Colorado State University Computer Science Department


CS517 Software Specification & Design
Spring 2008

Course Overview

(for on-campus students)


 

Basic Course Information

Grading Information

Course Structure

Links

Project

 


Basic Course Information

Instructor (On-Campus): Robert B. France.

email

Tel: 970-491-6356

Fax: 970-491-2466

Lecture Times and Location (on-campus): M,W,F 10-10:50 AM;  USC Room 310b (third floor conference room in the building that houses the CS department)

Office Hours: M, W 2-4 PM or by appointment

  

 

Description: The course will focus on rigorous software modeling and specification techniques. Topics include formal specification techniques using Z and Alloy, basic  model checking, and model driven engineering

 

Prerequisite:  You must satisfy at least one of the following:

·         Successful completion of CS414.

·         Permission of instructor.

Course Objective: Upon completion of this course, students will be able to

·        use the UML to model medium-sized software systems

·        read and write formal specifications of software systems in Z and Alloy

·        form informed opinions about model-driven software development approaches

·        have a basic understanding of model-checking

 

Learning Resources/Texts:

 

Required Texts:

  • Software Abstractions: Logic, Language, and Analysis
    by Daniel Jackson, MIT Press
  • The Way of Z: Practical Programming with Formal Methods by Jonathan Jacky, Cambridge University Press
  • The Object-Oriented Constraint Language: Getting Your Models Ready for MDA by Jos Warmer and Anneke Kleppe, 2004, Addison Wesley Professional publishing, ISBN 0-321-17936-6. (We were recently informed – during the last week of December - that the publisher is printing this book on demand only and that it would not be available until March 2008; for this reason I’ve removed it from the list of required texts. We will rely on the course notes for OCL, but if you can find a second-hand copy of the book please buy it – it is a good reference on the OCL)

 

 

 

Supplementary Texts:

  • Applying UML And Patterns, Craig Larman, 3rd Edition, Prentice Hall. (Text for CS414 – you will need this text if you are not fluent in the UML)
  • Advanced Java 2 Platform: How to Program by Deitel, Dietel, Santry; Prentice Hall, ISBN 0-13-089560-1. (or any advanced Java programming text)

An on-line set of webCT pages providing lecture notes and quizzes, in addition to asynchronous on-line discussions will be available.  

 

Required Tools:

Students will need to have access to UML modeling tools. Suggested tools are

Omondo UML Modeling Eclipse Plugin

Visio

ArgoUML

MagicDraw

Together

 

One can also use basic computer-based drawing tools to produce the UML models (creating models using such tools requires more effort).


Course Structure 

The Lecture and Exam schedule is given below – both exams are “take-home” exams:

Week

Topic

1

Software Engineering (review)

2

Formal Methods Background

3-5

Software specification using Z

6

UML Architectural Models

7

UML, Exam 1

8

OCL

9

SPRING BREAK (catch up on your project!)

10

OCL, Metamodeling

11-14

Software specification using Alloy

15

An introduction to aspect-oriented modeling (AOM)

16

Project Presentations

17

Final Exam

 

 

The Project, Homework (5) and Quiz (8) schedule is given below. All homework, except homework 2, will be carried out by pairs of students. Homewortk 2 must be done individually:

Week

Topic

1

 

2

Quiz 1

3

Select  project topic and discuss with instructor, HW1 due

4

Quiz 2

5

HW2 due

6

Quiz 3

7

Quiz 4, Exam 1

8

Quiz 5, HW 3 due

9

Spring Break

10

Discuss project progress with instructor

11

Quiz 6, HW 4 due

12

 

13

Quiz 7

14

Quiz 8

15

HW 5 due

16

Research Projects due

17

Final Exam: May 12, 2008

 


Project

Students will work in pairs on a research project. The project involves carrying out research in a model-driven engineering area.


Grading Information

Marks will be allocated as follows:

·        Homework   (25%)

·        Project (25%)

·        On-line quizzes   (10%)

·        Mid-semester exam   (10%)

·        Design Studios (10%)

·        Final exam   (20%)

Links to Related Materials

More links will be added to this section as the need arises.


Comments: email address
Last modified: January 21, 2008