85 research outputs found

    Theory as a Source of Software Requirements

    Get PDF

    Non-Functional Requirements Elicitation and Incorporation into Class Diagrams

    Full text link

    Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems

    Get PDF
    Softwaresysteme werden heute z.B. aufgrund sich ändernder Geschäftsprozesse oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit ermöglichen.Während der Software-Evolution können Änderungen zu einer Verschlechterung der Architektur führen, der Architekturerosion. Dies erschwert oder verhindert weitere Änderungen wegen Inkonsistenz oder fehlendem Programmverstehen. Zur Erosionsvermeidung müssen Qualitätsziele wie Weiterentwickelbarkeit, Performanz oder Usability sowie die Nachvollziehbarkeit von Architekturentwurfsentscheidungen berücksichtigt werden. Dies wird jedoch oft vernachlässigt.Existierende Entwurfsmethoden unterstützen den Übergang von Qualitätzielen zu geeigneten Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden des Requirements Engineering und des Architekturentwurfs. Insbesondere gilt dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von Entwurfsentscheidungen durch explizite Modellabhängigkeiten.Diese Arbeit präsentiert ein neues Konzept, genannt Goal Solution Scheme, das Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird speziell hinsichtlich Weiterentwickelbarkeit diskutiert und ist in ein zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte des Requirements Engineering und Architekturentwurfs verbessert und integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen regelbasierten Ansatz mit Techniken des Information Retrieval verbindet. Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik sowie mit hoher Genauigkeit und Trefferquote.Die Realisierbarkeit des Ansatzes wird an einer Fallstudie einer Software für mobile Serviceroboter gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln und Links.Today software systems are frequently faced with demands for changes, for example, due to changing business processes or technologies. The software and especially its architecture has to cope with those frequent changes to permanently remain usable.During software evolution changes can lead to a deterioration of the structure of software architectures called architectural erosion, which hampers or even inhibits further changes because of inconsistencies or lacking program comprehension. To support changes and avoid erosion, especially quality goals, such as evolvability, performance, or usability, and the traceability of design decisions have to be considered during architectural design. This however often is neglected.Existing design methods do not sufficiently support the transition from the quality goals to appropriate architectural solutions because there is still a gap between requirements engineering and architectural design methods. Particularly support is lacking for the goal evolvability and for the traceability of design decisions by explicit model dependencies.This thesis presents a new concept called Goal Solution Scheme, which provides a mapping from goals via architectural principles to solution instruments by explicit dependencies. Thus it helps to select appropriate architectural solutions according to their influence on quality goals. The scheme is discussed especially regarding evolvability, and it is embedded in a goal-oriented architectural design method, which enhances and integrates established methods and concepts from requirements engineering as well as architectural design. This is supplemented by a traceability concept, which combines a rule-based approach with information retrieval techniques for a (semi-) automated establishment of links with specific link types and attributes for rich semantics and a high precision and recall.The feasibility of the design approach has been evaluated in a case study of a software platform for mobile robots. A prototype tool suite called EMFTrace was implemented as an extensible platform based on Eclipse technology to show the practicability of the thesis' concept. It integrates design models from external CASE tools in a joint model repository by means of XML technology, applies rules for link establishment, and provides validation capabilities for rules and links

    Managing conflicts among non-functional requirements

    Full text link
    Abstractâ Non-functional requirements (NFRs) tend to interfere, conflict, and contradict with one other. Unlike functional requirements, this inevitable conflict arises as a result of inherent contradiction among various types of NFRs. A number of techniques to deal with this conflict have been developed. Majority of them focus on categorizing, documenting, or listing the potential conflicts among NFRs. Several models that represent the positive or negative relationships among NFRs have also been published in literature. However, the interpretation of NFRs may vary depending on numerous factors, such as the context of the system being developed and stakeholder involvement. Consequently, the relationships among them are not always obvious. This paper investigates the gaps in the existing research literature about the conflicts among NFRs and proposes a framework to manage this type of conflict

    MATrA: meta-modelling approach to traceability for avionics

    Get PDF
    PhD ThesisTraceability is the common term for mechanisms to record and navigate relationships between artifacts produced by development and assessment processes. Effective management of these relationships is critical to the success of projects involving the development of complex aerospace products. Practitioners use a range of notations to model aerospace products (often as part of a defined technique or methodology). Those appropriate to electrical and electronic systems (avionics) include Use Cases for requirements, Ada for development and Fault Trees for assessment (others such as PERT networks support product management). Most notations used within the industry have tool support, although a lack of well-defined approaches to integration leads to inconsistencies and limits traceability between their respective data sets (internal models). Conceptually, the artifacts produced using such notations populate four traceability dimensions. Of these, three record links between project artifacts (describing the same product), while the fourth relates artifacts across different projects (and hence products), and across product families within the same project. The scope of this thesis is to define a meta-framework that characterises traceability dimensions for aerospace projects, and then to propose a concrete framework capturing the syntax and semantics of notations used in developing avionics for such projects which enables traceability across the four dimensions. The concrete framework is achieved by exporting information from the internal models of tools supporting these notations to an integrated environment consisting of. i) a Workspace comprising a set of structures or meta-models (models describing models) expressed in a common modelling language representing selected notations (including appropriate extensions reflecting the application domain); ii) well-formedness constraints over these structures capturing properties of the notations (and again, reflecting the domain); and iii) associations between the structures. To maintain consistency and identify conflicts, elements of the structures are verified against a system model that defines common building blocks underlying the various notations. The approach is evaluated by (partial) tool implementation of the structures which are populated using case study material derived from actual commercial specifications and industry standards

    Dynamic Workflow-Engine

    Get PDF
    We present and assess the novel thesis that a language commonly accepted for requirement elicitation is worth using for configuration of business process automation systems. We suggest that Cockburn's well accepted requirements elicitation language - the written use case language, with a few extensions, ought to be used as a workflow modelling language. We evaluate our thesis by studying in detail an industrial implementation of a workflow engine whose workflow modelling language is our extended written use case language; by surveying the variety of business processes that can be expressed by our extended written use case language; and by empirically assessing the readability of our extended written use case language. Our contribution is sixfold: (i) an architecture with which a workflow engine whose workflow modelling language is an extended written use case language can be built, configured, used and monitored; (ii) a detailed study of an industrial implementation of use case oriented workflow engine; (iii) assessment of the expressive power of the extended written use case language which is based on a known pattern catalogue; (iv) another assessments of the expressive power of the extended written use case language which is based on an equivalence to a formal model that is known to be expressive; (v) an empirical evaluation in industrial context of the readability of our extended written use case language in comparison to the readability of the incumbent graphical languages; and (vi) reflections upon the state of the art, methodologies, our results, and opportunities for further research. Our conclusions are that a workflow engine whose workflow modelling language is an extended written use case language can be built, configured, used and monitored; that in an environment that calls upon an extended written use case language as a workflow modelling language, the transition between the modelling and verification state, enactment state, and monitoring state is dynamic; that a use case oriented workflow engine was implemented in industrial settings and that the approach was well accepted by management, workflow configuration officers and workflow participants alike; that the extended written use case language is quite expressive, as much as the incumbent graphical languages; and that in industrial context an extended written use case language is an efficient communication device amongst stakeholders

    A Trust-by-Design Framework for the Internet of Things

    Get PDF
    The Internet of Things (IoT) is an environment where interconnected entities can interact and can be identifiable, usable, and controllable via the Internet. However, in order to interact among them, such IoT entities must trust each other. Trust is difficult to define because it concerns different aspects and is strongly dependent on the context. For this reason, a holistic approach allowing developers to consider and implement trust in the IoT is highly desirable. Nevertheless, trust is usually considered among different IoT entities only when they have to interact among them. In fact, without considering it during the whole System Developmente Life Cycle (SDLC) there is the possibility that security issues will be raised. In fact, without a clear conception of the possible threats during the development of the IoT entity, the lack of planning can be insufficient in order to protect the IoT entity. For this reason, we believe that it is fundamental to consider trust during the whole SDLC in order to carefully plan how an IoT entity will perform trust decisions and interact with the other IoT entities. To fulfill this goal, in this thesis work, we propose a trust-by-design framework for the IoT that is composed of a K-Model and several transversal activities. On the one hand, the K-Model covers the SDLC from the need phase to the utilization phase. On the other hand, the transversal activities will be implemented differently depending on the phases. A fundamental aspect that we implement in this framework is the relationship that trust has with other related domains such as security and privacy. Thus we will also consider such domains and their characteristics in order to develop a trusted IoT entity

    Modeling security requirements for context aware system using UML

    Get PDF

    Design Models for Service-based Software Application

    Get PDF
    Context: The use of a Service Oriented Architecture (SOA) offers a new and distinct approach to creating software based applications (SBAs) around the idea of integrating distributed autonomous computing resources. A widely available realisation of an SOA exists in the form of web services. However, to date no standard techniques have emerged for developing SBAs. There is also a lack of consistency in describing the concept itself, and the published literature offers little evidence derived from the experience of developing `real world examples. Aims: The objective of the work described in this thesis was to conduct a series of studies to explore systematically the concept of what constitutes an SOA by using the published literature, to employ this to construct a proof of concept SOA design model based on a real world problem, and in doing so, to investigate how well existing design notations are able to support this architectural style. Method: The research described in this thesis has been conducted in an evolutionary manner by employing a range of empirical methods. A mapping study was performed to investigate how the concept of SOA is interpreted by the research community. Based upon this model of SOA, a participant-observer case study was employed to construct an SOA design model and a use case model for an energy engineering application to demonstrate use for a real world problem. Finally, expert knowledge was employed for evaluation of the case study through the use of walkthroughs. Results: From the mapping study we created an integrated model of what constitutes an SOA for the use with the case study. The case study outcomes include a design for a renewable energy control system together with codified experience of constructing and recording the SOA design model. The experience of employing the walkthrough method for evaluation, and the outcomes of the evaluation are also discussed. Conclusion: From this research we conclude that the SOA research community needs to develop a clearer shared understanding and agreement on the model of what constitutes an SOA and the vocabulary used to describe the SOA concept. This will aid designers to communicate their mental models more effectively and will provide the semantics needed for devising the new notations that this study implies are needed for SBA design. Further, some lessons about SBA design have been derived from the case study experiences
    • …
    corecore