首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
2.
Information about the evolution of a software architecture can be found in the source basis of a project and in the release history data such as modification and problem reports. Existing approaches deal with these two data sources separately and do not exploit the integration of their analyses. In this paper, we present an architecture analysis approach that provides an integration of both kinds of evolution data. The analysis applies fact extraction and generates specific directed attributed graphs; nodes represent source code entities and edges represent relationships such as accesses, includes, inherits, invokes, and coupling between certain architectural elements. The integration of data is then performed on a meta-model level to enable the generation of architectural views using binary relational algebra. These integrated architectural views show intended and unintended couplings between architectural elements, hence pointing software engineers to locations in the system that may be critical for on-going and future maintenance activities. We demonstrate our analysis approach using a large open source software system.  相似文献   

3.
In this paper, we examine external failures and internal faults traceable to web software and source contents. We develop related defect and quality measurements based on different perspectives of customers, users, information or service hosts, maintainers, developers, integrators, and managers. These measurements can help web information and service providers with their quality assessment and improvement activities to meet the quality expectations of their customers and users. The different usages of our measurement framework by different stakeholders of web sites and web applications are also outlined and discussed. The data sources include existing web server logs and statistics reports, defect repositories from web application development and maintenance activities, and source files. We applied our approach to four diverse websites: one educational website, one open source software project website, one online catalog showroom for a small company, and one e-Commerce website for a large company. The results demonstrated the viability and effectiveness of our approach.  相似文献   

4.
5.
The advantages of migrating from traditional monolithic business applications to reusable object-based business components (self-contained software that carries out a certain business task) are well documented. A business system assembled from reusable components is argued to be highly reliable since these components have been tested and used in many other business applications. However, all possible uses of components are not known at design and construction stage. Additionally, integration testing is needed as components are assembled to make business application systems. Component-based software development requires that testing issues be addressed adequately. In this paper, we explore testing related issues in business components and in particular, business application systems that are made by integrating these components. An integration test strategy for business component application systems is proposed.  相似文献   

6.
李其锋  李兵 《计算机科学》2015,42(12):43-46
开源软件的开发主要依靠开发人员的自我管理和志愿贡献。在软件开发过程中,开发人员的组成、分工、能力等会发生经常性的改变,这些改变都会通过交互行为的变化反映出来。已有研究成果表明开源软件存在核心团队,他们主导项目的开发与实施,但对开发团队随时间而发生的结构变化的研究较少。通过观测软件项目生命周期中开发者总体的变化情况,研究了开发者网络与软件的协同演化机理,以GNU/Linux公共数据集为例,讨论了开源软件开发者数量、自愿度、开发者经验与项目的协同演化现象,并给出了演化的合理解释。  相似文献   

7.
For maintainers involved in understanding and reengineering large software, locating source code fragments that match certain patterns is a critical task. Existing solutions to the problem are few, and they either involve manual, painstaking scans of the source code using tools based on regular expressions, or the use of large, integrated software engineering environments that include simple pattern-based query processors in their toolkits. We present a framework in which pattern languages are used to specify interesting code features. The pattern languages are derived by extending the source programming language with pattern-matching symbols. We describe SCRUPLE, a finite state machine-based source code search tool, that efficiently implements this framework. We also present experimental performance results obtained from a SCRUPLE prototype, and the user interface of a source code browser built on top of SCRUPLE  相似文献   

8.
Developing systems by integrating Open Source Software (OSS) is increasingly gaining importance in the software industry. Although the literature claims that this approach highly impacts Requirements Engineering (RE) practices, there is a lack of empirical evidence to demonstrate this statement. To explore and understand problems and challenges of current system requirement–OSS component matching and mismatches resolution practices in software development projects that integrate one or more OSS components into their software products. Semi-structured in-depth interviews with 25 respondents that have performed RE activities in software development projects that integrate OSS components in 25 different software development companies in Spain, Norway, Sweden, and Denmark. The study uncovers 15 observations regarding system requirements-OSS components matching and mismatch resolution practices used in industrial projects that integrate OSS components. The assessed projects focused mainly on pre-release stages of software applications that integrate OSS components in an opportunistic way. The results also provide details of a set of previously unexplored scenarios when solving system requirement–OSS component mismatches; and clarify some challenges and related problems. For instance, although licensing issues and the potential changes in OSS components by their corresponding communities and/or changes in system requirements have been greatly discussed in the RE literature as problems for OSS component integration, they did not appear to be relevant in our assessed projects. Instead, practitioners highlighted the problem of getting suitable OSS component documentation/information.  相似文献   

