GEORGE MASON
UNIVERSITY
DEPARTMENT
OF COMPUTER SCIENCE
CS
321-002
Software Requirements and Design
Modeling
Fall
2015
Tuesday/Thursday
12:00-13:15 PM Location: ENGR 1108
Prof.
Hassan Gomaa
Email: hgomaa@gmu.edu
Office:
Engineering 4417
Phone: 703-993-1652
Web: http://mason.gmu.edu/~hgomaa/
Office Hours: Tuesdays, Wednesdays (3:00PM
– 4:00 PM)
Description
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:
Prerequisite
Grade of C
or better in CS 211.
Readings
The recommended 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: http://mymason.gmu.edu, click on the Courses tab and locate 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. The
team project will cover software requirements, design, coding and testing.
CS 321 includes Writing Intensive (WI) activities that, together with those of
CS 306, meet the GMU WI Requirements in the BS CS Program (http://wac.gmu.edu).
This means you will write 1750 graded words (or about 7 standard pages). You
will get feedback on some writing assignments and you will 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.
Grading
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.