Use cases are a popular method for capturing and structuring software requirements. The informality of use cases is both a blessing and a curse. It enables easy application and lea...
Since 1996, the core Use Case Map (UCM) notation has remained remarkably stable. As the structure and intent of workflow and scenario languages are very similar, UCMs have been ap...
for ideas, and then abstract away from these ideas to produce algorithmic processes that can create problem solutions in a bottom-up manner. We have previously described a top-dow...
Software architecture description languages (ADLs) were a particularly active research area in the 1990s. In 2000, we published an extensive study of existing ADLs, which has serv...
Despite a growing awareness of security issues in networked computing systems, most development processes used today still do not take security aspects into account. To address th...