9.
The cost of maintaining a software system over a long period of time far exceeds its initial development cost. Much of the maintenance cost is attributed to the time required by new developers to understand legacy systems. High-level structural information helps maintainers navigate through the numerous low-level components and relations present in the source code. Modularization tools can be used to produce subsystem decompositions from the source code but do not typically produce high-level architectural relations between the newly found subsystems. Controlling subsystem interactions is one important way in which the overall complexity of software maintenance can be reduced.We have developed a tool, called ARIS (Architecture Relation Inference System), that enables software engineers to define rules and relations for regulating subsystem interactions. These rules and relations are called Interconnection Styles and are definedusing a visual notation. The style definition is used by our tool to infer subsystem-level relations in designs being reverse engineered from source code.In this paper we describe our tool and its underlying techniques and algorithms. Using a case study, we describe how ARIS is used to reverse engineer high-level structural information from a real application.  相似文献   

10.
DeMIMA: A Multilayered Approach for Design Pattern Identification   总被引:1,自引:0,他引:1  
Design patterns are important in object-oriented programming because they offer design motifs, elegant solutions to recurrent design problems, which improve the quality of software systems. Design motifs facilitate system maintenance by helping to understand design and implementation. However, after implementation, design motifs are spread throughout the source code and are thus not directly available to maintainers. We present DeMIMA, an approach to identify semi-automatically micro-architectures that are similar to design motifs in source code and to ensure the traceability of these micro-architectures between implementation and design. DeMIMA consists of three layers: two layers to recover an abstract model of the source code, including binary class relationships, and a third layer to identify design patterns in the abstract model. We apply DeMIMA to five open-source systems and, on average, we observe 34% precision for the considered 12 design motifs. Through the use of explanation-based constraint programming, DeMIMA ensures 100% recall on the five systems. We also apply DeMIMA on 33 industrial components.  相似文献   

11.
针对开源GIS软件需要针对不同的应用场景和功能需求,筛选出多个软件进行组合集成应用的现状,为提升组合集成效率,按照典型的Web GIS系统的构建过程,从数据加工、数据存储、地图发布、空间分析、前端展示5个方面对常见的开源GIS软件进行整理分类。结合水利行业中所遇到的软硬件条件差异、网络环境不同、功能需求不同等方面,抽象出4个不同的应用场景,从功能、易用性、使用的广泛性和软件许可等几个方面进行筛选,构建软件的组合方案,提供系统案例,为开源GIS软件在水利行业中的应用提供指导作用。从应用结果看,4套方案覆盖了不同层次的应用需求,开发人员可依据需求快速准确确定解决方案,达到降低成本,快速构建相关GIS功能的目的。  相似文献   

12.
软件开发环境(SDE)是一种集成式的软件系统,用以辅助软件开发到维护的全部(或大部分)阶段的工作。为了提高测试开发效率,集成电路测试软件的开发同样需要配备一个SDE。本文以软件重用为技术依据,建立了一个开放结构的面向数据的增量测试软件开发环境TESSDE,不仅实现了一般SDE的基本功能,而且因其结构的开放性,使得TESSDE有相当的功能扩充潜力。按照文中的集成规则,TESSDE集成了诸多软部件以节  相似文献   

