首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 672 毫秒
1.
Despite advances in software engineering methods and tools, understanding what software components do and ensuring that they work well together remains difficult. This is chiefly due to the lack of support for specifying component interfaces and software compositions formally. Due to these shortcomings, composed systems are subject to incompatibility errors, and software developers struggle to retrieve and understand relevant reusable entities. Constructs recently added to the Unified Modeling Language (UML) supported by validation tools can detect and solve behavioural incompatibility issues, while integrated support for characterisation using ontological techniques can describe what a component does. This paper presents a comprehensive software engineering framework that supports software composition at design time and runtime with compatibility guarantees. Our main contributions are (a) a model-driven development approach that combines UML modelling and ontology techniques for the specification of component properties, their validation and their transformation to code, (b) a middleware platform that supports component discovery, compatibility checking and deployment. Following the proposed approach gives benefits for software engineering, in particular in settings where multiple stakeholders are involved.  相似文献   

2.
Leveraging inconsistency in software development   总被引:3,自引:0,他引:3  
Nuseibeh  B. Easterbrook  S. Russo  A. 《Computer》2000,33(4):24-29
  相似文献   

3.
Although the stringent requirements of some critical applications may require independent certification, the authors see software developer self-certification as a viable alternative in many other cases. They accept that using software certification laboratories (SCLs) may work well for certain software distribution models, but they cannot be applied to all types of software development. The approach has several drawbacks. For example, an SCL may work well for larger software houses that ship mass-marketed software applications to the public, but it is less satisfactory for smaller developers who make reusable components or safety-critical software or for developers who belong to the freeware community  相似文献   

4.
基于语义与句法的Java类库检索方法与系统   总被引:1,自引:0,他引:1  
叶青青  江水 《计算机工程》2004,30(23):61-63,192
提出了一个支持系统化、大规模软件复用的基于语义与句法的可复用模块的检索方法,并介绍了基于此方法支持Jwa类库的实用检索系统。软件开发者既可以使用自然语言直接描述待开发软件的功能语义并用此查询类库中的相关模块,也可以通过对输入输出数据类型的描述对Java类库进行快速地查询,还可以同时使用两者的组合来提高可复用库模块查询的精度。  相似文献   

5.
翟宇鹏  洪玫  杨秋辉 《计算机科学》2017,44(Z11):480-484
软件开发主要由需求收集、设计、实现、测试和维护等几个阶段构成,其中维护始终是主要开销。在维护阶段,开发人员必须理解程序才能定位缺陷,而系统的需求和源代码、测试用例等之间的可追溯性连接能帮助减少开发人员在理解程序时的工作量。研究现有的功能定位技术和可追溯性方法,通过对现有方法的改进,提出了一种集成动态执行信息和IR技术的方案来建立需求到测试用例的可追溯性连接,用以辅助开发人员在维护阶段的工作。  相似文献   

6.
需求质量已经成为确保软件项目成功的一个重要因素,对复杂软件系统的需求进行检查和验证,是需求工程中非常重要的工作。在基于领域本体的需求获取和分析等相关工作基础上,提出了一种基于本体和语义规则的需求一致性验证方法,将自然语言描述的需求分解成若干结构良好的最小需求项,使用领域本体的概念模型对其进行形式化和结构化的表示。通过领域本体中的知识来映射需求语义,采用语义万维网规则语言(SWRL)来定义需求一致性验证的推理规则,并通过实例对此方法进行了分析和验证。  相似文献   

7.
In recent years, traceability has been globally accepted as being a key success factor of software development projects. However, the multitude of different, poorly integrated taxonomies, approaches and technologies impedes the application of traceability techniques in practice. This paper presents a comprehensive view on traceability, pertaining to the whole software development process. Based on the state of the art, the field is structured according to six specific activities related to traceability as follows: definition, recording, identification, maintenance, retrieval, and utilization. Using graph technology, a comprehensive and seamless approach for supporting these activities is derived, combining them in one single conceptual framework. This approach supports the definition of metamodels for traceability information, recording of traceability information in graph-based repositories, identification and maintenance of traceability relationships using transformations, as well as retrieval and utilization of traceability information using a graph query language. The approach presented here is applied in the context of the ReDSeeDS project (Requirements Driven Software Development System) that aims at requirements-based software reuse. ReDSeeDS makes use of traceability information to determine potentially reusable architectures, design, or code artifacts based on a given set of reusable requirements. The project provides case studies from different domains for the validation of the approach.  相似文献   

