CS/SWE 321Software Requirements and Design Modeling

Spring 2014

Section -001 Tuesday/Thursday 10:30-11:45 PM Location: ENGR 2608

Section -003 Tuesday/Thursday 12:00-13:15 PM Location: Robinson A 105

Prof. Hassan Gomaa


Office: Engineering 4417
Phone: 703-993-1652


Office Hours: Tuesdays, Wednesdays (4:00PM 5:00 PM)


GTA: Carolyn Koerner

Office: Engineering 4456


Office Hours: Tuesdays (2:00 4:00 PM)


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.

Section -001: To access Blackboard, log in at:, click on the Courses tab and locate CS-321-001 / SWE-321-001 link in the Course List.

Section -003: To access Blackboard, log in at:, click on the Courses tab and locate CS-321-003 / SWE-321-003 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 Report (10%)
(iii) Mid-term Exam (20%)
      (iv) Final exam (30%)

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.

Use of laptops and other electronic devices in class


The use of electronic devices (including laptops, PDAs, tablets, cell phones) is generally not allowed in this class, as it is distracting to you and the other students in the classroom.


However, if you feel that you will need access to your tablet/laptop computer for note-taking or following lecture notes, you need to get permission from the instructor at the beginning of the semester.


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.