13.
面向集成化CAE软件开发的SiPESC研发工作进展   总被引:3,自引:1,他引:2  
针对我国自主CAE软件发展缓慢的事实,根据现代工程领域的科学研究和产品研发对CAE建模、分析和设计能力提出的需求,研发自主的面向CAE工程与科学计算集成化软件平台SiPESC(Software Integration Platform for Engineering and Scientific Computation...  相似文献   

14.
对基于嵌入式系统的RFID中间件进行了研究.该中间件架构在多个针对嵌入式系统的开源软件系统平台之上,系统中各组件通过环形缓存和守护进程之间的配合构成松散耦合关系,由ALE_Reporter模块完成EPCglobal的ALE标准规划的数据处理逻辑.这种软件架构方法可以缩短开发周期,使各模块基本保持原有面貌,利于将来对软件系统进行维护和扩展.  相似文献   

15.
The integration of a legacy system and a standard Object Management System (OMS) is often a very challenging task. This paper details a case study, our experiment in interfacing Oz with the PCTE (Portable Common Tool Environment) Object Management System. Oz is a multi-user process-centered software development environment that has been under development in our lab since 1987, originally under the name Marvel. PCTE is a specification that defines a language-independent interface providing support mechanisms for software engineering environments (SEE). One of the premises of PCTE is that, in theory, an SEE such as Oz can be built (or extended) using the services provided by PCTE. The purpose of our experiment was to study how a legacy system such as Oz can be integrated into a new environment framework, e.g., PCTE. The architecture of the legacy system and the services of the framework are the key factors in the integration approach. Because Oz historically has included a native OMS, our experiment focused on modifying Oz to use the PCTE OMS, which has an open and standard API. This paper describes how several Oz components were changed to interface to the PCTE OMS. The resulting proof-of-concept hybrid system has process control and integration services provided by Oz, and data integration services provided in part by PCTE. We discuss in depth the solutions to the concurrency control problems that arise in such an environment, where Oz and PCTE use different approaches to transaction management (i.e., each has its own transaction manager). The PCTE implementation used in our experiment was the Emeraude PCTE V 12.5.1, and the Oz version was V 1.0.1.  相似文献   

16.
The design of mechatronic systems is based on the integration of several disciplines, such as mechanical, electrical and software engineering. How to achieve an integrated multidisciplinary design during the development process of mechatronic systems has attracted the attention of both academia and industry. However, solutions which can fully solve this problem have not been proposed by now. The concept of multidisciplinary interface represents the logical or physical relationship integrating the components of the mechatronic system or the components with their environment. As the design of mechatronic systems is a multidisciplinary work, the multidisciplinary interface model can be considered as one of the most effective supports to aid designers for achieving the integrated multidisciplinary design during the development process. The paper presents a multidisciplinary interface model for design of mechatronic systems in order to enable the multidisciplinary integration among design team members from different disciplines. On the one hand, the proposed model ensures the consistency of interface defined by the designers. On the other hand, it helps the designers to guarantee the different components integrate correctly. The interface model including three concepts: classification, data model and compatibility rules. The multidisciplinary interface model is implemented by a case study based on a 3D measurement system.  相似文献   

17.
Much research on open source software development concentrates on developer lists and other software repositories to investigate what motivates professional software developers to participate in open source software projects. Little attention has been paid to individuals who spend valuable time in lists helping participants on some mundane yet vital project activities. Using three Debian lists as a case study we investigate the impact of knowledge brokers and their associated activities in open source projects. Social network analysis was used to visualize how participants are affiliated with the lists. The network topology reveals substantial community participation. The consequence of collaborating in mundane activities for the success of open source software projects is discussed. The direct beneficiaries of this research are in the identification of knowledge experts in open source software projects.  相似文献   

18.
19.
Source code comments are a valuable instrument to preserve design decisions and to communicate the intent of the code to programmers and maintainers. Nevertheless, commenting source code and keeping comments up-to-date is often neglected for reasons of time or programmers obliviousness. In this paper, we investigate the question whether developers comment their code and to what extent they add comments or adapt them when they evolve the code. We present an approach to associate comments with source code entities to track their co-evolution over multiple versions. A set of heuristics are used to decide whether a comment is associated with its preceding or its succeeding source code entity. We analyzed the co-evolution of code and comments in eight different open source and closed source software systems. We found with statistical significance that (1) the relative amount of comments and source code grows at about the same rate; (2) the type of a source code entity, such as a method declaration or an if-statement, has a significant influence on whether or not it gets commented; (3) in six out of the eight systems, code and comments co-evolve in 90% of the cases; and (4) surprisingly, API changes and comments do not co-evolve but they are re-documented in a later revision. As a result, our approach enables a quantitative assessment of the commenting process in a software system. We can, therefore, leverage the results to provide feedback during development to increase the awareness of when to add comments or when to adapt comments because of source code changes.  相似文献   

20.
简要介绍了Tapestry,Spring,Ibatis三种开源框架。根据这三种框架整合一种新的Web应用开发框架,这三种框架分别对应于Web应用开发框架中的三层,即Tapestry对应于表示层,Spring对应于业务层,而Ibatis对应于持久层。并通过一个Web应用实例介绍三个框架整合的技术。三种框架的组合可以使系统层次清晰,实现了层之间的松耦合,各层之间可以独立开发,极大地提高了开发效率,并易于维护。  相似文献   

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

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

京公网安备 11010802026262号