首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
随着软件在各行各业应用的不断普及与深入,软件质量已逐渐成为行业的核心竞争力,而软件测试作为保障软件质量的主要手段,其专业人才的需求也与日俱增。应用型高校本科教育特点在于应用,知识学习要做到学以致用,学科内容应和社会需求结合紧密。以企业软件测试岗位需求为导向,改革传统的教学形式,搜索典型工作任务;筛选工作任务,整合典型工作;任务转换为工作过程系统化课程单元,及早调整软件测试技术课程的教学模式,通过"学中做""做中学",提升学生的专业实践能力,又锻炼学生的自我学习、归纳和推理能力,有助于后续的职业发展。  相似文献   

2.
营造个体软件工程规程   总被引:2,自引:1,他引:1  
软件产品的开发都是由个体软件工程师完成的,因此能否具有有效的个体软件工程规程会直接影响到产品开发的效率、费用和最终产品的质量。文章从自我意识、过程规程和开发规程三个层次描述了个体软件工程规程应该包含的基本内容,给出了构建个体软件工程规程的基本步骤,并进一步讨论了个体软件开发过程中的工具支持、个体软件工程规程同软件企业能力成熟度之间的关系等问题。  相似文献   

3.
金芝  刘芳  李戈 《软件学报》2019,30(1):110-126
程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展.  相似文献   

4.
Generally speaking, emerging web-based technologies are mostly intended for professional developers. They pay poor attention to users who have no programming abilities but need to customize software applications. At some point, such needs force end-users to act as designers in various aspects of software authoring and development. Every day, more new computing-related professionals attempt to create and modify existing applications in order to customize web-based artifacts that will help them carry out their daily tasks. In general they are domain experts rather than skilled software designers, and new authoring mechanisms are needed in order that they can accomplish their tasks properly. The work we present is an effort to supply end-users with easy mechanisms for authoring web-based applications. To complement this effort, we present a user study showing that it is possible to carry out a trade-off between expressiveness and ease of use in order to provide end-users with authoring facilities.  相似文献   

5.
Application of neural networks for predicting program faults   总被引:1,自引:0,他引:1  
Accurately predicting the number of faults in program modules is a major problem in the quality control of large software development efforts. Some software complexity metrics are closely related to the distribution of faults across program modules. Using these relationships, software engineers develop models that provide early estimates of quality metrics that do not become available until late in the development cycle. By considering these early estimates, software engineers can take actions to avoid or prepare for emerging quality problems. Most often, the predictive models are based upon multiple regression analysis. However, measures of software quality and complexity exhibit systematic departures from the assumptions of these analyses. With extreme violations of these assumptions, multiple regression models become unstable and lose most of their predictive quality. Since neural network models carry no data assumptions, these models could be more appropriate than regression models for modeling software faults. In this paper, we explore a neural network methodology for developing models that predict the number of faults in program modules. We apply this methodology to develop neural network models based upon data collected during the development of two commercial software systems. After developing neural network models, we apply multiple linear regression methods to develop regression models on the same data. For the data sets considered, the neural network methodology produced better predictive models in terms of both quality of fit and predictive quality.  相似文献   

6.
7.
ABSTRACT

This article describes how to adapt a specific part of the Rational Unified Process (RUP) framework for the purpose of conducting requirements gathering for software projects aimed at adding security features to legacy software. The RUP seems particularly fitting for this purpose because it aggregates numerous software engineering terms into a common body of knowledge and strives to give them clear and unambiguous semantics. Furthermore, the RUP allows project coordinators to pick and choose only the process elements best suited to meet the particular needs of a project.

The article should prove useful to project managers, process engineers, and software architects responsible for teaching old software new security functions. It should also prove useful to organizations that have already carried out basic software security projects such as those that fix buffer overflows, teach the software to perform better data validation, replace unsafe string handling functions, and recompile code with safe exception handling. This article covers only a small and very specific part of the RUP. It interprets the RUP in ways guided by the author's experience and specializes the Requirements discipline for use in projects tasked with adding new security features to legacy software.  相似文献   

8.
Software engineers of multi‐agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object‐oriented software engineering. MAS developers, however, have relied mostly on object‐oriented design techniques and programming languages, such as Java. This often leads to a poor separation of MAS concerns and in turn to the production of MASs that are difficult to maintain and reuse. This paper discusses software engineering approaches for MASs, and presents a new method for integrating agents into object‐oriented software engineering from an early stage of design. The proposed approach encourages the separate handling of MAS concerns, and provides a disciplined scheme for their composition. Our proposal explores the benefits of aspect‐oriented software development for the incorporation of agents into object‐oriented systems. We also illustrate our aspect‐oriented approach through the Portalware multi‐agent system, a Web‐based environment for the development of e‐commerce portals. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