8.
9.
随着越来越多的Web服务被提交到UDDI注册中心注册,搜索一个合适的Web服务开始变得和在互联网上找到一个合适的页面同样困难。现有的技术主要是通过关键字匹配的技术来对UDDI注册中心Web服务的描述信息进行检索。但鉴于Web服务描述信息非常稀疏的特点,传统的信息检索技术并不能得到很好的效果,因此提出了基于本体的Web服务检索技术。在已有的对Web服务检索流程的改进的基础上,充分利用了从UDDI注册中心得到的Web服务描述信息,用本体来描述其内部的关系,并在此基础上应用本体相似技术来比较和匹配Web服务描述信息。  相似文献   

10.
基于构件的框架式开发方法及其重用库系统   总被引:7,自引:0,他引:7  
传统软件开发方法因难以支持需求的早期验证而易导致项目失控。基于此,该文提出了FCDM开发方法,通过大粒度软件重用技术来实现软件系统的快速高层构造。论文简要介绍了 FCDM方法并对其重用库系统的体系结构、构件的分类、检索、组装等方面进行了详细论述。  相似文献   

11.
Popular notations for functional requirements specifications frequently ignore developers’ needs, target specific development models, or require translation of requirements into tests for verification; the results can give out-of-sync or downright incompatible artifacts. Seamless requirements, a new approach to specifying functional requirements, contributes to developers’ understanding of requirements and to software quality regardless of the process, while the process itself becomes lighter due to the absence of tests in the presence of formal verification. A development case illustrates these benefits, and a discussion compares seamless requirements to other approaches.  相似文献   

12.
可复用的软件资产的确定为软件复用活动提供了基础.特征模型通过特征以及特征之间的关系来有效地组织特定领域的软件需求,为领域需求的复用提供有力支持.面向方面系统设计着眼于减少软件开发中需求或代码的纠结,将识别出的横切关注点封装成aspect,有利于开发模块化良好的软件产品以及高效的软件维护和复用.为方便特征复用,提出了一种在系统需求分析级别对特征模型进行aspect化封装的方法,可提取出遗留系统中的可复用部分.首先,通过分析同一领域遗留系统的需求文档,识别出系统关注点,建立领域的关注点层次结构;其次,基于领域关注点层次结构,提取领域特征,并对相似特征进行aspect化封装,形成特征层次模型;最后,基于建立的特征模型以及封装的aspect开发新系统,达到软件复用目的.基于新方法进行了实例分析,通过复用两个不同的Web遗留系统得到一个新的Web系统.可以看出新方法对同一个领域中的多遗留系统地复用有较好的指导意义.  相似文献   

13.
This paper presents the InterMod methodology. By combining the widely accepted Agile Methods, Model-Driven Developments and User-Centred Design it allows us to develop high-quality interactive applications. As a main characteristic, it plans and organises the software project as a series of iterations that are guided by the User Objectives in an agile and user-centred manner. At each iteration, the software development work can be distributed to different teams according to some developmental and integration activities. Each activity is driven by models that are validated by a multidisciplinary team composed of developers and users. The requirements are incrementally collected and formalised by means of models based on user-centred design. Besides, the Semantically Enriched Human–Computer Interaction model is proposed to speed up project validation. This model enriches a human–computer interaction model with some visual characteristics and the application semantic. Thus, the enriched model provides enough information to generate prototypes so users and developers can easily validate this model. Diagram project is a real case study that is used to illustrate the application of the InterMod methodology through the whole paper.  相似文献   

14.
Proving the shalls   总被引:1,自引:0,他引:1  
Incomplete, inaccurate, ambiguous, and vola-tile requirements have plagued the software industry since its inception. The convergence of model-based development and formal methods offers developers of safety-critical systems a powerful new approach to the early validation of requirements. This paper describes an exercise conducted to determine if formal methods could be used to validate system requirements early in the lifecycle at reasonable cost. Several hundred functional and safety requirements for the mode logic of a typical flight guidance system were captured as natural language “shall” statements. A formal model of the mode logic was written in the RSMLe language and translated into the NuSMV model checker and the PVS theorem prover using translators developed as part of the project. Each “shall” statement was manually translated into a NuSMV or PVS property and proven using these tools. Numerous errors were found in both the original requirements and the RSMLe model. This demonstrates that formal models can be written for realistic systems and that formal analysis tools have matured to the point where they can be effectively used to find errors before implementation. This project was partially funded by the NASA Langley Research Center under contract NCC1-01001 of the Aviation Safety Program.  相似文献   

15.
基于模型的软件成本估计方法   总被引:1,自引:0,他引:1  
准确的估计是进行有效的项目计划、跟踪和控制的基础.基于模型的成本估计方法是软件成本估计研究的重点,它可分为算法驱动式模型、数据驱动式模型以及复合式模型.依照该分类模式,介绍了典型的软件成本估计方法,并从内部属性及外部评价两个维度共计11个指标对每类方法的假设前提、适用范围、优势及局限性进行深入的分析.最后,对软件成本估计研究的未来发展进行探讨.  相似文献   

