278 research outputs found

    The Quality Attribute Design Strategy for a Social Network Data Analysis System

    Get PDF
    An excellent software project can often identify quality attributes, expressed by the nonfunctional requirements. Quality attributes include modifiability, performance, availability, security, and so on. The nonfunctional requirements that address those quality attributes should be considered during the design phase. The quality attribute design approaches will be considered to achieve those requirements. In this thesis, an architecture will be designed for a new social network data analysis system, is named Trowser, through several architectural approaches. Before starting the design phase, the source code of an existing social network analysis system, Gephi, is analyzed. The quality attribute design strategies are summarized from the analysis result and unite with the known design tactics to design the architecture of Trowser. The Architecture Tradeoff Analysis Method(ATAM) will be used for evaluating the quality of the architecture. Finding the good design strategies for social network data analysis system

    Analyzing evolution of variability in a software product line: from contexts and requirements to features

    Get PDF
    In the long run, features of a software product line (SPL) evolve with respect to changes in stakeholder requirements and system contexts. Neither domain engineering nor requirements engineering handles such co-evolution of requirements and contexts explicitly, making it especially hard to reason about the impact of co-changes in complex scenarios. In this paper, we propose a problem-oriented and value-based analysis method for variability evolution analysis. The method takes into account both kinds of changes (requirements and contexts) during the life of an evolving software product line. The proposed method extends the core requirements engineering ontology with the notions to represent variability-intensive problem decomposition and evolution. On the basis of problem-orientation, the analysis method identifies candidate changes, detects influenced features, and evaluates their contributions to the value of the SPL. The process of applying the analysis method is illustrated using a concrete case study of an evolving enterprise software system, which has confirmed that tracing back to requirements and contextual changes is an effective way to understand the evolution of variability in the software product line

    Software Documentation Guidelines For Maintainability

    Get PDF
    Software maintenance is the final stage in the software engineering process; and can also be the longest and most costly. The ability of, and ease in which software upkeep and change is performed is an important software quality attribute called maintainability. Software maintenance however is an expensive process in both time and financial cost and can account for a majority of a system\u27s overall lifetime cost. It would be beneficial then to have a set of guidelines for obtaining a higher degree of maintainability in software before and after its release and evolution stage in order to limit the cost of change. Six suggested steps for achieving a higher degree of maintainability through software documentation are provided along with a short case study, followed by a discussion on potential results and future enhancements to the proposed method

    Debugging Techniques for Locating Defects in Software Architectures

    Get PDF
    The explicit design of the architecture for a software product is a well established part of development projects. As the software architecture descriptions are becoming larger and more complex, there is more likelihood of defects being present in the software architecture. Studies have shown that a defect in the software architecture that has propagated to the development phase is very expensive to fix. To prevent such propagation of defects, this research proposes to provide debugging support for software architecture design. Debugging is commonly used in programming languages to effectively find the cause of a failure and locate the error to provide a fix. The same should be accomplished in software architectures to debug architecture failures. Without debugging support, the software architect is unable to quickly locate and determine the source of an error. In our work, we define a process for debugging software architecture and provide analysis techniques to locate defects in a software architecture that fails to meet functional and non-functional requirements. We have implemented the techniques and provide an evaluation of the techniques based on examples using an industry standard architecture definition language, Architecture Analysis and Design Language (AADL)

    Synergizing domain expertise with self-awareness in software systems:a patternized architecture guideline

    Get PDF
    To promote engineering self-aware and self-adaptive software systems in a reusable manner, architectural patterns and the related methodology provide an unified solution to handle the recurring problems in the engineering process. However, in existing patterns and methods, domain knowledge and engineers' expertise that is built over time are not explicitly linked to the self-aware processes. This linkage is important, as the knowledge is a valuable asset for the related problems and its absence would cause unnecessary overhead, possibly misleading results and unwise waste of the tremendous benefit that could have been brought by the domain expertise. This paper highlights the importance of synergizing domain expertise and the self-awareness to enable better self-adaptation in software systems, relying on well-defined expertise representation, algorithms and techniques. In particular, we present a holistic framework of notions, enriched patterns and methodology, dubbed DBASES, that offers a principled guideline for the engineers to perform difficulty and benefit analysis on possible synergies, in an attempt to keep "engineers-in-the-loop". Through three tutorial case studies, we demonstrate how DBASES can be applied in different domains, within which a carefully selected set of candidates with different synergies can be used for quantitative investigation, providing more informed decisions of the design choices.Comment: Accepted manuscript to the Proceedings of the IEEE. Please use the following citation: Tao Chen, Rami Bahsoon, and Xin Yao. 2020. Synergizing Domain Expertise with Self-Awareness in Software Systems: A Patternized Architecture Guideline. Proc. IEEE, in pres

    ExTrA: Explaining architectural design tradeoff spaces via dimensionality reduction

    Get PDF
    In software design, guaranteeing the correctness of run-time system behavior while achieving an acceptable balance among multiple quality attributes remains a challenging problem. Moreover, providing guarantees about the satisfaction of those requirements when systems are subject to uncertain environments is even more challenging. While recent developments in architectural analysis techniques can assist architects in exploring the satisfaction of quantitative guarantees across the design space, existing approaches are still limited because they do not explicitly link design decisions to satisfaction of quality requirements. Furthermore, the amount of information they yield can be overwhelming to a human designer, making it difficult to see the forest for the trees. In this paper we present ExTrA (Explaining Tradeoffs of software Architecture design spaces), an approach to analyzing architectural design spaces that addresses these limitations and provides a basis for explaining design tradeoffs. Our approach employs dimensionality reduction techniques employed in machine learning pipelines like Principal Component Analysis (PCA) and Decision Tree Learning (DTL) to enable architects to understand how design decisions contribute to the satisfaction of extra-functional properties across the design space. Our results show feasibility of the approach in two case studies and evidence that combining complementary techniques like PCA and DTL is a viable approach to facilitate comprehension of tradeoffs in poorly-understood design spaces

    Supporting the Discovery, Reuse, and Validation of Cybersecurity Requirements at the Early Stages of the Software Development Lifecycle

    Get PDF
    The focus of this research is to develop an approach that enhances the elicitation and specification of reusable cybersecurity requirements. Cybersecurity has become a global concern as cyber-attacks are projected to cost damages totaling more than $10.5 trillion dollars by 2025. Cybersecurity requirements are more challenging to elicit than other requirements because they are nonfunctional requirements that requires cybersecurity expertise and knowledge of the proposed system. The goal of this research is to generate cybersecurity requirements based on knowledge acquired from requirements elicitation and analysis activities, to provide cybersecurity specifications without requiring the specialized knowledge of a cybersecurity expert, and to generate reusable cybersecurity requirements. The proposed approach can be an effective way to implement cybersecurity requirements at the earliest stages of the system development life cycle because the approach facilitates the identification of cybersecurity requirements throughout the requirements gathering stage. This is accomplished through the development of the Secure Development Ontology that maps cybersecurity features and the functional features descriptions in order to train a classification machine-learning model to return the suggested security requirements. The SD-SRE requirements engineering portal was created to support the application of this research by providing a platform to submit use case scenarios and requirements and suggest security requirements for the given system. The efficacy of this approach was tested with students in a graduate requirements engineering course. The students were presented with a system description and tasked with creating use case scenarios using the SD-SRE portal. The entered models were automatically analyzed by the SD-SRE system to suggest the security requirements. The results showed that the approach can be an effective approach to assist in the identification of security requirements

    A Proposed Method to Identify Requirements Significant to Mass Reduction

    Get PDF
    Reducing the mass of engineering products holds the potential for significant benefits by reducing material costs, environmental impact, transportation costs, and in the case of vehicles, reducing fuel consumption. While there are many approaches for reducing mass, analyzing requirements has the greatest potential since requirements definition is the earliest phase of product development, where the most design freedom exists. This thesis proposes a requirement analysis method that identifies requirements that impact significant amounts of mass. The research hypothesis is: Engineering requirements can be represented and processed in a systematic manner and linked to physical components and systems, thus enabling mass reduction in reverse engineering and product redesign. The approach proposed in this research follows. Engineering requirements are linked to mass through the creation of a standard requirement statement using pre-processing rules and syntax rules. These rules and guidelines are applicable to authoring new requirements and analyzing existing requirements documentation. The processed engineering requirements are linked to physical components and assemblies based on how the requirements affect the components. These relationships are captured in Design Structure Matrices (DSMs) and Domain Mapping Matrices (DMMs). These DMMs and DSMs are used to attain the amount of mass each requirement affects and the level of coupling of each requirement. Further, representations of the requirements, components, and associated relationships are represented using two software tools. First, a systems engineering tool is used to model the system. Second, this model is exported to a traditional spreadsheet application to perform basic mathematical and data filtering functions. Finally, the method is demonstrated on three subsystems of Family of Medium Tactical Vehicle (FMTV) truck

    Pharmaceutical product modularization as a mass customization strategy to increase patient benefit cost-efficiently

    Get PDF
    Customized pharmaceutical products aim to comply with the individual needs of a patient to enhance the treatment outcome. The current pharmaceutical production paradigm is, however, dominated by mass production, where the pharmaceutical products embrace a one-size-fits-all design with a low possibility of treatment optimization to patient needs. This production paradigm is not designed or intended for customized pharmaceutical products and operating this production context for customized pharmaceutical products is argued to be cost-inefficient. To address this challenge of inefficient production of customized pharmaceutical products, this study proposes an approach to modular pharmaceutical product design. As a mass customization strategy, product modularization enables serving customers with customized products cost-efficiently. The proposed modular pharmaceutical products integrate three product design requirements originating from patient needs: a scalable dose strength, a flexible target release profile, and a scalable treatment size. An approach to assess the value of these product designs is presented, by means of proposing three benefit metrics complying with respective design requirements and a cost metric assessing the cost of producing these modular pharmaceutical product designs. Results suggest that pharmaceutical product modularization can, by keeping the number of produced components low, substantially increase the external product variety and, hence, enhance the treatment outcome of patients. Fur-thermore, results indicate that the achieved benefit for the patient through product modularization increases beyond additional costs arising during production. However, a careful modularization must be performed to optimize the tradeoff between the increased benefit and cost
    • …
    corecore