Computer Science Department |
|
|
|
|
||
Description: The course
will focus on object-oriented (OO) requirements and design principles,
techniques, and modeling notations. Students will develop in-depth knowledge of
the OO programming paradigm, and working experience with software requirements
and design techniques, and design patterns. While there is an emphasis on
modeling, students will be required to transform models to code implementations
in class assignments and in design studios.
Prerequisite: Successful completion of CS314 or an equivalent introductory software engineering course.
Instructor: Dr. Robert B. France,
Office Hours:
· Tuesdays and Thursdays, 10am-11am; 2pm-3pm; or by appointment
GTA: Wuliang (Peter) Sun, Computer Science Bldg; Room 235, desk 7
sunwl at cs.colostate.edu
Office Hours:
· Mondays 5pm-6pm in CS120 Lab; Wednesdays 10am-11am in Room 235, desk 7
Lectures - When and Where:
Time: Tuesdays, Thursdays 3:30pm – 4:45pm
Location: Behavioral Science Building, Room 105
· The Elements of UML 2.0 Style by Scott W. Ambler, Cambridge University Press.
The following is a plan; information provided here is subject to change!
The following is a tentative course schedule:
Week 1:
Course introduction
Introduction to model-driven software engineering (MDE)
Week 2:
Unified Process
Business process modeling – activity models
Week 3:
Requirements modeling and analysis – use cases; requirements class models
Week 4:
The Object Constraint Language (OCL) – an introduction
Modeling Studio 1: Requirements modeling challenge problem
Week 5:
OCL exercise; OO Design review; basic design patterns review
Week 6:
Design patterns: Student presentations
Week 7:
Code refactoring
Test 1: Unified process, OOP basics, MDD, activity models, requirements
modeling and analysis
Week 8:
Design modeling review – design class models, sequence models as
realizations of use cases
Week 9:
Design review cont’d
Modeling Studio 2: Modeling behaviors using sequence and design class models
Week 10:
Modeling software architectures – structured classifiers, components
Week 11:
Modeling detailed design behavior - Using activity diagrams to model class
behavior
Modeling event-driven behavior using state machines
Week 12:
Modeling Studio 3: architecture modeling exercise
Week 13:
Introduction to the Java Modeling Language (JML)
Test 2: design patterns, code refactoring, design and architectural modeling
Week 14:
Thanksgiving Break
Week 15:
Modeling Studio 4: Using JML
Models, metamodels, and metametamodels
– an introduction to defining domain specific modeling languages
Week 16:
An introduction to the formal specification of software using Alloy
In the Modeling Studios students will work in teams on a development problem. The studios will give students the opportunity to apply the concepts and techniques covered in the lectures to problems.
There will be three (3) exams: 2 during the semester and a final exam.
There will be a total of five (5) assignments. All assignments must be typed. Handwritten assignments will not be accepted.
Tentative Assignments Schedule
Reading Assignments: Students are required to complete reading the following chapters of the required text (Arlow/Nuestadt) by the end of the week indicated. Not all the materials will be covered in depth in the class, but students will be tested on the contents of these chapters.
Marks will be allocated as follows:
Test 1: 10/7; 3:30PM to 4:45PM (in class)
Last day to withdraw from course: 10/18
Test 2: 11/18
11/16; 3:30PM to 4:45PM (in class)
Final Exam: 12/16; 5:50PM to 7:50PM (in class)
More links will be added to this section as the need arises.
Comments: email your comments
Last major modification: August 26, 2010