

COURSE
SYLLABUS
CS421, therefore, meets the WI Requirement for all BS students at GMU ( http://wac.gmu.edu ).
George Mason University
DEPARTMENT OF COMPUTER SCIENCE
Course
Description
Code
of Ethics. Please Read. IEEE and ACM codes of ethics are
atthese URLs:
http://www.ieee.org/about/whatis/code.html
http://www.acm.org/serving/se/code.htm
The link to the
GMU Honor Code has become:
http://jiju.gmu.edu/catalog/apolicies/honor.html
CS 421
Introduction to Software Engineering
Spring
2003
Professor
David Rine; Department of Computer Science
http://www.cs.gmu.edu/
ftp://mason1.gmu.edu/drine/cs421 to get PowerPoint Lecture Slides
ST2 Room 345
Phone
703-993-1546
Email drine@cs.gmu.edu
OFFICE/LAB
HOURS:
Office Hours for Professor Rine, Spring 2003, Thursdays in STII-345, 2:45 - 4:15pm else By Appointment.
Our Lab
teaching and help sessions are in STII-17and STII-137. They will
be Monday through Thursday, plus Saturday. Mr. Mahmoud Elish is
the Laboratory Tutor on Wednesday afternoons, Thursdays and
Saturdays. His email is melish@gmu.edu
. Ms. Mirza is the other Laboratory Tutor on Mondays, Tuesdays,
and Wednesday mornings. Her email is smirza@gmu.edu Please contact
them directly with any Lab questions you may have. The posting of
the repeated tutor sessions is always found by seeing the posting
outside the STII-17, 137 or see http://www.ite.gmu.edu/labs/.
LAB ASSISTANT:
The following CS421 Staff Members will tutor in STII-17, 137 and hold Office Hours, which are posted at http://www.ite.gmu.edu/labs/. Email for Lab Rational Rose, Rational Rose Enterprise Edition or UML assistance to Mr. Mahmoud Elish, melish@gmu.edu or to Ms. Mirza, smirza@gmu.edu . If you wish to ask a question about a posting in the cs421 electronic gradebook you should contact melish@gmu.edu .
STII-17 is the
location of the usual CS421 teaching and tutoring sessions.
Please attend regularly after classes begin.
STII-17, 137 LAB
DEDICATED TEACHING TUTORING TIMES.
To see the times
that the STII-17, 137 Rational Rose and Rational Suite Enterprise
Lab is dedicated to CS421 class sections view the schedule on http://www.ite.gmu.edu/labs/.
For other individual times you need to fill out a request for
your personal Omni Lock Code. Forms are available outside the
STII-160 ITE Office.
USER
NAMES AND PASSWORDS FOR USING PCS IN STII-137 AND
STII-17. When you use PCs in STII-137 or STII-17 you will be
asked for a User Name; for this use the lab number of the PC,
e.g. '30' when using PC 30. No Password is required. When using
the VORD requirements development tool program (goes with Chapter
6 in the Text) you will be asked for a Password; use the password
'autocad'. Both Rational Rose and VORD are executed from the
START--> Programs short cuts on the PCs.
RATIONAL
SOFTWARE.
In addition to the Rational Rose Enterprise Edition software in STII-17, 137 and subset of version 4.0 from the CD in the back of the UML Toolkit paperback from the textbooks section of the GMU Bookstore in the Johnson Center, you can down load to your own PC term-limited copies of full commercial versions of Rational Rose Enterprise 2002 Edition, SoDA, RequisitPro, Rational Suite Enterprise, and other interesting tools by going to http://www.rational.com/ and clicking on the Try It entry on the first page.
https://licensing.rational.com/accountlink/transactionType.
You will use this version of Rational Rose or Rational Enterprise Edition (UML programming environment) to do your class project. When following the above Rational URL to get your 'nodelocked ' key, you will follow five steps. In the first step you will be asked for my GMU Account Number. Either my tutors or I will give you this account number in class.
OTHER
LAB HINTS. If you do end up using Java programming in a
CS class this semester, be sure that you get away from using
trivial editors such as NotePad or Pico. INSTEAD, us the more
powerful Java structure editor 'jedit.exe' on the PCs in the
STII-137 and STII-17 labs.
DESCRIPTION:
CS 421 is a
3-credit course with firm prerequisites ( Grade
of C or better) CS 310 (data structures and algorithms), ENGL 302
(technical writing for scientists and/or engineers) and
junior/senior standing. It gives an introduction to principles
and techniques used in software engineering. Integration of
concepts of management, methodologies/processes and metrics.
Presentation and discussion of selected software engineering
methods, documentation and tools. Coverage of object-oriented
requirements analysis and modeling. Working in teams where
students organize, manage and develop a software engineering
project.
GRADING
POLICY:
A midterm
examination and a final examination each count 1/3 of the class
grade on a 100 point scale; and grading is proficiency-based, no
curve. The combined project, homework and lab work comprise the
remaining 1/3 of the class grade. Students must hand in on time
all home work and lab work that is requested to be turned in, but
students may work on homework and lab work in their project team
groups. It is understood that the project is a major time
commitment, and students must work in their groups,
taking advantage of communications technology when appropriate.
GRADE SCORE:
Score =
(1/3)*MidTerm + (1/3)*Final + (1/3)*((1/3)*Homework
+ (2/3)*Team_Project)
The spring-03
Finals schedule is at this link
http://registrar.gmu.edu/examsched03s.html
To check your scores and progress in the course you can go this semester to the cs421 electronic grade book at
http://ite.gmu.edu/~melish/start.cgi and when there use the secret 4-digit password to check your scores.
SYLLABUS
CONTENT OUTLINE:
·
Software engineering and software engineering life cycle/process
model
·
UML and software supporting software engineering
·
Software engineering as management, methods and metrics
·
Software quality: relation to functional and non-functional
attributes
·
Software requirements and requirements analysis
·
Verification and validation: relation to software quality -
Software metrics
·
Object-oriented software analysis/design and construction
·
UML Requirements Modeling
·
Software design and comparison of design methods
·
UML Components and Deployment Architectural Levels - The
Component Object Model
·
Software management: using a process model and improvements using
·
Software reuse: technical and social non-technical issues
·
Team Projects illustrating the above materials
REQUIRED
TEXTBOOKS:
1.
Software Engineering, 6th Edition,
2001, Ian Sommerville.
Addison-Wesley. (NOTE: This is also the preferred textbook for the IEEE Software Engineering
Certificate
Program.)
2. The
Unified Modeling Language Users Guide, 1st Edition,
1999, Grady
Booch, James Rumbaugh and Ivar Jacobson, Addison-Wesley.
3. UML
Toolkit, 1998, Eriksson, John Wiley, CD-ROM.
4.
Rational Rose UML Software or Equivalent, Download Rational Rose
Enterprise Edition 2002 or Rational Suite Enterprise from
Enterprise
Rational Rose 2002 UML STII-Lab Rooms 17, 137 Accounts and
Materials.
REQUIRED
LABORATORY HARDWARE AND SOFTWARE:
Personal
Computer, Windows 95, 98, 2000, XP or Windows NT, Connectivity to
Internet/Web, Web Browser.
Account
on Mason1. Omni Lock Code for PC CAD Labs in STII-17, 137. See http://www.ite.gmu.edu/labs
Your
own copy of Rational Rose or Rational Suite Enterprise. You can
start with the student 4.0 version on the CD in the back of the
UML Toolkit paperback book available in the textbooks section of
the GMU Bookstore. However, this beginner's version will not be
sufficient for the course project.
The Lab
Project will Focus on Requirements Engineering in UML
'Software
Engineering' by Sommerville (6th
edition) Chapters/Exercises [This is the primary text, and there
is one lab text as well].
Chapter 1
Introduction to Software Engineering. Exercise #1, 2, 3, 6, 8. DUE 1/28.
Chapter 2
Computer-based Systems Engineering. Exercises #1, 5, 7, 8. DUE 2/4.
Chapter 3
Software Processes. Exercises #1, 3, 4, 8. DUE
2/11.
Chapter 4
Project Management. Exercises #2, 4, 5, 6, 7, 10.DUE 2/18.
Chapter 5
Software Requirements. Exercises #2, 3, 5, 7, 10. DUE 2/25.
MIDTERM EXAM 03/06 Sommerville chapters 1-5 and the UML Lab Tutorial Material.
BEGIN SMALL GROUP PROJECTS WORK RIGHT AFTER GMU SPRING BREAK.
Chapter 6
Requirements Engineering Processes. Exercises #1, 2, 3, 4, 5, 10.
DUE .
Chapter 12
Object-Oriented Design. Exercises #1, 2, 3, 4, 5, 6, 7, 8, 9. OO Review Material Only
Chapter 17
Critical Systems Specification. Exercises #1, 2, 5, 6, 7.DUE .
Chapter 18
Critical Systems Development. Exercises #1, 2, 6, 8, 9, 10.DUE .
Chapter 19
Verification and Validation. Exercises #1, 3, 5, 8.DUE .
Chapter 20
Software Testing. Exercises #1, 2, 3(a), 4, 8, 9.DUE .
Chapter 23 Software Cost Estimation. Exercises #1, 2, 3, 4, 9. DUE .
SOURCES
FOR CS421 LECTURE POWERPOINT SLIDES.
You need to
download the PowerPoint CS421 Lecture slides before each
days lecture by either going to
ftp
mason1.gmu.edu/drine/cs421
http://www.software-engin.com/
The following
URL is also used to download the VORDTool: http://www.software-engin.com/
If you are in
the distance education section, use ClassWise home page http://netlab.gmu.edu/disted/
Booch-Rumbaugh-Jacobson
Lab Book Chapters.
Most of the
chapters will be used/covered during the course of the semester.
This book will serve as a primary reference for the
UML-based project work. The book will take the place of
language users guides and reference guides normally
used in other kinds of computer science classes. The default
implementation of UML in the class will be Rational Rose which
can also be found in the tool suite Rational Rose Enterprise
Edition.
UML (Unified
Modeling Language) is the defacto industry standard for
developing Object-oriented software. UML has been certified by
the international certifying organization Object Management Group
(OMG) whose web page is http://www.omg.org/.
UML is evolving into the standard world-wide notation for
presenting object-oriented modeling and design.
UML On-Line Tutorial from AltogetherSoftware, Inc. Follows:
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/index.html
Please use this interactive UML tutorial as a review. It contains both examples and self-testing to allow your to improve your UML skills.