Colorado State University Computer Science Department


CS517 Software Specification & Design
Spring 2009


 

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): Tue, Thurs 3:30-4:45 pm; location TBA

Office Hours: Tue, Thurs 9-10am; 2-3pm

 

Instructor (On-line): TBA

 

Description: The course will focus on advanced software modeling and specification techniques. Topics include advanced OO modeling with the UML, formal specification techniques, software factories, aspect-oriented development, and model transformations. 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 Z

·         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. For the on-campus students, we will be using one of the IBM Rational Software tools (e.g. Rational Software Architect) in the design studios.


Course Structure 

The Lecture and Exam schedule is given below:

Week

Topic

1

Software Engineering (review)

2

Formal Methods Background

3

Introduction to Alloy: A formal modeling language

4

Alloy Language

5

Alloy Analysis

6

Alloy Examples

7

Exam 1, UML Review

8

Specifying Constraints in the Object Constraint Language (OCL)

9

SPRING BREAK (catch up on your project!)

10

Specifying Constraints in the OCL

11

Rigorous UML Design Modeling: Structural Models

12

Rigorous UML Design Modeling: Behavioral Models

13, 14

Research in Model Driven Engineering (MDE/MDA)

15

Research in Aspect-Oriented Software Development

16

Project presentations (on-campus)/ Online discussions (online)

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, 2008