首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
Requirements engineering (RE) offers the means to discover, model, and manage the requirements of the products that comprise a product line, while software product line engineering (SPLE) offers the means of realizing the products’ requirements from a common base of software assets. In practice, however, RE and SPLE have proven to be less complementary than they should. While some RE techniques, particularly goal modeling, support the exploration of alternative solutions, the appropriate solution is typically conditional on context and a large product line may have many product-defining contexts. Thus, scalability and traceability through into product line features are key challenges for RE. Feature modeling, by contrast, has been widely accepted as a way of modeling commonality and variability of products of a product line that may be very complex. In this paper, we propose a goal-driven feature modeling approach that separates a feature space in terms of problem space and solution space features, and establish explicit mappings between them. This approach contributes to reducing the inherent complexity of a mixed-view feature model, deriving key engineering drivers for developing core assets of a product line, and facilitating the quality-based product configuration.  相似文献   

2.
Software product line engineering is about producing a set of similar products in a certain domain. A variability model documents the variability amongst products in a product line. The specification of variability can be extended with quality information, such as measurable quality attributes (e.g., CPU and memory consumption) and constraints on these attributes (e.g., memory consumption should be in a range of values). However, the wrong use of constraints may cause anomalies in the specification which must be detected (e.g., the model could represent no products). Furthermore, based on such quality information, it is possible to carry out quality-aware analyses, i.e., the product line engineer may want to verify whether it is possible to build a product that satisfies a desired quality. The challenge for quality-aware specification and analysis is threefold. First, there should be a way to specify quality information in variability models. Second, it should be possible to detect anomalies in the variability specification associated with quality information. Third, there should be mechanisms to verify the variability model to extract useful information, such as the possibility to build a product that fulfils certain quality conditions (e.g., is there any product that requires less than 512?MB of memory?). In this article, we present an approach for quality-aware analysis in software product lines using the orthogonal variability model (OVM) to represent variability. We propose to map variability represented in the OVM associated with quality information to a constraint satisfaction problem and to use an off-the-shelf constraint programming solver to automatically perform the verification task. To illustrate our approach, we use a product line in the automotive domain which is an example that was created in a national project by a leading car company. We have developed a prototype tool named FaMa-OVM, which works as a proof of concepts. We were able to identify void models, dead and false optional elements, and check whether the product line example satisfies quality conditions.  相似文献   

3.
Many organizations aspire to adopt agile processes to take advantage of the numerous benefits that they offer to an organization. Those benefits include, but are not limited to, quicker return on investment, better software quality, and higher customer satisfaction. To date, however, there is no structured process (at least that is published in the public domain) that guides organizations in adopting agile practices. To address this situation, we present the agile adoption framework and the innovative approach we have used to implement it. The framework consists of two components: an agile measurement index, and a four-stage process, that together guide and assist the agile adoption efforts of organizations. More specifically, the Sidky Agile Measurement Index (SAMI) encompasses five agile levels that are used to identify the agile potential of projects and organizations. The four-stage process, on the other hand, helps determine (a) whether or not organizations are ready for agile adoption, and (b) guided by their potential, what set of agile practices can and should be introduced. To help substantiate the “goodness” of the Agile Adoption Framework, we presented it to various members of the agile community, and elicited responses through questionnaires. The results of that substantiation effort are encouraging, and are also presented in this paper.  相似文献   

4.
This paper presents a case study of a software product company that has successfully integrated practices from software product line engineering and agile software development. We show how practices from the two fields support the company’s strategic and tactical ambitions, respectively. We also discuss how the company integrates strategic, tactical and operational processes to optimize collaboration and consequently improve its ability to meet market needs, opportunities and challenges. The findings from this study are relevant to software product companies seeking ways to balance agility and product management. The findings also contribute to research on industrializing software engineering.  相似文献   

5.
ContextThe agile development paradigm has been extensively adopted in the industry. This adoption is highly dependent on the knowledge and good practices applied by most experienced practitioners in organizations. Hence, it would be valuable to count on appropriate support to preserve and systematically use this expert knowledge in configuring agile development processes aligned with organizational standards.ObjectiveThis paper presents a model-driven approach for representing and selecting good practices to configure agile practices in development processes aligned with organizational development practices and quality standards.MethodWe define a conceptual approach for configuring agile development processes that fulfills enterprise good practices and external quality standards. This approach was implemented in a tool suite and applied to an industrial development scenario related to ISO 9001 certification.ResultsThe approach was implemented in a model-driven tool that provides automatic support for identifying good practices when configuring agile development processes. The tool also verifies consistency with development methods and quality standards, such as ISO 9001.ConclusionsThe results obtained from the industrial application indicate that practitioners can reuse expert knowledge to configure agile development processes aligned with quality certifications. Moreover, the approach also facilitates the tailoring of agile practices into concrete development processes that take advantage of organizational good practices.  相似文献   

