CS 321 Software
Requirements and Design Modeling
Section 004
Spring, 2015
Class Day/Time: TR
1:30-2:45 p.m. Class Location: Robinson B120
Instructor: Prof. John Otten
Email Address: jotten2@gmu.edu Office
Phone: 703-993-1669
Office Location: ENGR, Room 5335; Office Hours: T 9:30-11:30, W
3:00-4:00
Graduate Teaching Assistant: Hozaifah Zafar
Email Address: hzafar@gmu.edu
Class 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 of 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.
Prerequisite: C or better in CS 211.
Course Outcomes:
- An understanding of all phases of the software engineering
lifecycle (requirements, design, implementation, testing, deployment,
maintenance).
- An understanding of several software lifecycle models including
both prescriptive and agile models and knowledge of tradeoffs among
these models.
- An ability to create and use UML models to develop and document
software analysis and design artifacts.
- An understanding of fundamental project management and leadership
issues for software teams.
- An ability to apply software engineering methods to address the
requirements and design phases of a large software project.
Writing Intensive Course: 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
this writing, and be able to resubmit revisions based on the feedback.
For this course, part of the writing will include an individual essay
on your experiences working with your team.
Class Participation:
Students are expected to attend and actively engage in lectures. Some
lectures will involve completing reading assignments at home and being
prepared to discuss them (or take a quiz) in class. Lectures are also
used to solve in-class examples and work on the semester project.
Groupwork will make up a large part of the students' grades. Students
are expected to participate equally and fully in group assignments.
Each deliverable will require students to complete the deliverable all,
or in part, individually at first. The instructors will examine these
individual assignments and adjust points for groupwork if students are
found to not contribute adequately to draft deliverables.
Project: 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 design project with some prototype implementation. See the project
page for more details.
Late Work: All assigned must be received by the deadline
(submitted on Blackboard by 11:55pm on the date due). No late
assignments will be accepted. All project assignments must be submitted
online, through your team's repository, by 11:55pm on the day they are
due.
Exams: Exams are closed book/notes unless specified otherwise by instructor.
Appropriate documentation (as determined by instructor) and requisite
permissions are required for make-up exam requests. Picture IDs are
required to take all exams.
If you know in advance that you are unable to make an exam for a
valid and unavoidable reason (such as a scheduled surgery, etc), you
must notify the professor at least one week before the scheduled exam
date to make arrangements for a make-up, and bring documentation with
you when you take the make-up. If you miss an exam due to a
university-accepted excused absence (such as an illness or car accident
the day and time of the exam), you must notify your professor within 24
hours of your absence to make arrangements for a makeup, and bring
approved documentation with you when you take the make-up exam. Failure
to follow either of these policies will result in a zero.
Grading: There will be no makeups on
exams except under exceptional circumstances (as judged by the instructor), and any
such makeup must be arranged in advanced. Grades will be computed using
a weighted average of these scores with the weights:
- project assignments (40%)
- essay assignment (10%)
- quizzes and homework (10%)
- midterm exam (20%)
- final exam (20%)
Contesting of grades on any/all submissions must be requested within one
week of the item's return. No grade changes will be considered
subsequent to that deadline, or after the final exam meeting.
Group members must participate equally in project assignments; the
professor reserves the right to assign a zero to any student
for any deliverable retroactively, if it turns out that nothing of
academic merit was contributed to the assignment by any
individual. It is up to students to prove their participation on
deliverables, and the professor will examine ONLY svn logs in the event
of any disputes of participation. Make sure you are using svn, and
using it through your login.
Class Communications: CS 321 will be using Blackboard and Piazza for
most class communications. You are responsible for any notifications or
information posted on these forums by your instructor, and you will need
to check it regularly for
such notices. Some information may be disseminated through Blackboard, Piazza, and/or the occasional email annoucement rather
than in class. Individual communications with the professor may
be done by email using your GMU email account. When you email, please
be
sure to include your name, the class number and the topic in the
subject
header. (E.g.: Subject: Jim Jones / CS 321 / Project Question)
Special Accommodations: If you
are a student with a disability, please see your instructor and contact
the Office of Disability Services (ODS) at (703) 993-2474. All academic
accommodations must be
arranged throuht the ODS: http://ods.gmu.edu
Honor Code Policies: All
students are expected to abide by the GMU Honor Code. 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.
Sharing, collaboration, or looking at any code related to programming
assignments that is not your own is considered cheating. The computer science department has an additional, more restrictive CS
Honor Code that you are also subject to. Make sure you read and
familiarize yourself with these rules.