CS1631 Software Design Methodology

Week 1: (see the calendar for dates)

COMPONENT DEFINITION

Definition of a software component (C1) (REQ) The component industry metaphor (C2) Component models and services (C3) (REQ)

Week 2: (see the calendar for dates)

(Prerequisites: Please also study Data Flow Diagram and *Petri net)

VISUAL MODELING WITH UML

Introduction to UML (REQ) and More on UML (REQ)

(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)

Deployment Diagram (REQ)

Exercise 1 (due dates)

Week 3: (see the calendar for dates)

An Example specification by UML (C4) (REQ)

THE CASE FOR COMPONENTS

The business case for components and UCP costing methods (C5) (REQ)

Exercise 2 (due dates)

Week 4: (see the calendar for dates)

Project I/II Preliminaries: Standard interface for testing the system (REQ)

Project I/II Preliminaries: Component-Based Software Engineering Testbed (REQ) and messages

Project I Discussion: Mobile phone voting system (REQ)

Project II Discussion: Personal HealthCare System Examples and related petcare System

Exercise 3 (due dates)

Week 5: (see the calendar for dates)

THE DESIGN OF SOFTWARE COMPONENT INFRASTRUCTURES

(Prerequisites: Software Life-Cycle Models) (REQ)

Software components and the UML (C14) (REQ) Component infrastructures (C15) (REQ)

Week 6: (see the calendar for dates)

Business components (C16) Components and connectors (C17)

Exercise 4 (due dates)

*An OPEN process for component-based development (C18)

Week 7: (see the calendar for dates)

SOFTWARE SYSTEMS

Software architecture (C20) (REQ) Software architecture design principles (C21) (REQ) how everything fits together (REQ)

Project Milestone I

Week 8: (see the calendar for dates)

Midterm Review

Midterm (see the calendar for dates)

Week 10: (see the calendar for dates)

AGILE METHODOLOGY

Agile methodology (REQ)

Project Milestone II

Week 11: (see the calendar for dates)

Test-Driven Software Development (REQ)

How to design an ontological knowledge-base (REQ)

Week 12: (see the calendar for dates)

Configuration management (C29) *Measurement and metrics for software components (C23)

CROSS-PLATFORM SOFTWARE DEVELOPMENT

Cross-Platform Mobile software development (REQ)

Ionic Tutorial for Cross-Platform Mobile Software Development

Week 13: (see the calendar for dates)

COMPONENT TECHNOLOGIES

CORBA Basic Concepts with Programming Examples (REQ) and More Details (C31)

COM/COM+/.NET Basic Concepts (C32) (REQ) and Programming examples

JavaBeans (C33) (REQ) *(see http://www.jsptut.com/ for a JSP tutorial)

Week 14: (see the calendar for dates)

*Free GNOME Software Components (C34)

Choosing between COM+, EJB, and CCM (C35)

Project Milestone III

Week 15: (see the calendar for dates)

CONCLUSION

*Agent-oriented Software Construction (C36)

Summary (C41) and future of CBSE (C42)

Project Presentations (see the calendar for dates) [Every group must give a live demo AND a presentation]

Final Review (REQ)

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 1: 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) However topics without chapter number are added later by the instructor and not part of the original book.

Note 2: Students may be allowed to take CS1631 prior to taking CS1530, or taking both concurrently. The prerequisites from CS1530 are included in the topics listed above for students to self-study.

Note 3: Topics marked by asterisk * may not be covered in this course.