首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
组件容器为组件提供部署和运行环境,是基于组件的分布式应用开发的核心。近年来,开发网构软件的需求驱动着组件技术持续改进,新型组件不断涌现,这对组件容器的开发效率提出更高的要求。因此,在组件容器开发过程中大规模复用已有的软件资产变得非常重要。在许多情况下,产品线工程已被证实是有效的系统化复用的工程方法。首先探讨将产品线工程应用于组件容器开发所面临的主要困难,并提出相应的解决方案;然后给出了一个组件容器的产品线——PLACE的设计,解释了其两个主要部分:产品线体系结构和产品派生流程;最后,通过一个实际案例,展示利用PLACE设计开发组件容器的完整过程,结果证实体系结构和源代码的复用性都有一定程度的提高。  相似文献   

2.
A software product line is a family of products that share common features to meet the needs of a market area. Systematic processes have been developed to dramatically reduce the cost of a product line. Such product‐line engineering processes have proven practical and effective in industrial use, but are not widely understood. The Family‐Oriented Abstraction, Specification and Translation (FAST) process has been used successfully at Lucent Technologies in over 25 domains, providing productivity improvements of as much as four to one. In this paper, we show how to use FAST to document precisely the key abstractions in a domain, exploit design patterns in a generic product‐line architecture, generate documentation and Java code, and automate testing to reduce costs. The paper is based on a detailed case study covering all aspects from domain analysis through testing. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

3.
Promoting software reuse is probably the most promising approach to the cost‐effective development and evolution of quality software. An example of reuse is the successful adoption of software product families in industry. In a product family context, software architects anticipate product variation and design architectures that support product derivation in both space (multiple contexts) and time (changing contexts). Product derivation is based on the concept of variability: a single architecture and a set of components support a family of products. Modern software product families need to support increasing amounts of variability, leading to a situation where variability engineering becomes of primary concern. Variability is often introduced as an ‘add‐on’ to the system without taking the consequences for more than one lifecycle phase such as design or architecture into account. This paper (1) suggests a Variability Categorization and Classification Model (VCCM) for representing variability in the software lifecycle and (2) discusses a case study of a large‐scale software product family of Magnetic Resonance Imaging (MRI) scanners developed by Philips Medical Systems. The study illustrates how variability can be made an integral part of system development at different levels of abstraction. VCCM has been applied to the scanner family as an analysis tool. Copyright © 2003 John Wiley & Sons, Ltd.  相似文献   

4.
Capturing quality requirements of product family architecture   总被引:1,自引:0,他引:1  
Software quality is one of the major issues with software intensive systems. Moreover, quality is a critical success factor in software product families exploiting shared architecture and common components in a set of products. Our contribution is the QRF (Quality Requirements of a software Family) method, which explicitly focuses on how quality requirements have to be defined, represented and transformed to architectural models. The method has been applied to two experiments; one in a laboratory environment and the other in industry. The use of the QRF method is exemplified by the Distribution Service Platform (DiSeP), the laboratory experiment. The lessons learned are also based on our experiences of applying the method in industrial settings.  相似文献   

5.
Mobile terminals have evolved from basic portable telephones to complex and diverse devices that encompass dozens of other features, ranging from tri‐dimensional games to office suites with data transmission capabilities. Variability is value: mobile terminal manufacturers must succeed in fulfilling the requirements of hundreds of mobile telecom operators worldwide, and at the same time increase the value of their brand by adopting a common user interface style while offering the features that the target end‐user category desires. This makes for practically infinite variability and creates a business problem. The complexity of the variability problem increases due to issues such as the ability to ‘plug and play’ and ‘feature descension’ (the down‐scaling of high‐end features and their introduction into lower‐end models). The main lesson we have learned from our experience in this field is that the application of relatively simple architectural patterns usually eases up management of the complexity at the architectural level. However, tackling the variability problem at the technical level is ineffective unless the organization is able to ensure the application of the solutions. We analyze the main challenges that lie behind the variability problem in mobile terminals, at both technical and organizational level, and illustrate some of the solutions we have implemented together with our product developers and system architects. Our experience calls for more applied research in the area of variability management, as well as for a number of enhancements to academic curricula. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

6.
领域需求之间的依赖关系对软件产品线的体系结构有很大的影响,在已有的面向特征的管理产品线需求依赖的方法中很少有研究从需求到产品线体系结构的映射.基于一种特征依赖的分类方法,提出了从领域需求到特征,以及从特征到产品线体系结构的映射规则.通过这些映射规则,一致的需求通过映射得到一致的产品线核心资产,从而减少产品线中核心资产的不一致性并增加产品线的复用程度.用金融领域的现货交易产品线作为实例说明这个方法的实用性.  相似文献   

