CS1631 Software Design Methodology
COMPONENT DEFINITION
Definition of a software component (C1)
The component industry metaphor (C2)
Component models and services (C3)
(Prerequisites: Please also study Data Flow Diagram and
Petri net)
VISUAL MODELING WITH UML
(Please download ArgoUML, which is a tool to create UML diagrams.
The official website is:
http://argouml.tigris.org/
and there is also a well-written extensive
Argo UML user manual.
The reference book is, 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)
Exercise 2 (due dates)
Project I/II Preliminaries: Standard interface for testing the system
Project I/II Preliminaries: Personal HealthCare System
Project I Discussion: Mobile phone voting system
Project II Discussion: Personal PetCare System
Exercise 3 (due dates)
THE DESIGN OF SOFTWARE COMPONENT INFRASTRUCTURES
Software components and the UML (C14)
Component infrastructures (C15)
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)
Project Milestone I to define messages for interface
Midterm Review
Midterm (see the calendar for dates)
Project I Discussion:
The generic project that all components must fit in.
Project II Discussion: How to design an ontology knowledge-base
Project Milestone II to test the system
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 Basic Concepts with Programming Example
and More Details (C31)
Week 11: (see the calendar for dates)
COM/COM+/.NET Basic Concepts (C32)
and Programming examples (C32a)
JavaBeans (C33)
(see http://www.jsptut.com/ for a JSP tutorial)
Project Demos (see the calendar for dates) [Every group must give a live demo AND a presentation]
Week 12: (see the calendar for dates)
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)
Week 14: (see the calendar for dates)
Final Review
Week 15: (see the calendar for dates)
Project Presentations (see the calendar for dates) [Every group must give a live demo AND a presentation]
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)