COURSE SYLLABUS

 CS421 is a Writing Intensive (WI) Course and helps meet WI requirements in the BS CS Program.

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/ or go to

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.

After the semester starts up, you will be asked to download a full commercial version of Rational Rose 2003 or Rational Rose Enterprise Edition for WINDOWS from http://www.rational.com/ and then use its Key Administrator tool to activate Rational Rose 2003 or particular tools in Rational Enterprise Edition by use of the Key and Account numbers distributed in your class and through the URL

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

Metrics – Cost and Effort Metrics (COCOMO)

·        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

http://www.rational.com

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 day’s 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.