6.
Domain models can be constructed more easily and made more robust by reusing ontologies in a well-defined way. In this paper the KARO approach is introduced which provides various means of retrieving and adapting components of an ontology as part of a domain model construction process. KARO is based on the knowledge-processing component LILOG-KR provided by the LILOG text-understanding system. Above all, the notion of classification is applied for the retrieval of relevant categories. The upper structure of LILOG-KB serves as an exemplary ontology. By integrating KARO into the Model-based and Incremental Knowledge Engineering Environment (MIKE) the reuse of a predefined ontology can be integrated into the development process of expert systems in a systematic way.  相似文献   

7.
一种基于UML的软件产品线可变性建模方法   总被引:2,自引:0,他引:2  
罗代忠  赵文耘  彭鑫 《计算机应用》2008,28(8):2137-2140
将UML引入到软件产品线开发中,在产品线可变性分析的基础上,提出了一种基于UML的产品线可变性建模方法。该方法不仅支持可选、多选一等可变点类型的描述,还支持软件产品线可变性的约束建模。在此基础上,还通过一个手机应用软件的产品线可变性建模实例验证了该方法的有效性。  相似文献   

8.
This paper proposes a new style of product line engineering methods. It focuses on constructing embedded systems that take into account the contexts such as the external physical environments. In current product line development projects, Feature Analysis is mainly conducted from the viewpoint of system configurations: how hardware and software components are configured to constitute a system. In most cases, contexts are not considered explicitly. As a result, unexpected and unfavorable behavior might emerge in a system if a developer does not recognize any possible conflicting combinations between the system and contexts. To deal with this problem, this paper provides the notion of a context-dependent product line, which is composed of the system and context lines. The former is obtained by analyzing a family of systems. The latter is obtained by analyzing features of contexts associated to the systems. The system and context lines contain reusable core assets. The configuration of selected system components and contexts can be formally checked at the specification level. In this paper, we show a development process that includes the creation of both product line assets as well as context assets.  相似文献   

9.
In the recent past, software product line engineering has become one of the most promising practices in software industry with the potential to substantially increase the software development productivity. Software product line engineering approach spans the dimensions of business, architecture, software engineering process and organization. The increasing popularity of software product line engineering in the software industry necessitates a process maturity evaluation methodology. Accordingly, this paper presents a business maturity model of software product line, which is a methodology to evaluate the current maturity of the business dimension of a software product line in an organization. This model examines the coordination between product line engineering and the business aspects of software product line. It evaluates the maturity of the business dimension of software product line as a function of how a set of business practices are aligned with product line engineering in an organization. Using the model presented in this paper, we conducted two case studies and reported the assessment results. This research contributes towards establishing a comprehensive and unified strategy for a process maturity evaluation of software product lines.  相似文献   

10.
Product line engineering (PLE) is a new effective approach to software reuse, where applications are generated by instantiating a core asset which is a large-grained reuse unit. Hence, a core asset is a key element of PLE, and therefore the reusability of the core asset largely determines the success of PLE projects. However, current quality models to evaluate reusability do not adequately address the unique characteristics of core assets in PLE. This paper proposes a comprehensive framework for evaluating the reusability of core assets. We first identify the key characteristics of core assets, and derive a set of quality attributes that characterizes the reusability of core assets. Then, we define metrics for each quality attribute and finally present practical guidelines for applying the evaluation framework in PLE projects. Using the proposed framework, the reusability of core assets can be more effectively and precisely evaluated.  相似文献   

11.
Nowadays, it is becoming more frequent for engineers to deal with problems and situations that require specific software and the commercially available applications may not result adequate. Because of this, the reuse of software components is becoming a normal practice for improving the productivity of the software programmers, and the quality of the products that they develop. The employment of reusable components presents a number of advantages, such as the reduction in time necessary to develop new software, or the simplification of many computational tasks.There are some proprietary software environments in the engineering domain that are practically de facto standards, since they offer a broad functionality, robustness and constant updating. Therefore, those environments could be ideal candidates to be reusable components when developing new software. An example of this is Matlab, which can be encapsulated, in order to use it as a true reusable component. This will provide the user with efficient tools for designing his/her own applications.Moreover, there is an increasing importance for any software to offer distributed services. To perform this task, it is fundamental to have at one’s disposal reusable components that support Internet-based distributed applications and services development.In the present work, a software component framework that effectively encapsulates Matlab is described. This software allows developers the reuse of Matlab, for both local and distributed applications. To address those issues the .NET technology was employed. The component framework developed can be integrated in the toolbars of software development environments supporting the .NET framework. This facilitates the construction of applications that can reuse the components, since the software developers can use and test them and change their properties in design-time.  相似文献   

