首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 537 毫秒
1.
田晨  刘国庆 《微计算机信息》2006,22(27):296-298
软件实践表明产品开发的过程和产品品质有产非常密切的联系,因此很多软件企业都把提高软件开发过程作为提高软件品质的重要手段。现有的过程模型中CMM/CMMI是很多企业采用的一个框架,CMMI模型非常复杂(描述性文档就有超过1000页),因此很需要有一种软件来支持软件过程的改进。本文给出了一个软件过程改进集成框架SPIF,较为详细地叙述了SPIF中项目计划与进度监控的实现。SPIF对CMM/CMMI有着良好的支持,经过几个软件公司的实践表明SPIF实现了软件过程可视化、管理效率化,可以对软件企业实施CMM/CMMI过程改进有着很好的促进作用。  相似文献   

2.
Researchers in software engineering have attempted to improve software development by mining and analyzing software repositories. Since the majority of the software engineering data is unstructured, researchers have applied Information Retrieval (IR) techniques to help software development. The recent advances of IR, especially statistical topic models, have helped make sense of unstructured data in software repositories even more. However, even though there are hundreds of studies on applying topic models to software repositories, there is no study that shows how the models are used in the software engineering research community, and which software engineering tasks are being supported through topic models. Moreover, since the performance of these topic models is directly related to the model parameters and usage, knowing how researchers use the topic models may also help future studies make optimal use of such models. Thus, we surveyed 167 articles from the software engineering literature that make use of topic models. We find that i) most studies centre around a limited number of software engineering tasks; ii) most studies use only basic topic models; iii) and researchers usually treat topic models as black boxes without fully exploring their underlying assumptions and parameter values. Our paper provides a starting point for new researchers who are interested in using topic models, and may help new researchers and practitioners determine how to best apply topic models to a particular software engineering task.  相似文献   

3.
Information access tools for software reuse   总被引:2,自引:0,他引:2  
Software reuse has long been touted as an effective means to develop software products. But reuse technologies for software have not lived up to expectations. Among the barriers are high costs of building software repositories and the need for effective tools to help designers locate reusable software. Although many design-for-reuse and software classification efforts have been proposed, these methods are cost-intensive and cannot effectively take advantage of large stores of design artifacts that many development organizations have accumulated. Methods are needed that take advantage of these valuable resources in a cost-effective manner. This article describes an approach to the design of tools to help software designers build repositories of software components and locate potentially reusable software in those repositories. The approach is investigated with a retrieval tool, named CodeFinder, which supports the process of retrieving software components when information needs are ill-defined and users are not familiar with vocabulary used in the repository. CodeFinder uses an innovative integration of tools for the incremental refinement of queries and a retrieval mechanism that finds information associatively related to a query. Empirical evaluation of CodeFinder has demonstrated the effectiveness of the approach.  相似文献   

4.
Abstract A recent trend in application software design is to extend online help systems in order to support exploratory and self‐paced learning. Two different information formats, lists of action steps that have to be taken to achieve a goal (operative help) and explanations about how a function works (function‐oriented help), were evaluated to assess their effects on learning performance. In two experiments, adult computer novices (N = 60 and N = 20) learned to use experimental graphics software by task‐based exploration. After one half of the tasks, the type of tasks changed so that the acquired action schema could no longer be applied. Results indicated that participants who had access to function‐oriented help were coping more successfully with the schema change than participants who received operative help. The relevance to the design of software training and online help systems is discussed.  相似文献   

5.
It is difficult to compare and contrast models of software development because their proponents often use different terminology, and the models often have little in common except their beginnings (marked by a recognition that a problem exists) and ends (marked by the existence of a software solution). A framework is provided that can serve: as a basis for analyzing the similarities and differences among alternate life-cycle models; as a tool for software engineering researchers to help describe the probable impacts of a life-cycle mode; and as a means to help software practitioners decide on an appropriate life-cycle model to utilize on a particular project or in a particular application area  相似文献   

6.
《Software, IEEE》2002,19(3):14-15
After studying knowledge management in recent years, wondering if it could help me manage software projects better, I have concluded that indeed it can. To illustrate this point, I list potential knowledge management benefits and drawbacks organized around the classical functions software managers perform  相似文献   

