Home

Teaching
- CS575
- CS575 Notices
- CS575 Project

- CS575 Paper

Research
Personal

 

 

 

 

 

 

 

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

  1. Introduction
  2. Review Project and Position Paper Deliverables
  3. Lecture: Software Design Overview
  4. Introduction to SOA
#2:  10/1/2007
    Software Architecture
    Reminder Project Proposals Due Wed. 10/3/2007

  1. Lecture: Software Architecture
    Associated Paper: "Introduction to Software Architecture" by D. Garlan and M. Shaw
  2. 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

  1. 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.
  2. Paper Presentation and Discussion
    "A Reference Architecture for Web Servers" by A.E. Hassen Here are the lecture notes ->
  3. 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->
  4. 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.
  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

    1. Organize Workshop Schedule
    2. 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.
    3. 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.

  1. First 1/2 of Class: In Class Project Work
  2. First 1/2 of Class: Unit Test Service Demonstration to Instructor
  3. Second 1/2 of Class: Topic TBD
  4. 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"

  1. Schedule Order TBD in Class
  2. 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"

  1. 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:

getacro.gif (712 bytes)

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.

    1. 40% Midterm and Final. The midterm and final will each be worth 20% of your final grade
    2. 45% Course Project. The course project will include several deliverables worth a total of 40% of your final grade.
    3. 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.

    [ top of page ]
     

    ** Copyright 1997-2006, Brian S. Mitchell **