Popis: |
Many seismological software applications are developed to support for instance studies of earthquake scenarios, seismic exploration surveys or hazard analysis. Most of these applications were developed in isolation with focus on algorithmic performance, and less emphasized on software’s comprehensibility and maintainability. However, requirements engineering practices, which help to describe the applications from a high level point of view, are mostly ignored. As a result, trying to reuse these algorithms in larger systems, developers face difficulties in comprehending, modifying, adapting and integrating the applications. This paper presents our work of introducing the concepts of requirements engineering to seismological research projects. Requirements describe what a software system is expected to do and to be. They are used to communicate between scientists from different domains (e.g. seismology and computer science) to achieve a common understanding for developing the software. Requirements also provide a basis for other development activities, such as software comprehension, software design, implementation and maintenance. We present a model-based requirements engineering approach that incorporates abstractions and notations from the seismology domain. We describe two requirements patterns, which facilitate the identification and specification of requirements in seismological software development. We use a dynamic rupture example to illustrate how seismologists can apply our approach. |