Yuanfang Cai

Assistant Professor

Dept. of Computer Science

Drexel University

CS575: Software Design

Professor: Yuanfang Cai

E-mail: yfcai AT cs DOT drexel DOT edu

Office: University Crossings 104

Phone: 215-895-0298

 

Teaching Assistant: Sunny Wong (sunny.wong AT drexel DOT edu)

Online Office Hours:

     Place: BbVista

     Time: Tuesday 6pm-8pm and Wednesday 7:30pm-9:30pm

(Or by appointment)

Lectures:

  Topic Tasks Due Dates Reading Material
week 1
March 30th

Software Fundamentals (1)
1. Read the class website
2. Join the "Welcome" Discussion
3. Submit team info as a group
4. Read the papers of this week.
Online Discussion will close at:
Sunday April 5th, 11:59pm
1. "A Rational Design Process: How and Why to Fake it"  by D. L. Parnas and P. C. Clements (Introduction by B. Boehm) pp 353-367. Lecture Notes pdf and ppt .
2. "Software Aging"  by D. L. Parnas (Introduction by V. R. Basili)  pp 549-565. Lecture Nodes pdf and ppt.
week 2
April 6th 

Software Fundamentals (2)
1. Join the online discussion titled "week 2"
2. Read the papers of this week
3. Start writing your project proposal with your team members

 
Online Discussion will close at:
Sunday April 12th, 11:59pm
1. "On the Criteria to be Used in Decomposing Systems into Modules"
by D. L. Parnas (Introduction by D. M. Weiss) pp 143-155.  Lecture Nodes pdf and ppt.
2."On the Design and Development of Program Families"  by D. L. Parnas (Introduction by R. Johnson) pp 191-213. Lecture Nodes pdf and ppt.
week 3
April 13th
 

Software Fundamentals (3)
1. Submit your project proposal with your team members
2. Read papers of this week
4. Keep working on your project
5. Think about your team position papers
Project Proposal Due
Thursday April 16th, 11:59pm
1."Some Software Engineering Principles"
by D. L. Parnas (Introduction by J. Horning) pp 255-264. Lecture Nodes pdf and ppt.
2. "Designing Software for Ease of Extension and Contraction" by D. L. Parnas (Introduction by B. Boehm) pp 267-290. Lecture Nodes pdf and ppt
week 4
April 20th
Software Architecture
Fundamentals (1)
1. Read papers of this week
2. Write and submit your reviews for papers of week 2.
3. Keep working on your project
4. Write your position paper abstract
Paper Review Due
Sunday April 26th, 11:59pm
1. "Introduction to Software Architecture" by D. Garlan and M. Shaw.. Lecture Nodes pdf and ppt.
 2. "DocumentingComponent and Connector Views with UML 2.0" by Ivers, Clements, Garlan, Nord, Schmerl, Silva, April 2004, SEI .Lecture Nodes pdf and ppt.
3. "The "4+1" View Model of Software Architecture" by Philippe Kruchten, Published IEEE Software, November 1995.  Lecture Nodes pdf and ppt.
 
week 5
April 27th
 
Software Architecture
Fundamentals (2)

1. Read papers of this week
2. Submit your position paper abstract

3. Keep working on your project
4. Resolve your technology concerns, that is, decide on what language and tools you are going to use for your project.

 

Position Paper Abstract Due
Thursday April 30th, 11:59pm

 

1. "A Classification and Comparison Framework for
Software Architecture Description Languages
" Nenad Medvidovic and Richard N. Taylor..
2. "ArchJava: Connecting Software Architecture to Implementation. "By Jonathan Aldrich, Craig Chambers, and David Notkin .
week 6
May 4th
Service-Oriented
Architecture (1) 

1. Read papers of this week

2. Submit your paper review as a group
3. Keep working on your project
4. Study the SOA Blueprints and start preparing your team project blueprints

Paper Review Due
Sunday May 10rd, 11:59pm
1. Introduction to web services. Notes pdf and ppt
    Web Services (Java/J2EE on Axis)  
    Web Services (.Net)
    Sample Application (download)
2. "A Reference Architecture for Web Servers" by A.E. Hassen.  Lecture Nodes pdf and ppt.
3. SOA slides. pdf and ppt.
 
week 7
May 11th
Service-Oriented
Architecture (2) 
1. Read papers of this week
2. Write and submit your reviews for the paper titled: "Introduction to Software Architecture" (week 4)
3. Keep working on your project
4. Keep working on your design package
5. Start working on the unit testing application
 

Paper Review Due

Sunday May 17th, 11:59pm

 
1. "Paradigm: Service Oriented Computing"  by Nikolai Dokovski, Ing Widya. Lecture Nodes pdf and ppt.
2. SOA Blueprints: concept, definition, example
week 8
May 18th 
Aspect-Oritned Software Development 1. Read papers of this week
2. Submit your design package
3. Keep working on your project
4. Working on the unit testing application
Design  Document Due
Sunday May 24th, 11:59pm
1."An Overview of AspectJ" Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm and William G. Griswold. ECOOP 2001.
2. Design Pattern Implementation in Java and AspectJ. By   Jan Hannemann, Gregor Kiczales  
week 9
May 25th
Adv Topics:
Software Modularity
1. Submit your unit testing application.
2. Keep working on your project

 
Project Unit Testing Application Due
Sunny May 31th, 11:59pm
1. The Structure and Value of Modularity in Software Design. By Sullivan et al. 
2. Information Hiding Interfaces for AspectOriented Design. By Sullivan et al.

 

week 10
June 1st
Adv Topics:
 
1. Read papers of this week.
2. Work on your project.
3. Work on your position paper.
4. Join the online discussion titled "week 10"
Online Discussion will close at:
Sunday June 7th, 11:59pm
1."Efficient Exploration of Service-Oriented Architectures using Aspects". Ingolf H. Kreuger, Reena Mathew, Michael Meisinger. ICSE 2006.
2. "Using Dependency Models to Manage Complex Software Architecture." By Neeraj Sangal, Ev Jordan, Vineet Sinha, Daniel Jackson
week 11
June 8st
     Project Package Due
Tuesday June 9th, 11:59pm

Position Paper Due
Thursday June 11th, 11:59pm

 

 

"The best way to predict the future is to invent it." ---Alan Kay.

"Fundamental is the building block of fun." --- A dancing girl.