| GoTo:
[Lectures] [Course
Format][Paper Presentation] [Term
Project ] [Position
Paper ] [Class
Resources]
LAST UPDATE: 12/10/2007
Instructor
Dr.
Brian Mitchell
Drexel Phone: (215)895-2668
Office Location: University Crossings, Office #133
e-mail: bmitchell@drexel.edu
Class Web Page:
http://www.cs.drexel.edu/~bmitchel/course/cs575/cs575.html
TA: TBA
Important Notices
See current class notices for CS575 - Software
Design
Course Description
When designing a significant software system, several design decisions
about the structural, architectural, and behavioral properties of the
system are made and documented.
In this course, techniques and notations are introduced for specifying
these properties of software systems. Software systems are studied at
various levels of abstraction from architectures to subsystem decompositions
to module and class interfaces and dependencies.
In this course, students will learn to analyze, express, and implement
software designs. The course will focus on service-oriented architecture.
Service-oriented computing provides a solid foundation for creating
modern applications by applying the lessons learned from object orientation,
component software, message oriented middleware and distributed computing.
The course will not use a textbook - lectures will be formulated from
material developed in academia and industry on Software Architecture
and SOA.
Intended Audience
This course is intended for graduate students in Software Engineering
and Computer Science. Graduate students in other programs may take this
course with the permission of the instructor, as significant programming
experience is a pre-requisite.
Before taking this course, students should be proficient in either
the Java or a Microsoft .Net language such as C#. Students familiar
with other object-oriented programming languages such as C++ may take
this course but they will have to learn Java or C# if they want to simplify
their lives when it comes to creating the project deliverables. I will
accept projects developed in C++, but this will require significantly
more work than using Java or C#. Students lacking a background might
want to consider taking this class at another time unless they are committed
to spending a lot of time learning Java or C#. For your reference here
are some good reference materials:
Class Meeting Times & TA Information
CS575 will meet from 6:00 - 8:40PM on Monday evenings in University
Crossings 153. Office hours are by appointment or immediately before class.
Class Format for CS575
<to navigation
bar>
The format of this course will be similar to that of a Computer Science
conference. Each week we will review between 1 and 3 papers following
the lecture outline. As the instructor I will present a 20 minute overview
of the selected paper(s) and then we will have a 20-25 minute conversation
about each paper. Engaging discussion of the lecture materials is a
critical aspect of this class. Class participation will be factored
into consideration for students whose grades fall on a borderline.
A word of caution: For
most students, this course will require a fair amount of dedicated time.
Reading 2-3 research papers per week (20-30) pages is not like reading
a novel, and will require some degree of time commitment to gain the
proper level of understanding. Feel free to contact me if you have any
upfront concerns about your ability to succeed in this course.
Lectures <to
navigation bar>
This course will most likely be different from other courses that you
have taken at Drexel. We will not be using a textbook since there are
no good textbooks available on service-oriented architecture at this time.
To gain the most out of this course you need to read the required material
in advance of class and come to the lectures prepared to discuss the material.
Lecture notes will be provided in Adobe Acrobat
and Microsoft PowerPoint format
- Click on the appropriate icon to download a copy of the notes. The lecture
notes are copyrighted material – please email the author
for permission to reuse.
| DATE |
LECTURE
DESCRIPTION |
| #1: 9/24/2007 |
Introduction
- Introduction
- Review Project and Position Paper Deliverables
- Lecture: Software Design Overview

- Introduction to SOA
|
| #2: 10/1/2007 |
Software Architecture
Reminder Project Proposals Due Wed.
10/3/2007
- Lecture: Software Architecture
 
Associated Paper: "Introduction
to Software Architecture" by D. Garlan and M. Shaw
- The “4+1”
View Model of Software Architecture by Philippe Kruchten,
Published IEEE Software, November 1995. The lecture notes associated
with this paper are here:
 
|
| #3 10/8/2007 |
No Class - University
Holiday - Columbus Day |
| #4: 10/15/2007 |
Reference Architecture
/ SOA Design
***NOTE: THIS LECTURE HAS BEEN UPDATED***
Due: Position Paper Extended Abstracts
- We will start this week by covering an overview of the Sofware
Architecture lecture materials that we did not get to cover
from Week 2.
 
- Paper Presentation and Discussion
"A Reference Architecture
for Web Servers" by
A.E. Hassen Here are the lecture notes ->  
- We will be looking at some newer reference architectures for
SOA. The The
OASIS SOA Reference Model, The
IBM SOA Reference Architecture, The
SOA Alliance Reference Architecture [longer
forrmatted HTML version] . Note we will probably not get
to them all. Lecture Notes->
 
- Also, review A Reference Architecture For SOA, lecture notes
by Brian Mitchell
, It might be a good idea to scan the paper "Paradigm:
Service Oriented Computing"
by Nikolai Dokovski, Ing Widya, Aart van Halteren to prepare
for this lecture. This paper is published online [HERE].
We will be covering this in week 5.
- I also wanted to give you a reference to the "SOA
Blueprints" from the MiddlewareResearch organization,
now published by the OASIS group. We will not be covering it
in class, but may be referencing it.
|
| #5 10/22/2007 |
Modeling Architecture / SOA Design Topics
Additional materials to be reviewed show the DAO Pattern, which
will be useful to your project. You can get the materials HERE
- Lecture: Modeling Software Architectures
 