12.
The development of complex products, such as automobiles, involves engineering changes that frequently require redesigning or altering the products. Although it has been found that efficient management of knowledge and collaboration in engineering changes is crucial for the success of new product development, extant systems for engineering changes focus mainly on storing documents related to the engineering changes or simply automating the approval processes, while the knowledge that is generated from collaboration and decision-making processes may not be captured and managed easily. This consequently limits the use of the systems by the participants in engineering change processes. This paper describes a model for knowledge management and collaboration in engineering change processes, and based on the model, builds a prototype system that demonstrates the model’s strengths. We studied a major Korean automobile company to analyze the automobile industry’s unique requirements regarding engineering changes. We also developed domain ontologies from the case to facilitate knowledge sharing in the design process. For achieving efficient retrieval and reuse of past engineering changes, we used a case-based reasoning (CBR) with a concept-based similarity measure.
Hong Joo LeeEmail:
  相似文献   

13.
Software product line engineering seeks to systematise reuse when developing families of similar software systems so as to minimise development time, cost and defects. To realise variability at the code level, product line methods classically advocate usage of inheritance, components, frameworks, aspects or generative techniques. However, these might require unaffordable paradigm shifts for developers if the software was not thought at the outset as a product line. Furthermore, these techniques can be conflicting with a company’s coding practices or external regulations. These concerns were the motivation for the industry–university collaboration described in this paper in which we developed a minimally intrusive coding technique based on tags. The approach was complemented with traceability from code to feature diagrams which were exploited for automated configuration. It is supported by a toolchain and is now in use in the partner company for the development of flight-grade satellite communication software libraries.  相似文献   

14.
With the ever-increasing demand for personalized product functions, product structure becomes more and more complex. To design a complex engineering product, it involves mechanical, electrical, automation and other relevant fields, which requires a closer multidisciplinary collaborative design (MCD) and integration. However, the traditional design method lacks multidisciplinary coordination, which leads to interaction barriers between design stages and disconnection between product design and prototype manufacturing. To bridge the gap, a novel digital twin-enabled MCD approach is proposed. Firstly, the paper explores how to converge the MCD into the digital design process of complex engineering products in a cyber-physical system manner. The multidisciplinary collaborative design is divided into three parts: multidisciplinary knowledge collaboration, multidisciplinary collaborative modeling and multidisciplinary collaborative simulation, and the realization methods are proposed for each part. To be able to describe the complex product in a virtual environment, a systematic MCD framework based on the digital twin is further constructed. Integrate multidisciplinary collaboration into three stages: conceptual design, detailed design and virtual verification. The ability to verify and revise problems arising from multidisciplinary fusions in real-time minimizes the number of iterations and costs in the design process. Meanwhile, it provides a reference value for complex product design. Finally, a design case of an automatic cutting machine is conducted to reveal the feasibility and effectiveness of the proposed approach.  相似文献   

15.
A knowledge engineering approach to knowledge management   总被引:4,自引:0,他引:4  
Lien F. Lai 《Information Sciences》2007,177(19):4072-4094
Knowledge management facilitates the capture, storage, and dissemination of knowledge using information technology. Methods for managing knowledge have become an important issue in the past few decades, and the KM community has developed a wide range of technologies and applications for both academic research and practical applications. In this paper, we propose a knowledge engineering approach (KMKE) to knowledge management. First, a knowledge modeling approach is used to organize and express various types of knowledge in a unified knowledge representation. Second, a verification mechanism is used to verify knowledge models based on the formal semantics of the knowledge representation. Third, knowledge models are classified and stored in a hierarchical ontology system. Fourth, a knowledge query language is designed to enhance the dissemination of knowledge. Finally, a knowledge update process is applied to modify the knowledge storage with respect to users’ needs. A knowledge management system for computer repair is used as an illustrative example.  相似文献   

