PATTERNS,PATTERNS,PATTERNS, PATTERNS,PATTERNS, PATTERNS, PATTERNS, PATTERNS

DEPARTMENT OF COMPUTER SCIENCE

IT 822 COURSE SYLLABUS

 

Fall 2004

Sections IT822-001 and Internet (NEW) section IT822-002

 

IT822 is an Advanced Computer Science and Software Engineering Design Course.

 

Course Description. (3:3:0). Prerequisites: SWE619 or SWE620 or CS540 or CS571 or a Graduate Course in Object-Oriented Programming or Equivalent. Principles of object-oriented design through design patterns. A study of the selection of appropriate object-oriented structure after the systems requirements or requirements specification of the software system have been developed. Design patterns are created in the logic view of the software system. A study of generalized design solutions for generalized software design problems. A study of the reuse of design patterns. Once developed, design patterns may be specified in any object-oriented language. Only Ph.D. students may register for this course number.

 

Class begins Thursday September 2 4:30 - 7:10pm from the GMU campus classroom STII-126.

 

PROFESSIONAL STANDARDS

 

Please read the following Professional Codes of Ethics at these URLs: IEEE and ACM codes of ethics at

http://www.ieee.org/about/whatis/code.html
http://www.acm.org/serving/se/code.htm

The link to the GMU Honor Code has become:

http://jiju.gmu.edu/catalog/apolicies/honor.html
 

 

 

Distance Education Section it822-002

 

 

Thursdays in STI-126, 4:30 - 7:10pm. Distance Education Sections it822-002 and cs631-002 use the following link:

http://disted.ite.gmu.edu to use the NET system NEW.

 

This course is delivered to the Internet section online by NetworkEducationWare (NEW). Students in all sections haveaccounts on NEW and can play back the lectures and download the PDF slide filesat http://disted.ite.gmu.edu.

http://disted.ite.gmu.edu to use the NET system NEW.

 

Regarding http://disted.ite.gmu.edu. Any student who pre-registered for your section already has an account; they just ned to "request password" and the password will be emailed to their GMU account.

 

 

 

IT822 Object-Oriented Design Patterns {Maintenance and Reuse}

 

 

Professor David Rine; Department of Computer Science

http://www.cs.gmu.edu/or go to

ftp://mason.gmu.edu/drine/cs631 to get PowerPoint Lecture Slides [PDF by a special request]

ST2 Room 345

Phone 703-993-1546 

Email drine@cs.gmu.edu

 

 

OFFICE/LAB HOURS:

 

COURSE PROFESSOR

 

1. Office Hours for Professor Rine, Fall 2004: 2:45 - 4:15 pm. Thurs. in STII-345.

 

 

LAB TUTOR:

 

 

2. Our personal or small groups lab teaching and help sessions are in STII-133, and Mr. Mahmoud Elish is the tutor (melish@gmu.edu) .

 

The following IT822 Lab Tutor will staff STII-133 and hold Office Hours. Email him for help to:

Mr. Mahmoud Elish melish@gmu.edu

See the posting of any other formal large group Rational Rose UML tutorial sessions would be found on http://www.ite.gmu.edu/labs/.

Our personal or small groups lab teaching and help sessions are in STII-133-137. They will be held at selected times Monday through Thursday, plus Saturdayif there is sufficient interest . Mr. Mahmoud Elish is the Laboratory Tutor. His email is melish@gmu.edu . Please contact him directly with any Lab questions you may have. The posting of the repeated formal class sized tutor sessions in STI-124-128 is found at  http://www.ite.gmu.edu/labs/.

 

 

 

IBM RATIONAL LAB SOFTWARE.

 

Using the UML approach to coding design patterns, the parts of a design pattern are its classes diagram,

.its scenario, and its sequence diagram or interaction diagram.

STII-133 LAB TIMES.

In addition to the IBM Rational Rose WINDOWS version 2004 software in STI-124-128 and STII-133-137 and subset of version 4.0 from the CD in the back of the UML Toolkit paperback from the textbooks section of the GMU Bookstore in the Johnson Center, you can down load to your own PC WINDOWS term-limited copies of full commercial version of Rational Rose Enterprise 2004 Edition and other interesting tools by going to http://www.rational.com/

 

DOWNLOADING AND INSTALLING IBM RATIONAL ROSE (UML 2.0)

 

After the semester starts up, you will be asked to download a full commercial WINDOWS version of IBM Rational Rose 2004 from http://www.rational.com/ and then use its Key Administrator tool to activate IBM Rational Rose 2004 by use of the Key and Account numbers distributed in your class through the following URL

https://licensing.rational.com/accountlink/transactionType.

 

You will use this WINDOWS version of Rational Rose (UML programming environment) to do your class project.

 

 

COURSE DESCRIPTION:

 

 

GRADING POLICY:

 

A midterm examination and a final examination each count 1/3 of the class grade on a 100 point scale; and grading is proficiency-based, no curve. The project and associated lab work comprise the remaining 1/3 of the class grade. Students must hand in all project-related work that is requested to be turned in, but students may work on homework and lab work in their project team groups. It is understood that the project is a major time commitment, and students must work in their groups, taking advantage of communications technology when appropriate.Students in the Ph.D. Program can replace the midterm with a written and orally presented research paper; see the professor at the beginning of the class term if you wish to take this option.

 

GRADE SCORE:

 

Score = (1/3)*MidTerm + (1/3)*Final + (1/3)*Project

The fall-04 Finals schedule is at the link

http://registrar.gmu.edu/examsched04f.html

 

 

EXAMS AND PROJECTS

 

IT822 (both Sections, for those not doing the research paper option) Midterm Exam is October 14, 4:30 - 7:17pm in the GMU campus classroom.

 