- Required Reading: "DocumentingComponent
and
Connector Views with UML 2.0" by Ivers, Clements,
Garlan, Nord, Schmerl, Silva, April 2004, SEI
- Introduction to SOA Design Topics
- Review MiddlewareResearch SOA Blueprints approach
- Additional Reading: Some of the material for this lecture
was derived from 2 papers ([PAPER1][PAPER2]).
Full references for these papers is provided on the last page
of the lecture notes.
- Additional Reading: Review UML Notation
|
| #6: 10/29/2007 |
SOA Topics I - Intro to Web Services
We will finish up some of the materials from last week. Also,
here is the link to the demo application we will be reviewing:
ZIP
Here are the lecture notes ->  
You can download a pkzip package of the sample code [HERE]
- Web Services (Java/J2EE on Axis)
- Web Services (.Net)
|
| #7: 11/5/2007 |
***
MIDTERM ***
Position Papers DUE Today,
Position Paper Presentations DUE Friday, 11/16/2007
|
| #8: 11/12/2007 |
Reminder... You will
be expected to unit test your web services next week, 11/17/2007.
Please come to class prepared with a laptop, and a unit test
harness to demonstrate your service. More details will be provided
in class...
SOA Topics II
- Organize Workshop Schedule
- We will finish up the lecture notes from last week and examine
the sample application in more detail along with the views
that I want you to produce. I will be putting the sample application
online for download [HERE].
There is a pdf in the directory describing how to deploy it
if you want to test.
- The view templates we will cover in class are available
here: ServiceBlueprint,
UIBlueprint, ApplicationBlueprint
|
| #8: 11/19/2007 |
Unit Test Demonstrations / SOA Topics III
I PLACED SOME AXIS INFORMATION
ONLINE FOR FOLKS THAT ARE DOING A JAVA PROJECT. GET THE DEMO
[HERE], and the README
[HERE]. COME TO CLASS READY
TO CODE SO YOU WILL HAVE PRODUCTIVE WORK TO DO WHILE I AM WORKING
WITH OTHER TEAMS.
- First 1/2 of Class: In Class Project Work
- First 1/2 of Class: Unit Test Service Demonstration to Instructor
- Second 1/2 of Class: Topic TBD
- Web
Service Security Overview
|
| #9: 11/26/2007 |
Note Due: Project Design Documentation
TODAY. Note Implementation DUE via EMAIL MONDAY DECEMBER 3,
2007
In-Class Workshop Week #1
Get the Papers and Presentations [HERE]
- We will be covering the files that start with a "1"
- Schedule Order TBD in Class
- See 11/25 class notices note!
|
| #10: 12/3/2007 |
In-Class Workshop Week #2
Get the Papers and Presentations [HERE]
- We will be covering files that start with a "2"
- Schedule TBD in class
|
| #11: 12/10/2007 |
NO CLASS TONIGHT |
You may use the above links to obtain an on-line copy
of the lecture notes. Selected lecture notes are provided in Adobe
Acrobat and Microsoft Powerpoint format. Adobe Acrobat Reader
is a free viewer for Adobe PDF files. A copy can be downloaded from
here:

Teams
<to navigation bar>
The following table outlines the teams for the workshop
component of the class:
| DATE |
TEAM (Paper and Presentation
Links) |
| TBD |
TBD |
Term Project Description
<to navigation bar>
This course includes a term project. A special page is
setup to describe the project. You can go to it by clicking [HERE].
Position
Paper Assignment Description <to
navigation bar>
This course will require you to develop a position paper
for the workshop component of the course which will be conducted during
the 5/16 and 5/23 lectures. Information on the position paper deliverables
can be found [HERE].
Class Resources
<to navigation bar>
You might find the following links useful for this class:
Software Architecture
References @ the Software Engineering Institute (CMU)
Introduction to Java (PDF lecture
notes)
Behavioral Design (PDF lecture
notes)
Object Oriented Design Patterns
(PDF lecture Notes)
Comprehensive
Set of Java Tutorials (online training)
IBM's DeveloperWorks
(online - a lot of good stuff here)
More to be added...
Textbooks
<to navigation bar>
| NO TEXTBOOK |
NO TEXTBOOK THIS TERM
|
Grading <to
navigation bar>
The following is a rough guideline on how your final grade will be
determined. I reserve the right to alter the weighting slightly
based on the performance of the class.
- 40% Midterm and Final. The midterm and final will
each be worth 20% of your final grade
- 45% Course Project. The course project will include
several deliverables worth a total of 40% of your final grade.
- 15% Position Paper. The position paper and your
presentation will be worth 20% of your final grade.
Deliverable Summary:
| Date |
Deliverable |
| 10/3/2007 |
Project Proposals Due |
| 10/15/2007 |
Extended Abstract Due |
| 11/5/2007 |
Full (4 Page) Position Paper Due |
| 11/16/2007 |
15 Minute Presentation Slide Deck Due |
| 11/19/2007 |
In Class Unit Test of Project Service(s) to Instructor |
| 11/26/2007 |
Design Package for Projects Due |
| 11/26/2007 |
In-Class Presentations (Week 1) |
| 12/3/2007 |
Project Implementation Due via Email |
| 12/3/2007 |
In-Class Presentations (Week 2) |
Policies <to
navigation bar>
The university's Academic Honesty policy is in effect for this course.
All assignments, labs, and projects in this course are to be done individually
(unless otherwise noted). You may consult fellow students, TA's and
the professor for help, but what you hand in must be your own work.
You can review Drexel's academic honesty policy policy online by going
to http://www.drexel.edu/studentlife/studenthandbook2002/Judicial/acadhon.html.
This is a link to a section from the student handbook.
|