共查询到20条相似文献,搜索用时 10 毫秒
1.
Solheim J.A. Rowland J.H. 《IEEE transactions on pattern analysis and machine intelligence》1993,19(10):941-949
There has been much discussion about the merits of various testing and integration strategies. Top-down, bottom-up, big-bang, and sandwich integration strategies are advocated by various authors. Also, some authors insist that modules be unit tested, while others believe that unit testing diverts resources from more effective verification processes. This article addresses the ability of the aforementioned integration strategies to detect defects, and produce reliable systems. It also explores the efficacy of spot unit testing, and compares phased and incremental versions of top-down and bottom-up integration strategies. Relatively large artificial software systems were constructed using a code generator with ten basic module templates. These systems were seeded with known defects and tested using the above testing and integration strategies. A number of experiments were then conducted using a simulator whose validity was established by comparing results against these artificial systems. The defect detection ability and resulting system reliability were measured for each strategy. Results indicated that top-down integration strategies are generally most effective in terms of defect correction. Top-down and big-bang strategies produced the most reliable systems. Results favored neither those strategies that incorporate spot unit testing nor those that do not; also, results favored neither phased nor incremental strategies 相似文献
2.
Diane E. Strode 《Information Systems Frontiers》2016,18(1):23-46
Agile software development is designed to achieve collaborative software development. A supporting pillar of collaboration is effective coordination, which is necessary to manage dependencies in projects. Understanding the dependencies arising in agile software development projects can help practitioners choose appropriate coordinative practices from the large number of practices provided by the various agile methods. To achieve this understanding, this article analyses dependencies in three typical cases of co-located agile software development and presents the dependencies as a taxonomy with decision rules for allocating dependencies into categories. Findings show that knowledge, process, and resource dependencies are present, with knowledge dependencies predominant. In addition, there are agile practices with a coordinative function that address multiple dependencies in these agile software development projects. These practices would be a good choice for coordinating a project and supporting collaboration in agile software projects. 相似文献
3.
敏捷方法在软件项目开发中的实践 总被引:1,自引:0,他引:1
目前很多企业内中小型软件项目面临开发时间紧迫、人手不足、需求不断变化的困难,传统重量级的软件开发方法无法应对这样的挑战.敏捷方法是基于实践的软件开发方法学,为解决这类轻量级项目管理和开发所碰到的问题提供了新的思路.通过分析敏捷方法的主要目标、观点和原则,并结合一个实际的管理信息系统项目开发,从项目计划、项目文档、重构的改进和项目维护的4个方面探讨了敏捷方法的实践应用.实践证明,采用敏捷方法的观点和原则进行必要的改进,能取得项目开发的成功. 相似文献
4.
Modal testing strategies for OO software 总被引:1,自引:0,他引:1
The essential challenge in testing object-oriented software is to craft a practical test suite that exercises enough combinations of message sequence and state interactions to provide sufficient confidence. These interactions are often subtle and complex and therefore error-prone. If all classes were alike, it might be enough to devise tests based either on message sequence or state. Sometimes this suffices, but usually both views are needed. The notion of class modality characterizes class behavior differences to indicate an appropriate test strategy 相似文献
5.
Diane E. Strode Sid L. Huff Beverley Hope Sebastian Link 《Journal of Systems and Software》2012,85(6):1222-1238
Agile software development provides a way to organise the complex task of multi-participant software development while accommodating constant project change. Agile software development is well accepted in the practitioner community but there is little understanding of how such projects achieve effective coordination, which is known to be critical in successful software projects. A theoretical model of coordination in the agile software development context is presented based on empirical data from three cases of co-located agile software development. Many practices in these projects act as coordination mechanisms, which together form a coordination strategy. Coordination strategy in this context has three components: synchronisation, structure, and boundary spanning. Coordination effectiveness has two components: implicit and explicit. The theoretical model of coordination in agile software development projects proposes that an agile coordination strategy increases coordination effectiveness. This model has application for practitioners who want to select appropriate practices from agile methods to ensure they achieve coordination coverage in their project. For the field of information systems development, this theory contributes to knowledge of coordination and coordination effectiveness in the context of agile software development. 相似文献
6.
Agile methods have evolved as a bottom-up approach to software development. However, as the software in embedded products
is only one part of development projects, agile methods must coexist with project management models typically of the stage-gate
type. This paper presents a qualitative case study of two large independent software system projects that have used eXtreme
Programming (XP) for software development within contexts of stage-gate project management models. The study is comprised
of open ended interviews with managers as well as practitioners, followed by a structured, fully traceable, qualitative analysis.
We conclude that it is possible to integrate XP in a gate model context. Key issues for success are the interfaces towards
the agile subproject and management attitudes towards the agile approach.
Editor: Marvin Zelkowitz 相似文献
7.
Agile development processes are adaptive rather than predictive. Therefore, agile processes emphasize operational system code rather than its documentation. To overcome the absence of comprehensive documentation artifacts, agile methods require constant interaction between the system stakeholders. Ironically, however, some traditional documentation artifacts come to support this kind of interaction. In this study, we examine the relationship between software and documentation. We develop an approach that enables incorporating domain documentation to agile development, while keeping the processes adaptive. We also provide a system design that actively uses domain knowledge documentation. These ideas have been applied through the implementation and use of agile documentation support components. 相似文献
8.
敏捷软件开发与计划驱动开发的概述比较 总被引:1,自引:0,他引:1
人们在设想、确定以及创建软件时,身边的环境不断在变更.敏捷是为了在动荡的业务环境中获益而创造变革和响应变革的能力.极限编程是最著名的敏捷软件开发方法.传统的开发侧重于计划和架构,计划驱动开发关注的是软件的质量和过程的可预见性.计划驱动开发最佳范例是能力成熟度模型.两种表面上有不同观点的方法在争夺着软件开发的主导权,对敏捷软件开发与计划驱动开发进行了概述,并就特征、擅长领域和关键要素等进行比较. 相似文献
9.
What does it mean to say that an item of software has been tested? Unfortunately, currently accepted standards are inadequate to give the confidence the user needs and the meaningful objective for the supplier. This paper assesses the currently available standards, mainly in the component testing area and advocates that the British Computer Society proto-standard should be taken as a basis for a formal standard. The paper is intended for those concerned with software quality. 相似文献
10.
Andreas Spillner 《Software Quality Journal》1995,4(4):275-286
The aim of this paper is to introduce a systematic approach to integration testing of software systems. Various test data selection criteria for integration testing are presented, coverage measures are introduced, and interconnection between them are discussed. The main principle is to transfer and adapt test criteria and coverage measures which are useful for unit testing to the level of integration testing. Test criteria help the tester to organise the test process. They should be chosen in accordance with the available test effort. Test coverage measures are defined as a ratio between the test cases required for satisfying the criteria and those of these which have been executed. The measures are used to obtain information about the completeness of integration tests. The approach is described for data flow and control flow oriented criteria and measures. The intention is to enable the tester to specify integration tests in advance in terms of effort, and to evaluate the results in terms of test completeness. 相似文献
11.
《Software, IEEE》2003,20(3):106-107
A guiding principle behind agile software development is the idea of keeping things simple. Making life simpler is an admirable goal, but unfortunately many developers have a knack for making one of two errors: oversimplifying something that really is complex; and overcomplicating something that should be easy. The paper considers how Extreme Programming attacks over-embellishment with the YAGNI (you aren't gonna need it) principle. 相似文献
12.
D. Yu. Kichigin 《Programming and Computer Software》2009,35(5):282-290
This paper describes a method of test-suite reduction for regression testing of the interaction between two software modules based on a model of module interaction on a test suite and subsequent filtering of the suite using the constructed model. The interaction model is constructed in terms of sequences of interface functions of the modules being integrated called during the software run. 相似文献
13.
14.
15.
M. Pikkarainen J. Haikara O. Salo P. Abrahamsson J. Still 《Empirical Software Engineering》2008,13(3):303-337
Agile software development practices such as eXtreme Programming (XP) and SCRUM have increasingly been adopted to respond
to the challenges of volatile business environments, where the markets and technologies evolve rapidly and present the unexpected.
In spite of the encouraging results so far, little is known about how agile practices affect communication. This article presents
the results from a study which examined the impact of XP and SCRUM practices on communication within software development
teams and within the focal organization. The research was carried out as a case study in F-Secure where two agile software
development projects were compared from the communication perspective. The goal of the study is to increase the understanding
of communication in the context of agile software development: internally among the developers and project leaders and in
the interface between the development team and stakeholders (i.e. customers, testers, other development teams). The study
shows that agile practices improve both informal and formal communication. However, it further indicates that, in larger development
situations involving multiple external stakeholders, a mismatch of adequate communication mechanisms can sometimes even hinder
the communication. The study highlights the fact that hurdles and improvements in the communication process can both affect
the feature requirements and task subtask dependencies as described in coordination theory. While the use of SCRUM and some
XP practices facilitate team and organizational communication of the dependencies between product features and working tasks,
the use of agile practices requires that the team and organization use also additional plan-driven practices to ensure the
efficiency of external communication between all the actors of software development.
相似文献
| J. StillEmail: |
16.
17.
软件测试的实施效果直接影响到软件的质量,目前出现了一些测试模型,并且有一定的实用性,例如V模型、W模型、X模型等,其中X测试模型正受到越来越多的关注.对当前颇为流行的敏捷开发模式进行了一定的研究之后,适当地调整模块任务分配的粒度,软件开发过程中采用了X测试模型,并根据具体开发情况对X测试模型进行了相应的调整与改进,体现出其较好的应用效果,对中小型软件开发的测试有着很好的适用性. 相似文献
18.
19.
20.
Identifying some important success factors in adopting agile software development practices 总被引:3,自引:0,他引:3
Agile software development (ASD) is an emerging approach in software engineering, initially advocated by a group of 17 software professionals who practice a set of “lightweight” methods, and share a common set of values of software development. In this paper, we advance the state-of-the-art of the research in this area by conducting a survey-based ex-post-facto study for identifying factors from the perspective of the ASD practitioners that will influence the success of projects that adopt ASD practices. In this paper, we describe a hypothetical success factors framework we developed to address our research question, the hypotheses we conjectured, the research methodology, the data analysis techniques we used to validate the hypotheses, and the results we obtained from data analysis. The study was conducted using an unprecedentedly large-scale survey-based methodology, consisting of respondents who practice ASD and who had experience practicing plan-driven software development in the past. The study indicates that nine of the 14 hypothesized factors have statistically significant relationship with “Success”. The important success factors that were found are: customer satisfaction, customer collaboration, customer commitment, decision time, corporate culture, control, personal characteristics, societal culture, and training and learning. 相似文献
