共查询到20条相似文献,搜索用时 0 毫秒
1.
Encapsulation, informally known as black-box abstraction, is a widely known and accepted principle. It is a basic tenet of software design, underlying approaches to portability and reuse. However, many practitioners find themselves violating it in order to achieve performance requirements in a practical manner. The gap between theory and practice must be filled. Open implementation is a controversial new approach that claims to do just that. The paper provides some ideas to spark further debate on black-box abstraction 相似文献
2.
Global outsourcing is a growing trend among independent software vendors. In these projects like other distributed work, distances have negative effects on communication and coordination, directly impacting performance. We present a normative model designed to address this issue by improving communication and knowledge exchange. The model consists of six distinct practices and a tool blueprint, each coming with practical guidelines. It is based in part on two case studies of Dutch software vendors who have successfully outsourced part of their activities to an Eastern European outsourcing vendor, and validated by a panel of six experts from industry and the scientific community. It is concluded that knowledge exchange in global software outsourcing is a by‐product of efforts to enhance communication and coordination, rather than specific technical solutions. By committing to sharing knowledge, emphasizing transparency and integrating the outsourcing team into their organizations, customers from the product software business can realize the benefits of global outsourcing. 相似文献
3.
In this work, we attempt to show how operations researchers can effectively manage the production costs of computing services. The thesis of this paper is that an outsourcing firm, by virtue of the fact that it manages the IT function for multiple firms, is privileged to information not available to the focal firm. We derive the conditions under which this privileged information allows the partner firm to construct superior incentives for its employees, resulting in superior IT management. Further, we detail the circumstances under which outsourcing will not provide additional benefit, and what sorts of partners are likely to provide the greatest benefit. The two main findings are that for low levels of uncertainty, both in-house and relational management are equally acceptable. However, as uncertainty increases, the value of relational management increases. Conclusions are drawn and extensions are proposed, related to economies of scale and transactions costs. 相似文献
4.
Interpretation and knowledge discovery from the multilayer perceptron network: Opening the black box
Marilyn Lougher Vaughn 《Neural computing & applications》1996,4(2):72-82
This paper interprets the outputs from the multilayer perceptron (MLP) network by finding the input data features at the input layer of the network which activate the hidden layer feature detectors. This leads directly to the deduction of the significant data inputs, the inputs that the network actually uses to perform the input/output mapping for a classification task, and the discovery of the most significant of these data inputs. The analysis presents a method for providing explanations for the network outputs and for representing the knowledge learned by the network in the form of significant input data relationships. During network development the explanation facilities and data relationships can be used for network validation and verification, and after development, for rule induction and data mining where this method provides a potential tool for knowledge discovery in databases (KDD). 相似文献
5.
6.
基于黑盒测试的软件测试策略研究与实践* 总被引:1,自引:0,他引:1
在软件测试的系统测试、验收测试等测试阶段中,传统的黑盒测试基本方法主要应用在细节测试方法中,但它不能给面向宏观的测试策略的设计提供有效的指导作用。为了弥补这方面的不足,从测试用例分布、测试角度确定和测试人力资源分布三个方面提出了几个有效的软件测试方法策略,并结合具体的软件测试项目验证了这些方法策略的应用效果。实践表明好的宏观软件测试策略将有效地改善测试的效果。 相似文献
7.
Trust in software outsourcing relationships: An empirical investigation of Indian software companies
《Information and Software Technology》2006,48(5):345-354
This paper investigates trust in software outsourcing relationships. The study is based on an empirical investigation of eighteen high maturity software vendor companies based in India. Our analysis of the literature suggests that trust has received a lot of attention in all kinds of business relationships. This includes inter-company relationships, whether cooperative ventures or subcontracting relationships, and relationship among different parts of a single company. However, trust has been relatively under-explored in software outsourcing relationships. In this paper, we present a detailed empirical investigation of trust in commercial software outsourcing relationships. The investigation presents what vendor companies perceive about getting trust from client companies in outsourcing relationships. We present the results in two parts—(1) achieving trust initially in outsourcing relationships and (2) maintaining trust in ongoing outsourcing relationships. Our findings confirm that the critical factors to achieving trust initially in an outsourcing relationship include previous clients' reference and experience of vendor in outsourcing engagements. Critical factors identified for maintaining trust in an established outsourcing relationship include transparency, demonstrability, honesty, process followed and commitment. Our findings also suggest that trust is considered to be very fragile in outsourcing relationships. 相似文献
8.
Synching or sinking: global software outsourcing relationships 总被引:1,自引:0,他引:1
Global software outsourcing is the outsourcing of software development to subcontractors outside the client organization's home country, India is the leading GSO subcontractor, registering average annual growth of more than 40 percent over the last decade and developing nearly US$4 billion in software for foreign clients in FY 1999. Indian firms now develop software for nearly one-third of the Fortune 5002. The authors investigate the strategies that differentiate successful and unsuccessful value chain moves 相似文献
9.
Christopher Williams 《Information Systems Journal》2011,21(4):335-356
We use knowledge‐based theory to develop and test a model of client–vendor knowledge transfer at the level of the individual offshore information systems engineer. We define knowledge transfer in this context in terms of mechanisms by which an offshore engineer employed by a vendor can (a) gain understanding of their onshore client; and (b) utilize their knowledge for the benefit of the client. Over large geographic, cultural and institutional distances, effective knowledge transfer is difficult to achieve, although it is central to the success of many offshore outsourcing contracts. Our empirical test consists of a survey of vendor software engineers physically located in India but working on development projects for clients in Europe and the United States. The findings support predictions regarding engineer exposure to explicit and tacit knowledge: We find client–vendor knowledge transfer to the offshore vendor engineer to be positively associated with formal training and client embedment. We also test whether an offshore vendor engineer's inappropriate reliance on informal discussions in the offshore location hinders effective client–vendor knowledge transfer. Our result for this is mixed. Finally, we show differences between offshore engineers who have had previous onshore experience and those who have not. Client embedment is a potent driver of knowledge transfer when the offshore engineer has had previous onshore placement, while it acts to reduce inappropriate reliance on informal discussions for those that have not had an onshore placement. 相似文献
10.
11.
Quality is meeting requirements - or is it? The authors challenge this familiar metaphor for requirements and introduce a new one based on their experience in an industry that seems far from software development or is it?. 相似文献
12.
Jan Pries-Heje Richard Baskerville Galina Ianshina Hansen 《Information Technology for Development》2013,19(1):5-30
Economic factors are driving software development projects onto globally dispersed models, as offshore outsourcing becomes more common. Software development companies in developing economies compete for lucrative, job-creating offshore contracts on the basis of industry maturity, labor skills, technology infrastructure, and government support. Diffusion of technology is a key aspect of each of these determinants of competitiveness. This paper analyzes the development of strategies for the diffusion of short-cycle-time software development into and within Russia. Short-cycle-time development is sometimes called agile development or Internet-speed development and uses a number of techniques to move software quickly into production. These techniques are spreading rapidly among software developers worldwide. The benefits of these techniques are well known and provide a credible explanation for why this rapid diffusion is occurring. This paper explains how these techniques are spreading in a borderless fashion. Using the Kline model of innovation diffusion and the Greiner model of evolution and growth of organizations, we analyze the enablers and barriers to diffusion of short-cycle-time software development techniques in Russia. This analysis reveals a complex interaction of political, economic, and technical elements enabling and inhibiting the development of knowledge that supports the innovation diffusion necessary for companies to compete for offshore contracts. © 2005 Wiley Periodicals, Inc. 相似文献
13.
《Information & Management》1996,31(3):165-175
Frameworks intended for identifying and organizing issues associated with offshore outsourcing of software development have focused on project or site selection. Existing frameworks are not comprehensive because they do not fully address one or more of the following issues: (1) the relationship between project characteristics and site suitability, (2) financial and intellectual property issues in the context of software development, and (3) the role of agents outside the outsourcing and vendor firms in the offshore outsourcing process. To overcome these limitations, we propose a more comprehensive framework that links projects (which require resource) and sites (which possess resources). It also includes environmental agents whose actions affect resource availability at the sites. The framework serves as an useful tool to systematically address the issues that arise in the context of offshore outsourcing of software development. We use the framework to review and classify existing literature. 相似文献
14.
Andreas Henelius Kai Puolamäki Henrik Boström Lars Asker Panagiotis Papapetrou 《Data mining and knowledge discovery》2014,28(5-6):1503-1529
Classifiers are often opaque and cannot easily be inspected to gain understanding of which factors are of importance. We propose an efficient iterative algorithm to find the attributes and dependencies used by any classifier when making predictions. The performance and utility of the algorithm is demonstrated on two synthetic and 26 real-world datasets, using 15 commonly used learning algorithms to generate the classifiers. The empirical investigation shows that the novel algorithm is indeed able to find groupings of interacting attributes exploited by the different classifiers. These groupings allow for finding similarities among classifiers for a single dataset as well as for determining the extent to which different classifiers exploit such interactions in general. 相似文献
15.
Up-to-date preservation of project knowledge like developer communication and design documents is essential for the successful evolution of software systems. Ideally, all knowledge should be preserved, but since projects only have limited resources, and software systems continuously grow in scope and complexity, one needs to prioritize the subsystems and development periods for which knowledge preservation is more urgent. For example, core subsystems on which the majority of other subsystems build are obviously prime candidates for preservation, yet if these subsystems change continuously, picking a development period to start knowledge preservation and to maintain knowledge for over time become very hard. This paper exploits the time dependence between code changes to automatically determine for which subsystems and development periods of a software project knowledge preservation would be most valuable. A case study on two large open source projects (PostgreSQL and FreeBSD) shows that the most valuable subsystems to preserve knowledge for are large core subsystems. However, the majority of these subsystems (1) are continuously foundational, i.e., ideally for each development period knowledge should be preserved, and (2) experience substantial changes, i.e., preserving knowledge requires substantial effort. 相似文献
16.
17.
One of the most popular strategies in business today is global outsourcing. The information which needs to be provided for outsourcing and obtained from outsourced maintenance during the R&D processes is very important for the successful development of a product. Although DFX plays a key role in the R&D processes by considering the important X item constraints simultaneously in the design stage, the vague outsourced maintenance data and knowledge are seldom properly analyzed and used. In this study, fuzzy decision tree is used to form a search mechanism for vague knowledge in design for outsourcing (DFO) with index for classifying vague knowledge. Computational experiments were conducted to demonstrate the performance of the proposed search mechanism and knowledge classification. 相似文献
18.
《Information and Software Technology》2008,50(6):499-510
Although Japan represents the single largest Asian market and 10% of the global software outsourcing market, little is understood about how Japanese companies make software project outsourcing decisions. Tried-and-tested outsourcing models consistently fail to predict the outsourcing decisions of Japanese companies, leaving global software development companies with little usable guidance in the Japanese outsourcing market. Analyses of 396 software project outsourcing decisions made by 33 IT managers in Toshiba, Hitachi, Fujitsu, IBM-Japan, and Mitsubishi provides novel insights into the drivers of Japanese software outsourcing decisions. The objective of this paper is to develop an analytic tool to predict the likelihood of a software project being outsourced by Japanese IT managers. 相似文献
19.
Xie T. Notkin D. 《IEEE transactions on pattern analysis and machine intelligence》2005,31(10):869-883
Comparing behaviors of program versions has become an important task in software maintenance and regression testing. Black-box program outputs have been used to characterize program behaviors and they are compared over program versions in traditional regression testing. Program spectra have recently been proposed to characterize a program's behavior inside the black box. Comparing program spectra of program versions offers insights into the internal behavioral differences between versions. In this paper, we present a new class of program spectra, value spectra, that enriches the existing program spectra family. We compare the value spectra of a program's old version and new version to detect internal behavioral deviations in the new version. We use a deviation-propagation call tree to present the deviation details. Based on the deviation-propagation call tree, we propose two heuristics to locate deviation roots, which are program locations that trigger the behavioral deviations. We also use path spectra (previously proposed program spectra) to approximate the program states in value spectra. We then similarly compare path spectra to detect behavioral deviations and locate deviation roots in the new version. We have conducted an experiment on eight C programs to evaluate our spectra-comparison approach. The results show that both value-spectra-comparison and path-spectra-comparison approaches can effectively expose program behavioral differences between program versions even when their program outputs are the same, and our value-spectra-comparison approach reports deviation roots with high accuracy for most programs. 相似文献
20.
Hume is a contemporary programming language oriented to systems with strong resource bounds, based on autonomous concurrent
“boxes” interacting across “wires”. Hume’s design reflects the explicit separation of coordination and computation aspects
of multi-process systems, which greatly eases establishing resource bounds for programs. However, coordination and computation
are necessarily tightly coupled in reasoning about Hume programs. Furthermore, in Hume, local changes to coordination or computation,
while preserving input/output correctness, can have profound and unforeseen effects on other aspects of programs such as timing
of events and scheduling of processes. Thus, traditional program calculi prove inappropriate as they tend to focus exclusively
either on the coordination of interacting processes or on computation within individual processes. 相似文献