A new softwaredevelopment process, called test-driven modeling, applies the XP test-driven paradigm in a model-driven development environment. TDM involves automatic testing through simulation and using executable mo...
详细信息
A new softwaredevelopment process, called test-driven modeling, applies the XP test-driven paradigm in a model-driven development environment. TDM involves automatic testing through simulation and using executable models as living software system architecture documents. Compared to traditional plan-driven methods, TDM can save a significant amount of time because it reuses message sequence charts and modeling diagrams.
New product development is notoriously difficult, and software new product development particularly so. Although a great deal of research has investigated new product development, projects developing new software prod...
详细信息
New product development is notoriously difficult, and software new product development particularly so. Although a great deal of research has investigated new product development, projects developing new software products continue to have problems meeting their goals. In fact, one line of research proposes new product development is difficult because it must solve an ongoing stream of complex problems. I integrate this line of research with two others to develop a conceptual framework of new product development as a,process of finding and solving problems. From this framework, I develop four hypotheses that predict the probability projects developing new products will attain their development schedule and product quality goals. More specifically, I hypothesize that projects that generate access to, and integrate, large quantities of creative ideas, in-depth knowledge, and accurate information, should increase their probability of attaining schedule and product quality goals. Projects developing new products should both generate and integrate this "knowledge" to solve the problems that stand between them and their goals. However, how projects find problems also matters. Projects that search to identify problems earlier, rather than later, should also increase their probability of meeting schedule and product quality goals. To test these hypotheses I gathered data on 33 projects that tried to develop new software products from 23 firms, through interviews and questionnaires. Results from regression analyses support three out of four hypotheses. The projects that had high levels of both knowledge generation and integration had a significantly higher probability of attaining their product quality goals, but not their schedule goals. In contrast, projects that merely searched to find problems had a higher probability of attaining both goals. Moreover, projects that not only generated and integrated knowledge to solve problems, but also searched to find them, had the high
Business needs often require softwaredevelopment to be distributed over many sites, often in different countries and continents. The authors introduce a quantitative method to assess the extent of the coordination pr...
详细信息
Business needs often require softwaredevelopment to be distributed over many sites, often in different countries and continents. The authors introduce a quantitative method to assess the extent of the coordination problem in such environments by identifying tightly coupled work items, or chunks, that span several sites. They then propose a method to distribute the work among sites to minimize the need for coordination. The method distinguishes among parts of software that are not tightly coupled with each other by analyzing the work items that are recorded in software change management systems. The authors use this quantitative analysis to define a process for identifying chunks that are candidates to be moved to different sites for development.
System development involves understanding the application domain, the system's operational constraints, the specific functionality that stakeholders require, and essential system characteristics such as performanc...
详细信息
System development involves understanding the application domain, the system's operational constraints, the specific functionality that stakeholders require, and essential system characteristics such as performance and dependability. The author introduces the fundamental activities of RE, focusing on how the changing nature of software engineering has led to new RE challenges. New techniques can help meet these challenges by integrating RE more closely with other systems implementation activities.
The rise of component-based softwaredevelopment has created an urgent need for effective application program interface (API) documentation. Experience has shown that it is hard to create precise and readable document...
详细信息
The rise of component-based softwaredevelopment has created an urgent need for effective application program interface (API) documentation. Experience has shown that it is hard to create precise and readable documentation. Prose documentation can provide a good overview but lacks precision. Formal methods offer precision but the resulting documentation is expensive to develop. Worse, few developers have the skill or inclination to read formal documentation. We present a pragmatic solution to the problem of API documentation. We augment the prose documentation with executable test cases, including expected outputs, and use the prose plus the test cases as the documentation. With appropriate tool support, the test cases are easy to develop and read. Such test cases constitute a completely formal, albeit partial, specification of input/output behavior. Equally important, consistency between code and documentation is demonstrated by running the test cases. This approach provides an attractive bridge between formal and informal documentation. We also present a tool that supports compact and readable test cases;and generation of test drivers and documentation, and illustrate the approach with detailed case studies. (C) 2002 Elsevier Science Inc. All rights reserved.
This article deliberates on the pros and cons of software licensing. This article provides a comparative analysis of the evolution of the medical profession to that of software engineering. This analysis supports the ...
详细信息
This article deliberates on the pros and cons of software licensing. This article provides a comparative analysis of the evolution of the medical profession to that of software engineering. This analysis supports the contention that licensing will occur but that one must wait longer, perhaps much longer before the professional societies finally agree on the criteria for licensing. It is opined that the ramifications of allowing unlicensed physicians to practice are quite clear. Perhaps less clear are the effects of allowing unlicensed software engineers to practice. It is informed that Texas is the only state that requires licensing of software engineers who are engaged in the development of systems that demonstrate 'the application of mathematical, physical, or computer sciences to activities such as real-time and embedded systems, information or financial systems, user interfaces, and networks.'
This paper describes the software quality management system for the Application system/400(R) (AS/400(R)) computer system. Key elements of the quality management system such as customer satisfaction, product quality, ...
详细信息
This paper describes the software quality management system for the Application system/400(R) (AS/400(R)) computer system. Key elements of the quality management system such as customer satisfaction, product quality, continuous process improvement, and people are discussed. Based on empirical data, recent progress in several quality parameters of the AS/400 software system are examined. The quality action road map that describes the various quality actions that were deployed is presented, as are the other elements that enabled the implementation of the quality management system.
The article focuses on the use of the Python programming language in improving the softwaredevelopment cycle for sophisticated operations-research applications. Python, the host language, along with APLEpy (Algebraic...
详细信息
The article focuses on the use of the Python programming language in improving the softwaredevelopment cycle for sophisticated operations-research applications. Python, the host language, along with APLEpy (Algebraic Programming Language Extension for Python) and SimPy (Simulation in Python), support the mathematical programming and simulation models. Two types of software used for coding and solving mathematical-programming models, the solver software and the modelling software, are discussed.
Context: Developers design test suites to verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. In practice, one tes...
详细信息
Context: Developers design test suites to verify that software meets its expected behaviors. Many dynamic analysis techniques are performed on the exploitation of execution traces from test cases. In practice, one test case may imply various behaviors. However, the execution of a test case only yields one trace, which can hide the others. Objective: In this article, we propose a new technique of test code refactoring, called B-Refactoring. The idea behind B-Refactoring is to split a test case into small test fragments, which cover a simpler part of the control flow to provide better support for dynamic analysis. Method: For a given dynamic analysis technique, B-Refactoring monitors the execution of test cases and constructs small test cases without loss of the testability. We apply B-Refactoring to assist two existing analysis tasks: automatic repair of if-condition bugs and automatic analysis of exception contracts. Results: Experimental results show that B-Refactoring can effectively improve the execution traces of the test suite. Real-world bugs that could not be previously fixed with the original test suites are fixed after applying B-Refactoring;meanwhile, exception contracts are better verified via applying B-Refactoring to original test suites. Conclusions: We conclude that applying B-Refactoring improves the execution traces of test cases for dynamic analysis. This improvement can enhance existing dynamic analysis tasks. (c) 2016 Elsevier B.V. All rights reserved.
This paper presents data that describe the effects on softwaredevelopment performance due to both the production methods of softwaredevelopment and the social processes of how software developers work together Data ...
详细信息
This paper presents data that describe the effects on softwaredevelopment performance due to both the production methods of softwaredevelopment and the social processes of how software developers work together Data from 40 softwaredevelopment teams at one site that produces commercial software are used to assess the effects of production methods and social processes on both software product quality and team performance. Findings indicate that production methods, such as the use of software methodologies and automated development tools, provide no explanation for the variance in either software product quality or team performance. Social processes, such as the level of informal coordination and communication, the ability to resolve intragroup conflicts, and the degree of supportiveness among the team members, can account for 25 percent of the variations in software product quality. These findings suggest two paradoxes for practice: (1) that teams of software developers are brought together to create variability and production methods are used to reduce variability, and (2) that team-level social processes may be a better predictor of softwaredevelopment team performance than are production methods. These findings also suggest that factors such as other social actions or individual-level differences must account for the large and unexplained variations in team performance.
暂无评论