TU München - Fakultät für
Es sprechen Studenten über ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.
Am Dienstag, 26.01.16, ab 14:00 Uhr, im Raum 00.11.038 (John v. Neumann):
Automatic Detection of Quality Defects in Use Cases
The quality of requirements documents has a high impact on the overall success of software projects. As a part of the specification, use cases play an important role for all software engineering activities, the Unified Process model even considers use cases as the foundation for further development and testing steps. In order to make sure the quality of use cases is guaranteed, they have to be checked manually during reviews. This is time-consuming and hence not cost-effective. As an automated quality analysis, the concept of requirement smells is proposed for use cases. Smells are lightweight indicators for potential quality deficiencies based on heuristics and are easy-to-detect by an automated routine. Originally the concept of smells was introduced to mark symptoms of poor quality in source code. Transferred to requirements documents with the focus on the structural characteristics of use cases, this thesis aims to understand whether smells can help reviewing use case specifications.
Applying User Feedback to Increase the Accuracy of Requirements Smell Detection
The aim of this thesis is to evaluate to which extent automatic methods, such as ma-chine learning, can be applied to increase the accuracy of Requirements Smell De-tection. Therefore, the thesis should comprehend: A discussion of potential information sources (i.e. features in machine learning terminology) in the context of the sentence or requirements artifact, which could influence whether a use accepts or rejects a smell finding. A prototypical design of a system that adapts the Requirements Smell Detec-tion with the goal to increase the accuracy of the findings. An empirical study (including study design and study execution) that analyzes to which extent the solution solves the accuracy problem. A discussion on the applicability of the approach, based on the results and experiences gained during the study.
Towards a Profound Understanding of Non-Functional Requirements
Traditionally, requirements are divided into functional and non-functional requirements. A functional requirement (FR) describes what the system should do and a non-functional requirement (NFR) constraints how it should do so. While there is a consensus about the term FR, there is no consensus on how to define the term NFR, how to classify NFR types and how to represent NFRs. This lack of understanding can lead to errors in early software engineering phases. Those may bear great risks since they exponentially increase costs the later they are found. The main goal of this thesis is to get a better understanding of NFRs and three related problems: definition, classification and representation. First, the term NFR is defined and a comprehensive view of available NFR types?like performance, usability or security?is given (definition problem). Then, different classifications of NFR types are analyzed and properties are derived from both the classification structures and the software development process. These properties are used to compare the classifications (classification problem). Finally, the two exemplary NFR types performance and security are analyzed in detail. To this end, we analyze the definition and classification of the types, propose aspects and basic concepts based on relevant literature, and create a consolidated definition with a specific classification hierarchy for each type. In addition, a meta-model for the specification of performance requirements is created and an existing meta-model for security concepts is discussed (classification & representation problem). Based on the results, we achieve a better understanding of NFRs: First, we tackle the definition problem through the definition of the term NFR. Second, we conclude that the origin of classification problems lies in the definition problem: There is no common understanding about the definition of specific NFR types and this is the reason why the same type is classified differently in the various classifications. Last, we identify the representation problem as inherent to the notion of NFRs. A system model is needed to specify requirements in a precise and unambiguous way.