IT822 Projects and Final Written Research Projects are due December 16, 4:30 - 7:17pm in the GMU campus classroom

Required IT822 Oral PowerPoint Presentations will be given during the last of the course 4:30 - 7:17pm in the GMU campus classroom.

 

IT822 (both Sections) Final Exam is December 16, 4:30 - 7:17pm in the GMU campus classroom.

 

 

SYLLABUS CONTENT OUTLINE

 

 

1. Principles of Design and Modeling

2. Introduction to Design Patterns: Principles and Examples

3. Design Patterns in Designing Computer Systems and Applications

4. Programming Design Patterns in UML and Abstract Java

5. Advanced Topics in Design Patterns.

 

 

HOMEWORK ASSIGNMENTS DUE

 

 

Thursdays OCTOBER - Study the Lecture Notes from SEPTEMBER and then DO THE FOLLOWING:

 

ASSIGNMENT IN THE GAMMA TEXTBOOK

 

Chapters/Exercises.

 

A. Study pp. 137-138 on Structural Design Patterns, Chapter 4. Study IN DETAIL

Proxy Design Pattern, pp. 207-217

Facade Design Pattern, pp. 185-193

Composite Design Pattern, pp. 163-173.

 

B. Study pp. 221-222 on Behavioral Design Patterns, Chapter 5. Study IN DETAIL Observer Design Pattern,

pp. 293 - 303.

 

 

C. Code the above four design patterns in UML (Rational Rose), including each one's static

design structure as CLASS DIAGRAM, and dynamic design structure as SEQUENCE DIAGRAM.

Store each coded design pattern in its own, separate EXPORTED PTL file package for later reuse.

Begin to work on how you would automatically IMPORT each one of the above PTL packaged design

patterns into its best designed position in the sequence of actor, interface, boundary, control and entity

classes. For example, where would a proxy design pattern usually be inserted? Where would an observer

design pattern usually be inserted? Where would a facade design pattern usually be inserted?

 

D. As HOMEWORK, hand in the results of your UML coding in part C. above.

 


   

 

REQUIRED TEXTBOOKS & COURSE MATERIAL

 

1. 'Design Patterns: Elements of Reusable Object-Oriented Software,' by Gamma, Helm and Vlissides,

Addison-Wesley Publishers, 1995. Book comes with a CD.REQUIRED THEORY

 

2. ‘Unified Modeling Language Users Guide,' 1999., Booch et. al., Addison-Wesley Publishers. REQUIRED LAB GUIDE

 

3.IBM Rational Rose 2004 UML Software or Equivalent, Download IBM Rational Rose Enterprise Edition 2004 from

http://www.rational.com REQUIRED LAB SOFTWARE

 

 

 

ADDITIONAL REQUIRED READINGS

 

'UML 2Toolkit,' 2004, Eriksson, John Wiley Publishers, CD-ROM.OPTIONAL

In addition to the the above textbook readings you are also required to ready and studt, as background, the following study on reuse practices:

http://www.gmu.edu/depts/survey/

 

REQUIRED LABORATORY HARDWARE AND SOFTWARE:

 

1.Programming of Patterns Using UML and Abstract Java, STII Labs 133-137

2.Personal Computer, Windows 2000, ME, XP or Windows NT, Connectivity to Internet/Web, Web Browser.

3.Accounts and Omni Lock Codes for PC CAD Labs in STII 133-137. See http://www.ite.gmu.edu/labs

4.Your own copy of IBM Rational Rose. You can optionally start with the student UML 2.0 version on the CD in the back of the UML Toolkit paperback book available from www.amazon.com or in the textbooks section of the GMU Bookstore. However, this beginner's version will not be sufficient for the course project.

5.The Lab Project will Focus on Reusable Design and Design Patterns in UML

 

 

SOURCES FOR CS631 and IT822 LECTURE POWERPOINT SLIDES.

 

 

TBD1 ftp://mason1.gmu.edu/drine/cs631 and ftp://mason1.gmu.edu/drine/it822

TBD2 ftp://mason1.gmu.edu/drine/cs631 and ftp://mason1.gmu.edu/drine/it822

 

You can download the PowerPoint CS631 and IT822 Lecture slides before each day’s lecture by either going to

ftp mason1.gmu.edu/drine/cs631 and ftp://mason1.gmu.edu/drine/it822

NET NEW for the Distance Education Students CS631-002.

The following URL is also used to download the NET distance education software NET NEW. http://netlab.gmu.edu/disted/

If you are in the distance education section, use NET NEW at http://netlab.gmu.edu

 

UML (Unified Modeling Language): Currently UML 2.0

 

UML (Unified Modeling Language) is the defacto industry standard for developing Object-oriented software. UML has been certified by the international certifying organization Object Management Group (OMG) whose web page is http://www.omg.org/UML is evolving (UML 2) into the standard world-wide notation for presenting object-oriented modeling and design. For those who can afford to do so I would also recommend the very latest 'The Unified Modeling Language Reference Manual, Second Edition,' by Rumbaugh et. al., Covers UML 2.0, Has a CD ROM, Addison-Wesley, 2004-2005.

 

 

UML On-Line Tutorial from Borland - Together Software, Inc. Follows:

http://bdn.borland.com/article/0,1410,31863,00.html

Use this tutorial is an aid to your matery of UML fundamentals.

Please use this interactive UML tutorial as a review. It contains both examples and self-testing to allow your to improve your UML skills.

For even more UML Tutorials see the more general tutorial materials webpage at

http://bdn.borland.com/together/0,1419,12,00.html
 
 

Excellent supplementary study material can be, for optional readings, be found at this web site as well:

http://www.software-engin.com/