1,022 research outputs found

    Comprehensive and Targeted Access to and Visualization of Decision Knowledge

    Get PDF
    [Context & Motivation] Developers need to document decisions and related decision knowledge during the software development process. This ensures that future decisions can be assessed in the right context and past decisions can be retraced and understood. The documentation of decision knowledge encompasses all aspects that comprise a decision, including the problem, alternatives, arguments for and against these alternatives, and the selected solution. Since the value of the documentation is not immediately apparent, it is important to provide tools that allow easy documentation and coherent visualization of the documented knowledge. It also demands maintenance of the documentation to ensure consistency and completeness. [Contributions] This thesis provides a problem investigation, a treatment design, and an evaluation concerning the management and visualization of documented decision knowledge. The problem investigation was done in the form of a literature review on current approaches towards the grouping of decision knowledge. The results of the review show that decision grouping is often merely a small part of larger frameworks. These frameworks either use predefined labels for their groups or allow the users to freely select group names. The practical contributions in this thesis are the extension of the Jira ConDec plug-in, which provides features for the documentation and visualization of decision knowledge within Jira. In particular, a grouping possibility for decisions as well as respective views and filters were added to this plug-in. To keep the necessary time spent on the documentation process as low as possible, it was decided to use a mix of fixed groups, in the form of different decision levels and custom groups, which the user is free to assign. New views were implemented which allow users to see relationships between source code and Jira issues and a dashboard is built, which can be used to assess the completeness of decision knowledge within a Jira project. The implementation was preceded by a specification of requirements and a design phase. Extensive testing, including system and component tests, were part of the quality assurance phase. Lastly, an evaluation was done by creating and analysing a gold standard of decision knowledge documentation and a survey with developers who provided feedback on the plug-in extension. [Conclusions] The main focus of the thesis was to improve the visualization of relationships between knowledge elements. The evaluation showed that especially those views, creating connections between Jira elements and code classes were highly anticipated by ConDec users, as support for this form of visualization did not exist. The newly implemented features were almost uniformly evaluated positively. Some concerns were expressed about a need for even more information to be displayed within the views. This was a result of the compromise between a wealth of information and a possible overload in individual views. Evaluation of the responsiveness and time behaviour of the newly implemented features also showed that loading times were passable but require more focus in future works to improve the user experience thoroughly

    Development Life Cycle

    Get PDF
    Security in the Software Life Cycle This article emphasizes how developers need to make additional, significant increases in their processes, by adding structure and repeatability to further the security and quality of their software. by Joe Jarzombek and Karen Mercedes Goertze

    Method support for enterprise architecture management capabilities

    Get PDF
    "What can our EA organization do and/or what should it be capable of?". In order to answer this questions, a capability-based method is developed, which assists in the identification, structuring and management of capabilities. The approach is embedded in a process comprising four building blocks providing appropriated procedures, concepts and supporting tools evolved from theory and practical use cases. The guide represents a flexible method for capability newcomers and experienced audiences to optimize enterprises’ economic impacts of EAM supporting the alignment of business and IT.„Was muss unser UAM leisten können?“ Als Grundlage für die Beantwortung dieser Frage sollen Konzepte aus dem Fähigkeitenmanagement genutzt werden. Im Rahmen dieser Arbeit wird eine fähigkeitenbasierte Methode entwickelt, welche Unternehmen bei der Identifikation, Strukturierung und Verwaltung von UAM-Fähigkeiten unterstützt. Der Ansatz ist in einen Prozess eingegliedert, welcher vier Hauptbestandteile beinhaltet und die für die Durchführung notwendigen Vorgehen, Konzepte und Hilfsmittel beschreibt, welche wiederrum in Kooperationen mit der Praxis getestet wurden

    Domain architecture a design framework for system development and integration

    Get PDF
    The ever growing complexity of software systems has revealed many short-comings in existing software engineering practices and has raised interest in architecture-driven software development. A system\u27s architecture provides a model of the system that suppresses implementation detail, allowing the architects to concentrate on the analysis and decisions that are most critical to structuring the system to satisfy its requirements. Recently, interests of researchers and practi-tioners have shifted from individual system architectures to architectures for classes of software systems which provide more general, reusable solutions to the issues of overall system organization, interoperability, and allocation of services to system components. These generic architectures, such as product line architectures and domain architectures, promote reuse and interoperability, and create a basis for cost effective construction of high-quality systems. Our focus in this dissertation is on domain architectures as a means of development and integration of large-scale, domain-specific business software systems. Business imperatives, including flexibility, productivity, quality, and ability to adapt to changes, have fostered demands for flexible, coherent and enterprise--wide integrated business systems. The components of such systems, developed separately or purchased off the shelf, need to cohesively form an overall compu-tational environment for the business. The inevitable complexity of such integrated solutions and the highly-demanding process of their construction, management, and evolution support require new software engineering methodologies and tools. Domain architectures, prescribing the organization of software systems in a business domain, hold a promise to serve as a foundation on which such integrated business systems can be effectively constructed. To meet the above expectations, software architectures must be properly defined, represented, and applied, which requires suitable methodologies as well as process and tool support. Despite research efforts, however, state-of-the-art methods and tools for architecture-based system development do not yet meet the practical needs of system developers. The primary focus of this dissertation is on developing methods and tools to support domain architecture engineering and on leveraging architectures to achieve improved system development and integration in presence of increased complexity. In particular, the thesis explores issues related to the following three aspects of software technology: system complexity and software architectures as tools to alleviate complexity; domain architectures as frameworks for construction of large scale, flexible, enterprise-wide software systems; and architectural models and representation techniques as a basis for good” design. The thesis presents an archi-tectural taxonomy to help categorize and better understand architectural efforts. Furthermore, it clarifies the purpose of domain architectures and characterizes them in detail. To support the definition and application of domain architectures we have developed a method for domain architecture engineering and representation: GARM-ASPECT. GARM, the Generic Architecture Reference Model, underlying the method, is a system of modeling abstractions, relations and recommendations for building representations of reference software architectures. The model\u27s focus on reference and domain architectures determines its main distinguishing features: multiple views of architectural elements, a separate rule system to express constraints on architecture element types, and annotations such as “libraries” of patterns and “logs” of guidelines. ASPECT is an architecture description language based on GARM. It provides a normalized vocabulary for representing the skeleton of an architecture, its structural view, and establishes a framework for capturing archi-tectural constraints. It also allows extensions of the structural view with auxiliary information, such as behavior or quality specifications. In this respect, ASPECT provides facilities for establishing relationships among different specifications and gluing them together within an overall architectural description. This design allows flexibility and adaptability of the methodology to the specifics of a domain or a family of systems. ASPECT supports the representation of reference architectures as well as individual system architectures. The practical applicability of this method has been tested through a case study in an industrial setting. The approach to architecture engineering and representation, presented in this dissertation, is pragmatic and oriented towards software practitioners. GARM-ASPECT, as well as the taxonomy of architectures are of use to architects, system planners and system engineers. Beyond these practical contributions, this thesis also creates a more solid basis for expbring the applicability of architectural abstractions, the practicality of representation approaches, and the changes required to the devel-opment process in order to achieve the benefits from an architecture-driven software technology
    • …
    corecore