CS1631 Software Design Methodology

Instructor: Prof. S. K. Chang
Office: 349 Cathedral of Learning (also 6101 Sennott Building)
Office Hours: 5:15pm to 6pm (349 CL) TuTh
Telephone: 624-8423
E-mail: chang@cs.pitt.edu

Grader: HanZhong Zheng
Office: 6508 Sennott Square
Office Hours: TuTh 1:30pm to 4:30pm
Telephone: 412-624-8866
E-mail: victorzhz@cs.pitt.edu

Time and Classroom: Tu 6:00pm to 8:30pm 324 CL

Course Description: This course is one of the courses in the software engineering track. This course is intended to apply the object-oriented approach and especially component-based software engineering (CBSE) to the design of practical software systems. Students will learn the fundamentals of component-based software engineering and participate in a group project on software design. The midterm and final cover the principles of software design methodology with emphasis on component-based software engineering rather than the traditional structural approach.

Recommended References: 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, 36 used & new from $15.19)

Visual Modeling with Rational Rose 2002 and UML (3rd Edition) by Terry Quatrani, Addison-Wesley Pub Co, 3rd edition, October 9, 2002, ISBN: 0201729326. (Paperback 288 pages, List Price: $39.99 15 used & new from $20.00)

Classnotes: Classnotes will be available at http://www.cs.pitt.edu/~chang/163/1631topic.html.

Tools: You will need to download the following tools. (1) ArgoUML is Open Source Software, whose official website is: http://argouml.tigris.org/. (2) Virtual Classroom can be found at: http://www.cs.pitt.edu/~chang/cvc/Download/zipfile/vcstu40.zip. When you unzip this zip file, it contains the following two files: StudentTool.exe and config_student.ini. You can run StudentTool.exe, and enter the login information of first name, last name and password, which must match exactly the first name, last name and password (c????) in your grade vector. The first four pages of "How VC Tool works" explains how the VC Student Tool works.

Grading: Grades are based upon exercises (20%), project (40%), midterm (20%) and final exam (20%). Please read the grading policy.

Pre-requisites: CS441, CS445, CS1530 Software Engineering or consent of the instructor.

Projects: Projects will apply principles of component-based software engineering to design the components for personal healthcare system, or a mobile phone voting system. Following the principles of Extreme Software Engineering students will work in pairs on projects. Advanced projects include mobile app development using Android. Mobile App Developer is the new No. 1 job on exclusive (CNNMoney/Payscale.com list of top 100 careers) with big growth, great pay and satisfying work. A good project topic if you are willing to work hard.

On-line interactions: In addition to classroom lectures, this course will emphasize on-line interactions. In fact, the instructor hopes to offer this course (and other courses) by distance learning in the future. Therefore, on-line interactions will be an important, necessary component of this course. The course materials, announcements and exercises will all be available from the Internet. Impromptu meetings and schedule changes will be announced by e-mail.

Attandance: There will be one point deduction for each class you fail to attend unless you inform the instructor in advance and provide proof for reason of non-attendance such as illness.

Note: If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.