9.
Knowledge engineering is the term given to the process of developing expert systems and knowledge engineers are the people who acquire the requisite knowledge from experts and structure that knowledge into a useable computer program. As knowledge engineering becomes a more accepted technology, there is increasing concern about attendant social costs, such as job displacement or possible exploitation of experts. This paper reports on our efforts to explore this latter issue by scrutinizing how knowledge engineers think about the domain expert and the role that person plays in system development. To accomplish this aim, we asked several samples of novice engineers to write story completions to a preamble that describes a knowledge engineer encountering a reluctant expert who may be fearing job loss if the system is implemented. The resulting accounts were content-analysed for insights as to how novice system builders think about experts. The results indicate that experts are conceived more as a tool to be used rather than a person to be respected.Preparation of this chapter was supported by National Science Foundation Grant BNS 87-21882 to Marianne LaFrance.  相似文献   

10.
Search-based software testing promises the ability to generate and evaluate large numbers of test cases at minimal cost. From an industrial perspective, this could enable an increase in product quality without a matching increase in the time and effort required to do so.Search-based software testing, however, is a set of quite complex techniques and approaches that do not immediately translate into a process for use with most companies.For example, even if engineers receive the proper education and training in these new approaches, it can be hard to develop a general fitness function that covers all contingencies. Furthermore, in industrial practice, the knowledge and experience of domain specialists are often key for effective testing and thus for the overall quality of the final software system. But it is not clear how such domain expertise can be utilized in a search-based system.This paper presents an interactive search-based software testing (ISBST) system designed to operate in an industrial setting and with the explicit aim of requiring only limited expertise in software testing. It uses SBST to search for test cases for an industrial software module, while also allowing domain specialists to use their experience and intuition to interactively guide the search.In addition to presenting the system, this paper reports on an evaluation of the system in a company developing a framework for embedded software controllers. A sequence of workshops provided regular feedback and validation for the design and improvement of the ISBST system. Once developed, the ISBST system was evaluated by four electrical and system engineers from the company (the ‘domain specialists’ in this context) used the system to develop test cases for a commonly used controller module. As well as evaluating the utility of the ISBST system, the study generated interaction data that were used in subsequent laboratory experimentation to validate the underlying search-based algorithm in the presence of realistic, but repeatable, interactions.The results validate the importance that automated software testing tools in general, and search-based tools, in particular, can leverage input from domain specialists while generating tests. Furthermore, the evaluation highlighted benefits of using such an approach to explore areas that the current testing practices do not cover or cover insufficiently.  相似文献   

11.
The rapid development of technology provides high performance and reliability for the hardware system; based on this, software engineers can focus their developed software on more convenience and ultra-high reliability. To reach this goal, the testing stage of software development life cycle usually takes more time and effort due to the growing complexity of the software. How to build software that can be tested efficiently has become an important topic in addition to enhancing and developing new testing methods. Thus, research on software testability has been conducted and various methods have been developed. In the past, a dynamic technique for estimating program testability was proposed and called propagation, infection and execution (PIE) analysis. Previous research studies have shown that PIE analysis can complement software testing. However, this method requires a lot of computational overhead in estimating the testability of software components. In this article, we propose an extended PIE (EPIE) method to accelerate the conventional PIE analysis, based on generating group testability as a substitute for statement testability. Our proposed method can be systematically separated into three steps: breaking a program into blocks, dividing the blocks into groups and marking target statements. Experiments and evaluations with the Siemens suite, together with cost-effectiveness analysis, clearly show that the number of analysed statements can be effectively decreased, and the calculated values of testability are still acceptable.  相似文献   

12.
作为省内一流的高职院校,为了打通具有高端技能型专门人才培养通道,积极探索四年制高职本科人才的培 养,江苏海事职业技术学院主动适应新形势,与本科院校联合开展四年制应用型高职本科教育试点,成为了高职教育体制改革 的有力实践者,并结合互联网+时代社会经济发展需求,对软件工程领域高技术技能型人才的培养进行了深入的理论研究与实 践探索。  相似文献   

13.
雷达软件规模日益庞大,其软件测试也变得非常复杂,测试需求追踪逐步变成非常困难的任务,目前急需解决雷达软件中测试需求追踪管理、文档自动生成等问题。通过对软件测试需求的识别与定位、软件测试任务的分派,实现了雷达软件测试需求的跟踪、追溯,以及按标准模板产生相应的文档,重点对实现该追踪系统的关键技术进行了分析和描述。  相似文献   

14.
LoadRunner在软件性能测试中的应用   总被引:2,自引:0,他引:2  
随着当今软件开发技术的发展与成熟,越来越多复杂的软件系统应用于人们生活的各个领域,软件系统运行时的性能表现已经成为衡量软件产品质量的一个重要标准。LoadRunner是进行软件性能测试的一个强有力的工具,凭借它,测试人员可以轻松地完成软件系统的性能测试工作,对影响软件运行效率的问题进行快速定位,从而使产品得到高效、稳定的运行。介绍了LoadRunner最新版本HP Load Runner9.00的主要特点、工作原理和测试流程。并演示了如何利用LoadRunner工具对软件性能进行测试。  相似文献   

