CS/SWE 321-002 Software Requirements and Design Modeling

Fall 2013          
Tuesday, Thursday    1:30-2:45 PM                            Location: University Hall 1204

Prof. Hassan Gomaa


Office: Engineering 4417
Phone: 703-993-1652



An introduction to concepts, methods, and tools for the creation of large-scale software systems. Methods, tools, notations, and validation techniques to analyze, specify, prototype, and maintain software requirements. Introduction to object-oriented requirements modeling, including use case modeling, static modeling, and dynamic modeling using the Unified Modeling Language (UML) notation. Concepts and methods for the design of large-scale software systems. Fundamental design concepts and design notations are introduced. A study of object-oriented analysis and design modeling using the UML notation. Students participate in a group project on software requirements, specification, and object-oriented software design.

Course Outcomes

Upon completion of this course, students should have:


Grade of C or better in CS 211.


The required textbook for this class is Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures by H. Gomaa, Cambridge University Press, 2011.

Course Material

All handouts and other course material will be available on Blackboard.
To access Blackboard, log in at:, click on the Courses tab and locate SWE-321-002 / CS-321-002 link in the Course List

Project Assignments

CS 321 will have a software engineering project that requires student to participate in working teams where students organize, manage, and practice a software engineering project. This will be a software requirements and design modeling project with some prototype implementation.

CS 321 includes Writing Intensive (WI) activities that, together with those of CS 306, meet the GMU WI Requirements in the BS CS Program ( This means you will write 1750 graded words (or about 7 standard pages). You will get feedback on this writing, and be able to resubmit revisions based on the feedback. For this course, part of the writing will include a software requirements specification, a software design document, and an individual essay on your experiences working with your team.


The grade for the course will be based on the following components:
      (i)   Project assignments (40%)
      (ii)  Project Essay (10%)
      (iii) Mid-term Exam (25%)
      (iv) Final exam (25%)

All exams are closed book.

Honor Code

You are expected to abide by the University's honor code and the CS Department's Honor Code and Academic Integrity Policies during the semester. This policy is rigorously enforced. All class-related assignments are considered individual efforts unless explicitly expressed otherwise (in writing). Review the university honor code and present any questions regarding the policies to instructor. Cheating on any assignment will be prosecuted and result in a notification of the Honor Committee as outlined in the GMU Honor Code.

Learning Disabilities


If you are a student with a disability and you need academic accommodations, please see me and contact the Disability Resource Center (DRC) at 993-2474. All academic accommodations must be arranged through the DRC.