7.
软件开发平台的选择是系统分析人员必须考虑的问题,通过对<个人防火墙>和<防火墙报表分析系统>所选择软件开发平台的纾解,同时对所选择软件开发平台的选择与应用之间进行对比,重点考虑了开发平台的使用要有利于保持系统的先进性、开放性、与环境的一致性、开发人员的熟练性;阐述和论证了选择软件开发平台的原则。  相似文献   

8.
Textual as well as visual and diagrammatic notations are essential in software engineering, and are used in many different contexts. Chomsky grammars are the key tool to handle textual notations, and find many applications for textual languages. Visual and diagrammatic languages add spatial dimensions that reduce the applicability of textual grammars and call for new tools.Graph transformation systems have been studied for over 40 years and are a powerful tool to deal with syntax, semantics and transformation of diagrammatic notations. The enormous importance of visual and diagrammatic languages and the strong support that graph transformation provide to the manipulation of diagrammatic notations would suggest a big success of graph transformation in software engineering.Graph transformation systems find their application both as language generating devices and specification means for system evolution, and thus can have many applications in software engineering. In this paper we discuss the main features of graph transformation and how they can help software engineers. We look back to the many attempts to use graph transformations in software engineering in the last 15 years, identify some success stories, and discuss to what extent graph transformation succeeded, when they have not succeeded yet, what are the main causes of failures, and how they can help software engineering in the next 15 years.  相似文献   

9.
《Micro, IEEE》1999,19(4)
The author reviews a book and a software package. The book sets out to help you create documents that are “less ugly and less confusing”. The software package helps you produce printed and online hypertext documents from a single source. Its documentation could have benefited from the precepts in the book  相似文献   

10.
Developers need tool support to help manage the wide range of inconsistencies that occur during software development. Such tools need to provide developers with ways to define, detect, record, present, interact with, monitor and resolve complex inconsistencies between different views of software artifacts, different developers and different phases of software development. This paper describes our experience with building complex multiple-view software development tools that support diverse inconsistency management facilities. We describe software architectures that we have developed and user interface techniques that are used in our multiple-view development tools, and we discuss the effectiveness of our approaches compared to other architectural and HCI techniques  相似文献   

11.
《Computer》2006,39(5):95-97
As embedded devices become increasingly complex, time and quality pressures have become one of the greatest challenges facing device software organizations. Although no solution will banish all of a software engineer's problems, hard ware trace offers a valuable tool that can help solve many of them. Whether the challenges consist of intermittent bugs or serious performance problems, hardware trace offers unique visibility into the workings of software that lets developers deliver better products in less time and with less risk.  相似文献   

12.
《Information & Management》1987,13(4):191-196
Although research has suggested a number of desirable characteristics for on-line help systems, traditional design approaches have resulted in software containing many inadequacies and limitations. Here the deficiencies of current help systems are discussed and an expert system design approach to on-line help is outlined. The main components of such an expert help system are introduced.  相似文献   

13.
Software health management (SWHM) techniques complement the rigorous verification and validation processes that are applied to safety-critical systems prior to their deployment. These techniques are used to monitor deployed software in its execution environment, serving as the last line of defense against the effects of a critical fault. SWHM monitors use information from the specification and implementation of the monitored software to detect violations, predict possible failures, and help the system recover from faults. Changes to the monitored software, such as adding new functionality or fixing defects, therefore, have the potential to impact the correctness of both the monitored software and the SWHM monitor. In this work, we describe how the results of a software change impact analysis technique, Directed Incremental Symbolic Execution (DiSE ), can be applied to monitored software to identify the potential impact of the changes on the SWHM monitor software. The results of DiSE can then be used by other analysis techniques, e.g., testing, debugging, to help preserve and improve the integrity of the SWHM monitor as the monitored software evolves.  相似文献   