15.
Most external software quality attributes are conceptually subjective. For example, maintainability is an external software quality attribute, and it is subjective because interpersonally agreed definitions for the attribute include the phrase ‘the ease with which maintenance tasks can be performed’. Subjectivity clearly makes measurement of the attributes and validation of prediction systems for the attributes problematic. In fact, in spite of the definitions, few statistically valid attempts at determining the predictive capability of prediction systems for external quality attributes have been published. When validations have been attempted, one approach used is to ask experts to indicate if the values provided by the prediction system informally agree with the experts’ intuition. These attempts are undertaken without determining, independently of the prediction system, whether the experts are capable of direct consistent measurement of the attribute. Hence, a statistically valid and unbiased estimate of the predictive capability of the prediction system cannot be obtained (because the experts’ measurement process is not independent of the prediction system’s values). In this paper, it is argued that the problem of subjective measurement of quality attributes should not be ignored if quality is to be introduced into software in a controlled way. Further, it is argued that direct measurement of quality attributes should be encouraged and that in fact such measurement can be quantified to establish consistency using an existing approach. However, the approach needs to be made more accessible to promote its use. In so doing, it would be possible to decide whether consistent independent estimates of the true values of software quality attributes can be assigned and prediction systems for quality attributes developed.
John MosesEmail:
  相似文献   

16.
基于组态王的机车定置试验台监控系统   总被引:3,自引:0,他引:3  
随着我国铁路连续大规模提速,对机车性能要求更高了,铁路干线的运行也更繁忙,几乎不可能在线路上试验机车的性能。因此,构建适用于不同结构特点的机车,能够进行启动试验、牵引试验、制动试验等的机车定置试验台势在必行。本文在介绍机车试验台工作原理以及系统组成的基础上,介绍了利用组态王开发上位机监控软件的过程。  相似文献   

17.
The importance of effective requirements analysis techniques cannot be overemphasized when developing software requiring high levels of assurance. Requirements analysis can be largely classified as either structural or functional. The former investigates whether definitions and uses of variables and functions are consistent, while the latter addresses whether requirements accurately reflect users' needs. Verification of structural properties for large and complex software requirements is often repetitive, especially if requirements are subject to frequent changes. While inspection has been successfully applied to many industrial applications, the authors found inspection to be ineffective when reviewing requirements to find errors violating structural properties. Moreover, current tools used in requirements engineering provide only limited support in automatically enforcing structural correctness of the requirements. Such experience has motivated research to automate straightforward but tedious activities. This paper demonstrates that a theorem prover, PVS (Prototype Verification System), is useful in automatically verifying structural correctness of software requirements specifications written in SCR (Software Cost Reduction)‐style. Requirements are automatically translated into a semantically equivalent PVS specification. Users need not be experts in formal methods or power users of PVS. Structural properties to be proved are expressed in PVS theorems, and the PVS proof commands are used to carry out the proof automatically. Since these properties are application independent, the same verification procedure can be applied to requirements of various software systems. Copyright © 2001 John Wiley & Sons, Ltd.  相似文献   

18.
"卓越计划"的实施旨在突破传统的工程类专业人才培养模式,为工程领域培养适应经济社会发展需要的创新型优秀工程技术人才。针对软件工程卓越工程师的具体培养要求,分析了地方高校在软件工程专业"卓越计划"实施过程中存在的薄弱环节,结合南华大学该专业卓越计划实施的实际情况,探讨了地方高校如何结合自身特色,因地制宜地培养软件工程专业高质量工程人才。  相似文献   

19.
A new interactive knowledge acquisition tool, called Knowledge Acquisition Advisor (KA2), is presented in this paper. The new tool will help knowledge engineers to conduct effective knowledge-elicitation interviews with domain experts through structured knowledge acquisition for both analytic and synthetic problems. A graphic modeling data structure, called Knowledge Graph is proposed, which allows knowledge engineers to model domain problems with their images and understanding. By using Knowledge Graph, knowledge engineers are able to decompose a domain problem into several components, to model the feature of each component, and to explore their relations by linking them with sets of questions. These questions can later be employed to guide the KA interview. Moreover, KA2 is particularly useful for interview through computer networks, so the knowledge acquisition can take place remotely.  相似文献   

20.
This paper presents a pattern-based framework for developing tool support to detect software anomalies. The use of a pattern-based approach is important because it provides the flexibility needed to address domain-specific needs, with respect to the types of problems the tools detect and the strategies used to inspect and adapt the code. Patterns can be used to detect a variety of problems, ranging from simple syntactic issues to difficult semantic problems requiring global analysis. Patterns can also be used to describe transformations of the software, used to rectify problems detected through software inspection, and to support interactive inspection and adaptation when full automation is impractical. This paper describes a part of the Knowledge Centric Software (KCS) framework that embodies the pattern-based approach and provides capabilities for addressing different languages and different application domains. While only the part of the framework relevant to code inspections is addressed in this paper, in future, we also expect to address UML analysis and design models. As an application of the research, we present an overview of an inspection tool being developed for high assurance software for avionics systems.  相似文献   

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

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