Requirements for software systems such as usability, safety, reliability, and security are often called "non-functional" or "system-wide" requirements, in contrast to requirements for domain-specific system functionality such as air traffic control, mission planning, or sales order processing. System-wide requirements differ crucially from functional requirements, in that they are not met by a single component of a system. For example, a geographically distributed system that is not secure cannot be made secure by the addition of a single new module - rather, security requirements need to be addressed in the design of each of the distributed components.

DesignExpert is a tool that helps system developers and stakeholders to analyze organizational needs and requirements in the area of system-wide properties, and to formulate corresponding constraints on the system design and evaluation.

DesignExpert was developed as a cooperative effort between CoGenTex, Drexel University, and Key Software, Inc.


  • Barzilay, Regina; McCullough, Daryl; Rambow, Owen; DeCristofaro, Jonathan; Korelsky, Tanya; and Lavoie, Benoit (1998). A New Approach to Expert System Explanations. In Proceedings of the Ninth International Workshop on Natural Language Generation, Niagara-on-the-Lake, Canada, pp. 78-87. [Acrobat, 269 Kb] [PostScript, 575 Kb]
  • Ehrhart, Lee Scott; Korelsky, Tanya; McCullough, Daryl; McEnerney, Joe; Overmyer, Scott; Rambow, Owen; Webber, Franklin; Flo, Robert; and White, Douglas (1998). DesignExpert: A Knowledge-Based Tool for Developing System-Wide Properties. Submitted. [Acrobat, 608 Kb] [GZipped PostScript, 661 Kb]