7.
Software performance is an important non-functional quality attribute and software performance evaluation is an essential activity in the software development process. Especially in embedded real-time systems, software design and evaluation are driven by the needs to optimize the limited resources, to respect time deadlines and, at the same time, to produce the best experience for end-users. Software product family architectures add additional requirements to the evaluation process. In this case, the evaluation includes the analysis of the optimizations and tradeoffs for the whole products in the family. Performance evaluation of software product family architectures requires knowledge and a clear understanding of different domains: software architecture assessments, software performance and software product family architecture. We have used a scenario-driven approach to evaluate performance and dynamic memory management efficiency in one Nokia software product family architecture. In this paper we present two case studies. Furthermore, we discuss the implications and tradeoffs of software performance against evolvability and maintenability in software product family architectures.  相似文献   

8.
The notion of product families is becoming more and more popular, both in research and in industry. Every product family initiative that is started within a company has its own context, such as a particular business strategy and a particular application domain. Each product family has its own specific characteristics that have to fit in with its context. In this paper we will describe two dimensions for classifying product families. The first dimension deals with the coverage of the product family platform. Platform coverage deals with the proportion of the functionality provided by the platform, and the additional functionality needed to derive a specific product within the product family. The second dimension deals with the variation mechanisms that are used to derive a specific product from the generic platform. The coverage of the platform and the variation mechanisms used are not totally unrelated. We will discuss various types of platform coverage and variation mechanisms, including their characteristics. These two dimensions are based on experience gained with a number of product families. We will look at four of these in greater detail to illustrate our ideas. We believe that these dimensions will aid the classification of product families. This will both facilitate the selection of a new product family approach for a particular context, and support the evaluation of existing product families. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

9.
针对软件开发早期阶段软件资源重用进展缓慢,反射机制在代码重用方面取得成功但还没有用于软件体系结构及其组成元素的重用等问题,提出一种支持软件体系结构设计时重用的反射机制,概述基于反射机制的软件体系结构重用方法。给出基于反射机制的软件体系结构重用的支撑工具ArchBean Studio的设计和实施过程。利用该方法,设计人员通过重用软件体系结构及其组成元素能高效地完成软件设计任务。  相似文献   

10.
基于组件模型分析的组件容器产品线体系结构   总被引:3,自引:0,他引:3  
组件容器为组件提供部署和运行环境,是基于组件分布式应用开发的核心.近年来分布式组件的多样化和快速演化对组件容器的开发方法提出了挑战.产品线工程是基于公共的核心资产开发特定领域内软件产品系列的软件工程方法,产品线体系结构是其中最重要的部分.进行组件容器产品线体系结构的研究能够提高组件容器的结构复用性,获得更高的生产效率和质量.由于组件模型是组件容器设计的基础,在领域分析阶段引入组件模型分析,提出了组件模型分析框架,通过组件模型元素到领域需求元素的映射,建立组件容器领域模型.提出了组件容器设计的基本原则,并根据变化性封装原则,提出了组件容器产品线体系结构PLACE,通过引入可选属性、模块层次结构和决策模型,实现组件容器的领域需求.PLACE产品线体系结构已在网驰平台的多个组件容器设计中得到应用.  相似文献   

11.
D Faust  C Verhoef 《Software》2003,33(10):933-955
We describe a method to migrate multiple instances of a successful single information system to a product line. The deployed product line is able to deal with the variants evolved over time in a cost‐effective manner. We proposed and used federated architectures that partition the software into so‐called genericity layers. We argue that federated architectures are at the heart of product lines, and we provide compelling arguments as to why federated architectures are a sound weapon in today's corporate strategy: they enable smooth enterprise integration and rapid change. We support our arguments with a real‐world case: we successfully migrated a large global transaction and settlement system with many site‐specific variations to a product line with a federated architecture. Moreover, we measured the success rate of this architectural modification effort by showing that the annual direct cost savings are of the order of millions of dollars during the deployment of the product line. Copyright © 2003 John Wiley & Sons, Ltd.  相似文献   

12.
软件实现阶段的重用技术,特别是组件重用技术已经取得了巨大的进展。然而,对于软件开发早期阶段的软件资源的重用却进展缓慢。软件体系结构在软件重用中有着特殊的意义。反射机制在代码重用方面取得了成功,但还没有用于软件体系结构及其组成元素的重用。提出了一种支持软件体系结构设计时重用的反射机制,概述了基于反射机制的软件体系结构重用方法。详细说明了反射机制RMRSA的元级体系结构模型和基级体系结构模型,描述了元级软件体系结构和基级软件体系结构之间进行交互和互操作的协议PMB,以及反射机制RMRSA支持软件体系结构重用的过程。利用所提出的基于反射机制的重用方法,设计人员在软件设计阶段,通过重用体系结构及其组成元素来高效地完成软件计任务。  相似文献   

13.
面向大规模定制的软件开发模式   总被引:18,自引:0,他引:18  
在领域工程、基于构件的软件工程和并行工程的基础上,提出了面向大规模定制的软件开发模式。该模式以大规模开发标准软件的效益满足用户的个性化需求。介绍了面向大规模定制的软件开发过程,面向大规模定制的软件产品族体系结构,以及面向大模型定制软件开发的产品集成过程模型。最后介绍了一种面向大规模定制的敏捷软件开发组织。  相似文献   

