CS1631 Software Design Methodology
COMPONENT DEFINITION
Definition of a software component (C1)
The component industry metaphor (C2)
Component models and services (C3)
VISUAL MODELING WITH UML
and an example
(Prerequisites: Please also study Data Flow Diagram and
Petri net)
(Please download ArgoUML, and
read the book, Visual Modeling with Rational Rose 2002 and UML)
Exercise 1 (due dates)
An Example specification (C4)
THE CASE FOR COMPONENTS
The business case for components (C5)
Project Discussion: The Virtual Classroom
Exercise 2 (due dates)
Project Discussion: Standard interface for the Virtual Classroom
Project Discussion: Use Virtual Classroom to discuss Term Project
Exercise 3 (due dates)
THE DESIGN OF SOFTWARE COMPONENT INFRASTRUCTURES
Software components and the UML (C14)
Component infrastructures (C15)
Project Discussion: The Chronobot
and presentation on Chronobot.
To do the project, please use chronobot web service.
Business components (C16)
Components and connectors (C17)
Exercise 4 (due dates)
An OPEN process for component-based development (C18)
SOFTWARE SYSTEMS
Software architecture (C20)
Software architecture design principles (C21)
Midterm Review
Midterm (see the calendar for dates)
Exercise 4 example
Project Discussion: Use Virtual Classroom to discuss term project (dates)
THE MANAGEMENT OF COMPONENT-BASED SOFTWARE SYSTEMS
Measurement and metrics for software components (C23)
Configuration management (C29)
Week 10: (see the calendar for dates)
COMPONENT TECHNOLOGIES
CORBA (C31)
and a simple example
Project Milestone I to define messages for interface
Week 11: (see the calendar for dates)
COM+ (C32)
and more examples
JavaBeans (C33)
(see http://www.jsptut.com/ for a JSP tutorial)
Week 12: (see the calendar for dates)
Project Milestone II to test your component using the
remote control (Java version, please download and unzip).
Please read the tutorial on how to use the remote control.
A C++ Interface for the components (works with the Remote Control 1.0) is provided,
which has been tested with GNU's g++ compiler on elements machines.
Finally, you can test the interaction between two or more components using
the Super Remote,
which is like the remote control but allows for the communication between
components.
GNOME (C34)
Choosing between COM+, EJB, and CCM (C35)
Week 13: (see the calendar for dates)
Software agents (C36)
CONCLUSION
Summary (C41) and future of CBSE (C42)
Final Review
Week 14: (see the calendar for dates)
Project Demos and Presentations (see the calendar for dates) [presentations will be according to the order listed below]
Final Exam (see the calendar for dates)
Final Thought:
The master programmer moves from program to program without fear. No
change in management can harm him. He will not be fired, even if the project
is canceled. Why is this? He is filled with the Tao.
-- Geoffrey James, The Tao of Programming
Note: The chapters C1, C2, and so on, refer to the book,
Component Based Software Engineering: Putting the Pieces Together,
by George T. Heineman and William T. Councill,
Addison-Wesley Pub Co; 1st edition, June 8, 2001,
ISBN: 0201704854.
(Hardcover 818 pages,
List Price: $54.99,
used books from $15.19. Order from amazon.com)