14.
Software controlled measuring systems can be approved with the help of different kinds of conformity assessment techniques based either on the final product, the product design or corresponding development and production processes. To validate the software as an integral part of the measuring system, different approaches of software quality assurance have to be applied for different conformity assessment procedures. There are two essential categories of software quality assurance, both of which supplement each other. On the one hand side, analytical methods of software testing, static analysis, and code inspection are used in the scope of conformity assessments of final or intermediate products. On the other hand, preventive audits of software development processes are applied to evaluate and improve appropriate software processes and to consequently support process related conformity assessment procedures. Depending on the validation objectives, validation methods, audit areas, and the appropriate requirements have to be selected and refined. A major problem of validation efforts, namely the process of defining and refining testable requirements, can be solved with the help of international software standards. In Germany, the accredited software testing laboratory at PTB supports software quality in metrology.  相似文献   

15.
随着计算机的普及以及计算机技术的迅猛发展,计算机软件的应用已经深入到社会的各个角落。在学校,利用计算机软件进行教学早已不是什么新鲜事情了,老师想要做出一个非常好的教学课件,那就必须要用到计算机软件的帮助了。本文主要介绍了计算机软件在教学中的一些应用。  相似文献   

16.
Software development tools are very important in software engineering. Although roles have been acknowledged and applied for many years in several areas related to software engineering, there is a lack of research on software development tools based on roles. Most significantly, there is no complete and consistent consideration of roles in all the phases of software development. Considering the increasing importance and applications of roles in software development, this paper intends to discuss the importance of roles in software engineering and that of role-based software development; review the literature relevant to role mechanisms in software engineering; propose and describe a role-based software process; and implement a prototype tool for developing complex software systems with the help of role mechanisms  相似文献   

17.
Determining whether a new software development technique is useful and usable is a challenging taste. Various flavors of empirical study may be used to help with this task, including surveys, case studies, and experiments. Little guidance is available within the software engineering community to help choose among these alternatives when assessing a new and evolving software development technique within some cost bounds. We faced this challenge when assessing a new programming technique called aspect-oriented programming. To assess the technique, we chose to apply both a case study approach and a series of four experiments because we wanted to understand and characterize the kinds of information that each approach might provide. We describe and critique the evaluation methods we employed, and discuss the lessons we have learned. These lessons are applicable to other researchers attempting to assess new programming techniques that are in an early stage of development  相似文献   

18.
Networked computers are finding their way into a broader range of environments, from corporate offices to schools, homes, and shirt pockets. This new computing model fosters the development of distributed software components that communicate with one another across the underlying networked infrastructure. A distributed software component can be plugged into distributed applications that may not have existed when it was created. The intention is that many developers will reuse distributed software components to build new systems. An interface definition language usually is used to describe a distributed software component's interface. However, a notable limitation of current IDLs is that they generally only describe the names and type signatures of the component's attributes and operations. Current IDLs don't formally specify the behavior of the software component's operations. To help solve these problems, the authors have developed Biscotti (behavioral specification of distributed software component interfaces), a Java extension that enhances Java remote method invocation interfaces with Eiffel-style preconditions, postconditions, and invariants  相似文献   

19.
《Software, IEEE》1998,15(2):16-19
A new trend in software commerce is emerging: generic software components, also called commercial off the shelf components, that contain fixed functionality. COTS components can be incorporated into other systems still under development so that the developing system and the generic components form a single functional entity. The role of COTS components is to help new software systems reach consumers more quickly and cheaply. Because arriving last to market spells sudden death in the software industry, any approach that carves days or weeks from a development schedule is worth considering. The article gives advice on taking the COTS option and the management decisions that have to be made  相似文献   

20.
在软件开发过程中,回归测试是一项重要而复杂耗时的工作。测试用例排序技术作为提高测试效率的一种有效手段,是近年的研究热点之一。测试用例排序技术根据测试目标对测试用例进行排序,使得最优的测试用例能够优先执行。同时,各种软件信息的底层结构及关联信息有助于提高测试效率。不同的代码单元在测试过程中拥有不同的测试需求。因此,利用聚类算法能够有效地分析测试用例间的结构信息,从而指导测试用例的排序过程。实验结果表明,新的测试用例排序策略有效地提高了测试用例排序的效果,能够更早地检测到软件错误。  相似文献   

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

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