16.
张洋  王涛  吴逸文  尹刚  王怀民 《软件学报》2019,30(5):1407-1421
社交化编程使得开源社区中的知识可以快速被传播,其中,缺陷报告作为一类重要的软件开发知识,会含有特定的语义信息.通常,开发者会人工地将相关的缺陷报告关联起来.在一个软件项目中,发现并关联相关的缺陷报告可以为开发者提供更多的资源和信息去解决目标缺陷,从而提高缺陷修复效率.然而,现有人工关联缺陷报告的方法是十分耗费时间的,它在很大程度上取决于开发者自身的经验和知识.因此,研究如何及时、高效地关联相关缺陷是对于提高软件开发效率十分有意义的工作.将这类关联相关缺陷的问题视为推荐问题,并提出了一种基于嵌入模型的混合式相关缺陷关联方法,将传统的信息检索技术(TF-IDF)与深度学习中的嵌入模型(词嵌入模型和文档嵌入模型)结合起来.实验结果表明,该方法能够有效地提高传统方法的性能,且具有较强的应用扩展性.  相似文献   

17.
Topic models are generative probabilistic models which have been applied to information retrieval to automatically organize and provide structure to a text corpus. Topic models discover topics in the corpus, which represent real world concepts by frequently co-occurring words. Recently, researchers found topics to be effective tools for structuring various software artifacts, such as source code, requirements documents, and bug reports. This research also hypothesized that using topics to describe the evolution of software repositories could be useful for maintenance and understanding tasks. However, research has yet to determine whether these automatically discovered topic evolutions describe the evolution of source code in a way that is relevant or meaningful to project stakeholders, and thus it is not clear whether topic models are a suitable tool for this task.In this paper, we take a first step towards evaluating topic models in the analysis of software evolution by performing a detailed manual analysis on the source code histories of two well-known and well-documented systems, JHotDraw and jEdit. We define and compute various metrics on the discovered topic evolutions and manually investigate how and why the metrics evolve over time. We find that the large majority (87%–89%) of topic evolutions correspond well with actual code change activities by developers. We are thus encouraged to use topic models as tools for studying the evolution of a software system.  相似文献   

18.
Numerous software process improvement (SPI) innovations have been proposed to improve software development productivity and system quality; however, their diffusion in practice has been disappointing. This research investigates the adoption of the Personal Software Process on industrial software projects. Quantitative and qualitative analyses reveal that perceived increases in software quality and development productivity, project management benefits, and innovation fit to development tasks, enhance the usefulness of the innovation to developers. Results underscore the need to enrich current technology acceptance models with these constructs, and serve to encourage project managers to adopt formal SPI methods if developers perceive the methods will have positive impacts on their productivity and system quality.  相似文献   

19.
An open source software (OSS) ecosystem refers to an OSS development community composed of many software projects and developers contributing to these projects. The projects and developers co-evolve in an ecosystem. To keep healthy evolution of such OSS ecosystems, there is a need of attracting and retaining developers, particularly project leaders and core developers who have major impact on the project and the whole team. Therefore, it is important to figure out the factors that influence developers’ chance to evolve into project leaders and core developers. To identify such factors, we conducted a case study on the GNOME ecosystem. First, we collected indicators reflecting developers’ subjective willingness to contribute to the project and the project environment that they stay in. Second, we calculated such indicators based on the GNOME dataset. Then, we fitted logistic regression models by taking as independent variables the resulting indicators after eliminating the most collinear ones, and taking as a dependent variable the future developer role (the core developer or project leader). The results showed that part of such indicators (e.g., the total number of projects that a developer joined) of subjective willingness and project environment significantly influenced the developers’ chance to evolve into core developers and project leaders. With different validation methods, our obtained model performs well on predicting developmental core developers, resulting in stable prediction performance (0.770, F-value).  相似文献   

20.
For the maintenance of software systems, developers have to completely understand the existing system. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Design patterns can support a faster and better understanding of software systems. There are different approaches for supporting pattern recognition in existing systems by tools. They are evaluated by the Information Retrieval criteria precision and recall. An automated search based on structures has a highly positive influence on the manual validation of the results by developers. This validation of graphical structures is the most intuitive technique. In this paper a new approach for automated pattern search based on minimal key structures is presented. It is able to detect all patterns described by the GOF [15]. This approach is based on positive and negative search criteria for structures and is prototypically implemented using Rational Rose and Together.  相似文献   

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

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