George Mason University
Department Of Computer Science

CS 421 - Introduction to Software Engineering - Spring 2007
Section 001: Tue. 7:20-10:00, T-116

Dr. Moataz A. Ahmed, Adjunct Professor
Office: ST2-435 Ė Hours: Tue. 6:30--7:00, Wed. 6:30-7:00, and by appointment

TA: Nagini Kodukula <>
Office: TBA Ė Hours: TBA


CS 421 gives an introduction to principles and techniques used in software engineering. The course will cover integration of concepts of management, methodologies/processes, and metrics.It will present and discuss selected software engineering methods, documentation, and tools. CS421 will introduce object-oriented requirements analysis and modeling, as well as design engineering. CS-421 will have a software engineering project that requires student to participate in working teams where students organize, manage, and practice a software engineering project. CS 421 includes Writing Intensive (WI) activities that, together with those of CS 306, meet the GMU WI Requirements in the BS CS Program (

Catalog Description:

CS 421 Introduction to Software Engineering (3:3:0) Prerequisites: grade of C or better in CS 310 (or both CS 211 and SYST 301) and ENGL 302. Techniques in software design and development. Discusses formal models of structured programming, software engineering methods and tools, functional or object-oriented design, and documentation. Working in teams, students organize, manage, and develop software engineering project.


1. Roger Pressman, Software Engineering, 6th Edition, McGraw Hall, 2005.

N.B., this is also one of the preferred textbooks for the IEEE Software Engineering Certificate Program.

N.B., it is preferred that you do NOT use the paperback international version since the order and numbering of homework problems is different from the regular edition.

N.B., it is required that you use the on-line self-assessment quizzes on the Student Web Page of the Pressman book.

N.B., There are two required study parts to this cs421 text. The first part is the paper copy itself. The second required part is at and is accessed, as instructed on the second sheet of your textbook via your personal student registration code. Assignments are for both first and second parts of this textbook. The Pressman on-line quizzes are a weekly part of exam preparation.

2. Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language Users Guide, 2nd Edition, Addison-Wesley, 2005.

Tutorial/Help Material:

Rational Rose UML Software or Equivalent; Download IBM Rational Rose Enterprise Edition 2004 for MS Windows from

IBM Rational Rose (Enterprise Edition) 2004 UML STII-Lab Room 133 Accounts and Materials, as well as designated PCs in IN 301.

Grading Policy:





(April 24)
distribution will be described in the lab






Midterm Exam


(March 6, tentative)


Final Exam


(May 8)

Class/lab attendance and participation is required and will be factored into the final course grade. The class/lab absence factor will be discussed during the first lecture.

Topics to be covered:





# Lectures



Chapter 1



Software Processes

Chapters 3, 5



Requirements Engineering

Chapters 7, and 8



Design Engineering

Chapter 9



Quality Assurance

Chapters 13, 14* and 15



Software Project Management

Chapters 21, 22*


* Coverage and depth vary as time permits.Other topics may be discussed as per the call interest.

Lecture Slides


The project will begin in the first session in the lab. The UML (Unified Modeling Language) will be used as the common language by which your system will be described. You are expected to use UML to document requirements and design specifications for a project. Rational Rose, available in the lab, is the software tool to use to describe your system in UMLís notation. A system prototype might be required to be shown towards the end of the project. An initial project plan will have to be put prior to start working on the requirement analysis.

Students are encouraged to come up with their own projects. Students will have to work in teams and will have to be approved by the instructor. A team should consist of no more than 5 members, but not less than 3. Team members should be determined in the first day of the lab and changes are not accepted afterwards. Please note the following:

1.     The project is a major time commitment.

2.     It is the responsibility of each of the team members to ensure the achievement of all the deliverables. Failure to do so entails having a formal meeting with the instructor as soon as possible to discuss obstacles. Team members who do not contribute should be reported to the instructor. Students should take advantage of communications technology when appropriate

3.     Team leadership is rotational per phase/stage.

4.     Individual project grades will be calculated as a function of the teamís project grade, contribution to project deliverables, attendance of team meetings and individualís project presentation.


CS421 meets part of the WI Requirement for all BS students at GMU.Homework will include technical writing assignments.The submitted writing should be well-structured as far as grammar and paragraphs are concerned.It should also show correct problem understanding. The student may wish to use the writing guides, as a supplement, on the GMU website.Students must hand in on time all homework and lab work that is requested to be turned in.


Code of Ethics. Please Read. IEEE and ACM codes of ethics are at these URLs:

The link to the GMU Honor Code has become:

2007 by Dr. Moataz Ahmed, Department of Computer Science, George Mason University