CptS 323 - Software Design (Spring 2013)


Instructor: Sakire Arslan Ay

Office: EME 102D  and EME 233

Email: arslanay [at] eecs . wsu .edu

Phone: (509) 335-4089

Office Hours: M W F   11:00 am - 12:00 noon, EME 102D

Lectures: M W F   10:10 am - 11:00 am, Sloan 150

Teaching Assistant: Bolong Zeng

Office: Sloan 336

Email: bzeng [at] . wsu .edu

Office Hours: Tu Th   2:00 pm - 4:00 pm



[02.25.2013]  REMINDER: No class on Wednesday Feb 27th. Instructor will be out of town. Instructor's office hour on Feb 27th is cancelled as well.

[02.25.2013]  Homework-1 is posted on ANGEL. Check under Lessons/Homeworks. It is due March 4th in class (hardcopies please). Late penalty is 10% point deduction per day. (see syllabus)

[02.22.2013]  The template for the "Requirements Analysis Document" has been posted on ANGEL (under folder Lessons\Templates). Also available here: CptS323_RequirementsAnalysisDocument.doc Please use this template to write your design document phase-1. You don't need to write all sections in the given template. Please skip the sections marked as "[Not Required]".

[02.14.2013]  Spring 2013 - CptS 323 project and homework submission guidelines: CptS323.spring2013.submissions.pdf

[02.14.2013]  Spring 2013 - CptS 323 project teams: CptS323.spring2013.teams.pdf

[02.07.2013]  Major project milestones and their deadlines have been posted. Please check the project description or the milestones link.

[02.06.2013]  Bolong Zeng's lecture notes on basic GitHub usage is now available on ANGEL

[02.06.2013]  Project grading scale is now available. Please check the course syllabus. CptS323.arslanay.spring.2013.Syllabus_v1.pdf

[02.04.2013]  The template for the "Requirements Specification Document" has been posted on ANGEL (under folder Lessons\Templates). Also available here: CptS323_SystemRequirementsSpecification.doc Please use this template to write your project requirements specification document. You don't need to write all sections in the given template. Please skip the sections marked as "[Not Required]".

[02.01.2013]  The first set of milestones has been assigned.

[01.30.2013]  Here is a document with instructions on how to use GitHub (github_basic.txt)

[01.30.2013]  On Wednesday Feb 6th, during regular lecture hour TA will give an overview on GitHub. He will also give an overview of the "Requirements Specification" writing assignment.

[01.30.2013]  REMINDER: Make sure to complete all preliminary project milestones immeditely.

[01.30.2013]  REMINDER: Deadline to send your team fomation to TA is tomorrow (Feb 1st). If you dont have a team the TA will will randomly assign you to a team.

[01.30.2013]  Class notes has been uploaded! New slides have been added to CptS323_arslanay_Lecture5_UML_part2.pdf on ANGEL.

[01.21.2013]  Class schedule has been updated.

[01.14.2013]  Important! NO CLASS on Wednesday January 16th. To make-up this class, a video lecture will be available on ANGEL!  Please watch this video before the class on Friday.

[01.14.2013]  Lecture notes are now available on ANGEL.

[01.14.2013]  Instructor's and TA's office hours are updated.

[01.01.2013]  Welcome to CptS 323!


The purpose of this course is to expose students to contemporary software design methodologies, and to equip them with knowledge and skills necessary to conquer complexity in design of large-scale software and to improve the quality of end products. This course introduces design techniques and methodologies for improving the productivity of software development and the quality of software. The course introduces fundamental design concepts and notations with emphasis on Unified Modeling Languages (UML) and design patterns. The course also discusses the role and impact of software design on other elements of software development processes.

Students will participate in a semester long project to give them hands-on experience with software design principles. In the project students will practice principles and techniques introduced in the class in a team environment.

Prerequisites: "Cpts 223 Advanced Data Structures", "Cpts 322 Software Engineering Principles I"

Textbooks and Reading Materials:

Required Textbooks:
[OOSE] Bernd Bruegge and Allen H. Dutoit , Object-Oriented Software Engineering: using UML, Patterns, and Java. 3th edition, Prentice Hall. 2010. ISBN-10: 0136061257. ISBN-13: 9780136061250
[DP] Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional. 1994. ISBN-10: 0201633612
Recommended Reading:
[UML] SPARX Systems. UML 2 Tutorial. http://www.sparxsystems.com/resources/uml2_tutorial/
[JPC++] Scott Stricker. Java programming for C/C++ developers. IBM.




# of Lectures

Introduction to Software Design



Object-Oriented Design and Java Intro



Design in Software Process



Tools and Infrastructure



Unified Modeling Language



Requirement Elicitation



Functional Modeling, Use cases



Object Modeling



System Design: Decomposing System



System Design: Addressing Design Goals



Design Patterns



Project Presentations




Academic Integrity

All work in this class must be done individually. If you use material found on the web, reference any and all material you use. Anyone cheating on work in this class will receive a failing grade for the work and will be subject to the university’s academic dishonesty policy. Cheating involves giving assistance or receiving assistance on work assigned in this class. If you have any questions regarding an assignment or a quiz, see the instructor or teaching assistant. The WSU statement on academic integrity can be found at http://www.eecs.wsu.edu/~schneidj/Misc/academic-integrity.html.

Students with Disabilities

Reasonable accommodations are available for students with documented disability. If you have a disability and may need accommodations to fully participate in this class, please visit the Access Center (Washington Building 217) to schedule an appointment with an Access Advisor. All accommodations MUST be approved through the Access Center. Additional information can be viewed at the URL http://drc.wsu.edu

Campus Safety

The Campus Safety Plan, which can be found at http://safetyplan.wsu.edu, contains a comprehensive listing of university policies, procedures, statistics, and information relating to campus safety, emergency management, and the health and welfare of the campus community. The left side bar at this safety plan homepage contains many important links to safety information.