Computer Science Course Information
Back to CS Home Page

Computer Science Course Information

Level >Graduate >FALL_2005 >List >

Software Design and Production Methodology

Course No. CIS 673
Sections 101
Title Software Design and Production Methodology
Course Website
Prerequisite(s) CIS 631
Instructor Ali Mili
  • Office Room No. : GITC 4305
  • Office Phone : 973-596-5215
  • Fax : 973-596-5777
  • Email :
  • Website:
  • Lab : GITC 4402
  • Instructor Office Hours
    Description Design and Production Methodology (3 credits). Modern techniques and methods employed in the development of large software systems, including a study of each of the major activities occurring during the lifetime of a software system, from conception to obsolescence and replacement. Topics include cost/performance evaluation, documentation requirements, system design and production techniques, system verification techniques, automated aids to system development, and project organization and management.
    Topics We give below a summary outline of the material that we will cover in this course.
    • Product Line Engineering
    • Domain Analysis Methodologies
    • Software Libraries
    • Software Engineering Costs, Software Reuse Costs
    • Software Architectures, Reference Architectures
    • Domain Engineering, Design for Reuse
    • Application Engineering, Design with Reuse
    Text Book(s) Reuse Based Software Engineering: Techniques, Organization and Measurement
    H. Mili, A. Mili, Sh. Yacoub, E. Addy. John Wiley and Sons, 2002. ISBN: 0471398195
    Time & Place Wednesdays, 6:00-9:05 PM KUPF 210
    Other Info Teaching Assistant:
    Bradley Coleman, email:

    This course revolves around a Product Line Engineering project that students carry out throughout the semester. As such, the project includes two phases:
    • Domain Engineering,
    • Application Engineering.
    Domain engineering will take approximately 13 weeks, and will be carried out in teams. Application engineering will take the remaining two weeks of the semester, and will be done individually.

    5. Grading:
    Students will be evaluated on the basis of their team work and on the basis of their individual deliverable:

    Domain Engineering 700
    Application Engineering 300
    Total 1000

    We may give a homework assignment; if we do, it will be integrated with the grade for application engineering.
    A great premium is placed on regular attendance. While we do not integrate regular attendance as part of how the final grade is derived, we will definitely use attendance records when we draw lines between letter grades. In addition to attendance, we also appreciate active participation in class. We reserve the right to deny giving a grade to any student who is absent more than four times throughout the semester.

    6. Computer:
    NJIT offers a wide range of computing platforms, and a wide range of ways to avail yourself of them. Brad Coleman (the TA) will discuss with you procedures for preparing and submitting your programming assignments, as well as any special conditions that may arise. Information on NJIT’s computing facilities can be found on the web NJIT dial up numbers are:

    7. Web Support:
    This course will be delivered with the support of webct. Visit and make sure that the system recognizes you and that it lists this course for you. If you have any difficulty, check with Brad Coleman. We will use webct to post all relevant material; students may use webct to discuss topics of general interest to the class. For personal matters, email (also on webct) is preferred.

    Academic Honor Code

    The NJIT academic honor code
    ( in full to this
    class. Note in particular that copying programs, in full or in part, is
    forbidden. You may discuss ideas and concepts with your fellow
    students, but you may NOT copy any code.

    Registrar's Website