Colorado State University Computer Science Department


CS517 Software Specification & Design
Spring 2010


 

Basic Course Information

Grading Information

Course Structure

Links

Project

 


Basic Course Information

Course Coordinator: Robert B. France.

france at cs .  colostate . edu

Tel: 970-491-6356

Fax: 970-491-2466

Lecture Times and Location (on-campus): Mon, Wed, Fri 10-10:50 AM; Clark A 206 (on-line students; the room has cameras so I’m hoping to video tape the lectures)

Office Hours: Mon, Wed; 11-Noon; 3-4 PM; or by appointment

 

Instructor for On-line course: Geri Georg.
            Email: georg at cs . colostate .  edu

Tel: 970-491-6765
            Fax: 970-491-2466

 

 

Description: The course will focus on advanced software modeling and specification techniques. Topics include formal specification techniques, and model-driven software development. Basic knowledge of the UML is assumed.

 

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 Alloy

·         form informed opinions about model-driven software development approaches

 

Learning Resources/Texts:

 

Required Text:

 

 

 

Supplementary Texts:

An on-line set of RamCT 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. Information on tools can be found on the UML Tools Page.


Course Structure 

The Lecture and Exam schedule is given below:

Week

Topic

1

Software Engineering (review)

2

Formal Methods introduction

3

Introduction to Alloy: A formal modeling language

4

Alloy Language

5

Alloy Analysis

6

Alloy Examples

7

Exam 1, UML Review

8

Rigorous modeling using the UML and OCL

9

SPRING BREAK (catch up on your project!)

10

Rigorous modeling of software

11

Engineering domain specific languages

   12

Engineering domain specific languages

   13

Engineering domain specific languages

14

Model transformations

15

Project presentations

16

Research in Model-Driven Software Development at CSU

17

Final Exam

 


Project

Students will work in pairs or individually on a research project. The research topics can be selected by the student group or selected from a list of topics provided by the lecturer. The topics must be in the area of software engineering.


Grading Information

Marks will be allocated as follows:

·         Homework   (20%)

·         Project (25%)

·         On-line quizzes (5%)

·         Mid-semester exam   (15%)

·         Design Studios (on-campus) / Online Discussions (10%)

·         Final exam   (25%)


Links to Related Materials

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



Last modified: November, 2009