14.
软件产品线是一组具有可管理的公共特性的产品集合。选取网络办公自动化(OA)系统作为特定的研究领域,在分析此领域中产品的共性后,给出了OA系统软件产品线的实现方法。具体描述了OA系统产品线的需求工程,OA系统产品线核心资产的提取,并以科技项目管理系统为例说明了如何将核心资产应用到具体的产品开发中。  相似文献   

15.
Reasoning about software systems at the architectural level is key to effective software development, management, evolution and reuse. All too often, though, the lack of appropriate documentation leads to a situation where architectural design information has to be recovered directly from implemented software artifacts. This is a very demanding process, particularly when involving recovery of runtime abstractions (clients, servers, interaction protocols, etc.) that are typical to the design of distributed software systems. This paper presents an exploratory reverse engineering approach, called X-ray, to aid programmers in recovering architectural runtime information from a distributed system's existing software artifacts. X-ray comprises three domain-based static analysis techniques, namely component module classification, syntactic pattern matching, and structural reachability analysis. These complementary techniques can facilitate the task of identifying a distributed system's implemented executable components and their potential runtime interconnections. The component module classification technique automatically distinguishes source code modules according to the executables components they implement. The syntactic pattern matching technique in turn helps to recognise specific code fragments that may implement typical component interaction features. Finally, the structural reachability analysis technique aids in the association of those features to the code specific for each executable component. The paper describes and illustrates the main concepts underlying each technique, reports on their implementation as a suit of new and off-the-shelf tools, and, to give evidence of the utility of the approach, provides a detailed account of a successful application of the three techniques to help recover a static approximation of the runtime architecture for Field, a publicly-available distributed programming environment.  相似文献   

16.
Development of software product families relies heavily on the use of variability to manage the differences between products by delaying design decisions to later stages of the development and usage of the constructed software systems. Implementation of variability is not a trivial task, and is governed by a number of factors. In this paper, we describe the factors that are relevant in determining how to implement variability, and present a taxonomy of variability realization techniques. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

17.
Product family design utilizes platform-based modularity to enable product variety and efficient mass-production. While product platform issues have attracted much attention from both academia and industry, traditional product platform design for product families emphasized the platform-based modularity that focuses on product structure dimension (functional or non-functional) to realize cost reductions during the design stage. Both the design architecture and manufacturing process are objectives that define product family modularity (PFM). They should be closely coupled with each other for the planning and configuration of platforms. This paper focuses on the product platform configuration by recognizing and utilizing shared product modules for product families. Instead of clustering product modules only based on their design structure, this approach differentiates each product variant, and considers the inherent relationship between product architecture and processing activities. The advantage is that similar components can be grouped and produced on a shared platform, thus benefitting from lower cost and shorter production time. First, both the architecture and manufacturing information of the product variety are captured in matrix format. Then, hierarchical clustering is applied over the components to generate PFM. Finally, a set of platforms are constructed to efficiently process most components of variants.  相似文献   

18.
赵恒  叶俊民  王振宇 《计算机工程》2007,33(16):17-19,22
分析了当前软件体系结构研究对软件开发支持存在的不足,将软件体系结构求精技术引入大型复杂系统软件体系结构设计与开发过程中,结合抽象层次和层次视图,提出了一个基于求精的软件体系结构设计方法——ARSADM,给出了其关键步骤和过程,用于指导软件体系结构的正确设计。  相似文献   

19.
This paper describes a recommendation system that provides refactoring guidelines for maintainers when tackling architectural erosion. The paper formalizes 32 refactoring recommendations to repair violations raised by static architecture conformance checking approaches; it describes a tool—called ArchFix—that triggers the proposed recommendations; and it evaluates the application of this tool in two industrial‐strength systems. For the first system—a 21 KLOC open‐source strategic management system—our approach has indicated correct refactoring recommendations for 31 out of 41 violations detected as the result of an architecture conformance process. For the second system—a 728 KLOC customer care system used by a major telecommunication company—our approach has triggered correct recommendations for 624 out of 787 violations, as asserted by the system's architect. Moreover, the architects have scored 82% of these recommendations as having moderate or major complexity. Copyright © 2013 John Wiley & Sons, Ltd.  相似文献   

20.
产品线体系结构需要支持多种变化性以满足其内部成员特性,因而是重要又复杂的软件产品线子系统。本文通过分析产品线体系结构的vADL规约,充分考虑产品线体系结构变化性对其复杂性度量的影响,生成产品线体系结构信息流图PLA—IFG,基于PLA—IFG,实现自动化度量产品线体系结构复杂性,提出了支持变化性的产品线体系结构复杂性度量方法。  相似文献   

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

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