16.
Software product line engineering is a paradigm that advocates the reusability of software engineering assets and the rapid development of new applications for a target domain. These objectives are achieved by capturing the commonalities and variabilities between the applications of the target domain and through the development of comprehensive and variability-covering feature models. The feature models developed within the software product line development process need to cover the relevant features and aspects of the target domain. In other words, the feature models should be elaborate representations of the feature space of that domain. Given that feature models, i.e., software product line feature models, are developed mostly by domain analysts by sifting through domain documentation, corporate records and transcribed interviews, the process is a cumbersome and error-prone one. In this paper, we propose a decision support platform that assists domain analysts throughout the domain engineering lifecycle by: (1) automatically performing natural language processing tasks over domain documents and identifying important information for the domain analysts such as the features and integrity constraints that exist in the domain documents; (2) providing a collaboration platform around the domain documents such that multiple domain analysts can collaborate with each other during the process using a Wiki; (3) formulating semantic links between domain terminology with external widely used ontologies such as WordNet in order to disambiguate the terms used in domain documents; and (4) developing traceability links between the unstructured information available in the domain documents and their formal counterparts within the formal feature model representations. Results obtained from our controlled experimentations show that the decision support platform is effective in increasing the performance of the domain analysts during the domain engineering lifecycle in terms of both the coverage and accuracy measures.  相似文献   

17.

Context

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.

Objective

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.

Method

The proposed method extends the core requirements engineering ontology with the notions to represent variability-intensive problem decomposition and evolution. On the basis of problemorientation, the analysis method identifies candidate changes, detects influenced features, and evaluates their contributions to the value of the SPL.

Results and Conclusion

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.  相似文献   

18.
Few agricultural producers utilize the true analytical power of GIS and computer simulation models, partly because the loose linkages developed to-date between GIS and most public-domain modeling software are extremely cumbersome to use. The integrated system (EPIC–View) developed in the study allows the integration of a comprehensive hydrologic–crop management model (EPIC) with a desktop GIS to function as a planning tool aimed at implementing sustainable farm management practices. The use of GIS makes possible the integration of diverse spatial data into a comprehensive spatial database. EPIC–View is applied to simulate nitrogen (N) dynamics under conventional and minimum tillage conditions of a field located in Caddo County, Oklahoma. In general, the overall N balance obtained under minimum tillage is better than the balance obtained under conventional tillage over a 5-year model run. Unexplained losses of N averaged 9.55% and 4.2% of the gain in N under conventional and minimum tillage respectively. The integrated modeling system holds immense potential as a farm management tool. Various components of a sustainable agricultural system including irrigation management, crop management, soil management, and pest management, can be efficiently managed. This approach could make farms more economically viable and ecologically sound.  相似文献   

19.
Service orientation (SO) is a relevant promising candidate for accommodating rapidly changing user needs and expectations. One of the goals of adopting SO is the improvement of reusability, however, the development of service-based system in practice has uncovered several challenging issues, such as how to identify reusable services, how to determine configurations of services that are relevant to users’ current product configuration and context, and how to maintain service validity after configuration changes. In this paper, we propose a method that addresses these issues by adapting a feature-oriented product line engineering approach. The method is notable in that it guides developers to identify reusable services at the right level of granularity and to map users’ context to relevant service configuration, and it also provides a means to check the validity of services at runtime in terms of invariants and pre/post-conditions of services. Moreover, we propose a heterogeneous style based architecture model for developing such systems.  相似文献   

20.
The current competitive industrial context requires more flexible, intelligent and compact product lifecycles, especially in the product development process where several lifecycle issues have to be considered, so as to deliver lifecycle oriented products. This paper describes the application of a novel product relationships management approach, in the context of product lifecycle management (PLM), enabling concurrent product design and assembly sequence planning. Previous work has provided a foundation through a theoretical framework, enhanced by the paradigm of product relational design and management. This statement therefore highlights the concurrent and proactive aspect of assembly oriented design vision. Central to this approach is the establishment and implementation of a complex and multiple viewpoints of product development addressing various stakeholders design and assembly planning points of view. By establishing such comprehensive relationships and identifying related relationships among several lifecycle phases, it is then possible to undertake the product design and assembly phases concurrently. Specifically, the proposed work and its application enable the management of product relationship information at the interface of product-process data management techniques. Based on the theory, models and techniques such as described in previous work, the implementation of a new hub application called PEGASUS is then described. Also based on web service technology, PEGASUS can be considered as a mediator application and/or an enabler for PLM that externalises product relationships and enables the control of information flow with internal regulation procedures. The feasibility of the approach is justified and the associated benefits are reported with a mechanical assembly as a case study.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号