1. A method for managing software modules comprising: receiving, at a computer, dependency information reflecting dependencies between the software modules, wherein the dependency information is included in the software modules and specifies a dependency between a user and at least one of the software modules based on an authorization of the user to use the at least one software module; monitoring the software modules to obtain updates to the dependencies from the received dependency information; generating a representation of the software modules according to the received dependency information, the representation reflecting the dependencies between the software modules; receiving data reflecting a software development change to a first one of the software modules; providing notification of the software development change to third-party users of the software modules by transmitting an e-mail message to the third party users, the e-mail message containing data indicating affected software modules dependent on the software development change; and performing, by the computer, design-time checks to determine whether the software development change to the first one of the software modules is consistent with the updated dependencies between the software modules reflected by the received dependency information, wherein the design-time checks are automatically performed before the first one of the software modules is compiled with the software development change.