• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 628
  • 311
  • 65
  • 61
  • 41
  • 21
  • 17
  • 15
  • 8
  • 7
  • 7
  • 6
  • 6
  • 6
  • 5
  • Tagged with
  • 1391
  • 1391
  • 589
  • 425
  • 306
  • 266
  • 230
  • 227
  • 174
  • 166
  • 133
  • 126
  • 126
  • 120
  • 118
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
441

How to develop usable groupware

Eriksson, Anna, Falk, Linda January 2010 (has links)
TOUCHE (Task-Oriented and User-Centered process model for developing interfaces for Human-Computer-Human Environments) is a process model for software development created to develop groupware. The creation of TOUCHE is part of a research project carried out at three Spanish universities. The aim of the project is to create a complete process model for the development of usable groupware. This thesis is part of this project and aims to further advance the TOUCHE process model so that it fulfills its aim on developing for usability. The thesis is based on research from the HCI (Human-Computer Interaction) and CSCW (Computer-Supported Cooperative Work) fields. In the thesis a new version of TOUCHE is created which has a strong focus on developing for usability.This is done by selecting four principles from the HCI field, incorporating what is considered to be most important when developing for usability. The principles are a strong focus on, and the involvement of users throughout the whole process, an iterative process, multidisciplinary design, and aim for groupware usability. TOUCHE is analyzed from these principles and missing elements are identified. The difficulties of integrating these elements into TOUCHE are discussed and finally elements are chosen to be integrated into TOUCHE. These elements include a usability guide, evaluation cycles, prototyping, pre-documentation and a multidisciplinary team.
442

Improved effort estimation of software projects based on metrics

Andersson, Veronika, Sjöstedt, Hanna January 2005 (has links)
Saab Ericsson Space AB develops products for space for a predetermined price. Since the price is fixed, it is crucial to have a reliable prediction model to estimate the effort needed to develop the product. In general software effort estimation is difficult, and at the software department this is a problem. By analyzing metrics, collected from former projects, different prediction models are developed to estimate the number of person hours a software project will require. Models for predicting the effort before a project begins is first developed. Only a few variables are known at this state of a project. The models developed are compared to a current model used at the company. Linear regression models improve the estimate error with nine percent units and nonlinear regression models improve the result even more. The model used today is also calibrated to improve its predictions. A principal component regression model is developed as well. Also a model to improve the estimate during an ongoing project is developed. This is a new approach, and comparison with the first estimate is the only evaluation. The result is an improved prediction model. There are several models that perform better than the one used today. In the discussion, positive and negative aspects of the models are debated, leading to the choice of a model, recommended for future use.
443

Evidence-based Software Process Recovery

Hindle, Abram 20 October 2010 (has links)
Developing a large software system involves many complicated, varied, and inter-dependent tasks, and these tasks are typically implemented using a combination of defined processes, semi-automated tools, and ad hoc practices. Stakeholders in the development process --- including software developers, managers, and customers --- often want to be able to track the actual practices being employed within a project. For example, a customer may wish to be sure that the process is ISO 9000 compliant, a manager may wish to track the amount of testing that has been done in the current iteration, and a developer may wish to determine who has recently been working on a subsystem that has had several major bugs appear in it. However, extracting the software development processes from an existing project is expensive if one must rely upon manual inspection of artifacts and interviews of developers and their managers. Previously, researchers have suggested the live observation and instrumentation of a project to allow for more measurement, but this is costly, invasive, and also requires a live running project. In this work, we propose an approach that we call software process recovery that is based on after-the-fact analysis of various kinds of software development artifacts. We use a variety of supervised and unsupervised techniques from machine learning, topic analysis, natural language processing, and statistics on software repositories such as version control systems, bug trackers, and mailing list archives. We show how we can combine all of these methods to recover process signals that we map back to software development processes such as the Unified Process. The Unified Process has been visualized using a time-line view that shows effort per parallel discipline occurring across time. This visualization is called the Unified Process diagram. We use this diagram as inspiration to produce Recovered Unified Process Views (RUPV) that are a concrete version of this theoretical Unified Process diagram. We then validate these methods using case studies of multiple open source software systems.
444

Project Suitability for Agile methodologies

Spasibenko, Nikolay, Alite, Besiana January 2009 (has links)
Software projects are known for their failure rate, where many are being delivered late, over budget or being canceled while in development. The reason to it is changing requirements and intangibility of the software. Being so abstract it is difficult to imaging all the aspects of the software at the requirements stage. Also technology is playing a major role since processing power, storage space, and data transfer speeds are improving from year to year. Agile methodologies are addressing projects with unclear requirements making process of implementing new specifications along the project much easier and less costly. However the success rate of the software projects did not improve much since the introduction of Agile methodologies. This thesis is looking at what type of projects fit different methodologies and what are factors which practitioners should take into account when selecting methodology for a particular project, The thesis opens up with introduction which sets the research question and provides a brief background to the research topic. In subsequent chapter literature review is conducted to find out what does literature and other researchers have said on the same topic. Third chapter discusses underlying research philosophy and discusses the data collection tools. Next chapter discusses the findings of the research. Interviews has been conducted with project management professionals from Sweden, US, UK and Canada. It was identified through the analysis of patters that Agile methodologies are not well suited for projects involving databases, embedded development and computationally complex projects. Through the analysis of the questionnaire several project characteristics were identified which suit Agile methodologies better than traditional ones: unclear requirements, high risk of failure etc… In the last chapter the thesis concludes the findings and its theoretical and practical implications.
445

Assembly Instruction Level Reverse Execution for Debugging

Akgul, Tankut 12 April 2004 (has links)
Reverse execution can be defined as a method which recovers the states that a program attains during its execution. Therefore, reverse execution eliminates the need for repetitive program restarts every time a bug location is missed. This potentially shortens debug time considerably. This thesis presents a new approach which, for the first time ever (to the best of the author's knowledge), achieves reverse execution at the assembly instruction level on general purpose processors via execution of a reverse program. A reverse program almost always regenerates destroyed states rather than restoring them from a record. Furthermore, a reverse program provides assembly instruction by assembly instruction execution in the backward direction. This significantly reduces state saving and thus decreases the associated memory and time costs of reverse execution support. Furthermore, this thesis presents a new dynamic slicing algorithm that is built on top of assembly instruction level reverse execution. Dynamic slicing is a technique which isolates the code parts that influence an erroneous variable at a program point. The algorithm presented in this thesis achieves dynamic slicing via execution of a reduced reverse program. A reduced reverse program is obtained from a full reverse program by omitting the instructions that recover states irrelevant to the dynamic slice under consideration. This provides a reverse execution capability along a designated dynamic slice only. The use of a reduced reverse program for dynamic slicing removes the need for runtime execution trajectories. The methodology of this thesis has been implemented on a PowerPC processor with a custom made debugger. As compared to previous work, all of which heavily use state saving techniques, the experimental results show up to 2206X reduction in runtime memory usage, up to 403X reduction in forward execution time overhead and up to 2.32X reduction in forward execution time for the tested benchmarks. Measurements on the selected benchmarks also indicate that the dynamic slicing method presented in this thesis can achieve up to six orders of magnitude (1,928,500X) speedups in reverse execution along the dynamic slice as compared to full-scale reverse execution.
446

A Distributed Online Curriculum And Courseware Development Model

Onay Durdu, Pinar 01 November 2007 (has links) (PDF)
A distributed online curriculum and courseware (DONC2) development model is proposed in this study. Collaborative courseware development teams which may work in distributed academic or private institutions who need to develop higher quality, reduced cost, on time products are the users of DONC2 development model. The related features from the disciplines of instructional design and software engineering were combined and concepts like usability, especially in terms of formative and summative evaluation, interoperability and reusability were integrated into the model. The research is conducted as a collective case study, including four cases with distinctive characteristics to reveal the several practices in online curriculum and courseware development work. The DONC2 development model was proposed using the results gathered from the investigated cases and a literature survey. The model uses the iterative incremental and agile software development approaches in order to overcome the disadvantages of other linear system development approaches. This enables building releasable products in short time periods with increased quality. Furthermore, continuous communication, evaluation and feedback as well as good project management and readiness to adapt to changes are integrated as the essential characteristics. DONC2 development model is different than previous linear and non-adaptive models in all of these aspects.
447

The Effects Of Test Driven Development On Software Productivity And Software Quality

Unlu, Cumhur 01 September 2008 (has links) (PDF)
In the 1990s, software projects became larger in size and more complicated in structure. The traditional development processes were not able to answer the needs of these growing projects. Comprehensive documentation in traditional methodologies made processes slow and discouraged the developers. Testing, after all code is written, was time consuming, too costly and made error correction and debugging much harder. Fixing the code at the end of the project also affects the internal quality of the software. Agile software development processes evolved to bring quick solutions to these existing problems of the projects. Test Driven Development (TDD) is a technique, used in many agile methodologies, that suggests minimizing documentation, writing automated tests before implementing the code and frequently run tests to get immediate feedback. The aim is to increase software productivity by shortening error correction duration and increase software quality by providing rapid feedback to the developer. In this thesis work, a software project is developed with TDD and compared with a control project developed using traditional development techniques in terms of software productivity and software quality. In addition, TDD project is compared with an early work in terms of product quality. The benefits and the challenges of TDD are also investigated during the whole process.
448

A Study of Knowledge Withholding Intentions in Software Development Teams: The Role of Contextual Factors and Personal Cognitions

Huang, Chien-chih 17 January 2009 (has links)
Knowledge withholding intentions (KWI), defined as the likelihood an individual will give less than full effort on knowledge contribution. If every member withholds knowledge in a software development team, it results in poor project performance. However, little research has been conducted to investigate the factors that influence knowledge withholding intentions. The purpose of this paper is to develop a theoretical model based Social Cognitive Theory and extends it with Social Exchange Theory to analyze the antecedents of knowledge withholding intentions from personal cognitions and contextual factors. Furthermore, the contextual influencers are subdivided into dimensions of rational choice, normative conformity, and affective bonding with a comprehensive view. Through a survey of 227 participants who have experience in software development, task interdependence, procedural justice, leader-member exchange, team-member exchange were found to have negative influences on knowledge withholding intentions. On the contrary, knowledge withholding outcome expectations and knowledge withholding self-efficacy were found to have positive influences on knowledge withholding intentions.
449

A Model and Implementation of a Security plug-in for the Software Life Cycle

Ardi, Shanai January 2008 (has links)
<p>Currently, security is frequently considered late in software life cycle. It is often bolted on late in development, or even during deployment or maintenance, through activities such as add-on security software and penetration-and-patch maintenance. Even if software developers aim to incorporate security into their products from the beginning of the software life cycle, they face an exhaustive amount of ad hoc unstructured information without any practical guidance on how and why this information should be used and what the costs and benefits of using it are. This is due to a lack of structured methods.</p><p>In this thesis we present a model for secure software development and implementation of a security plug-in that deploys this model in software life cycle. The model is a structured unified process, named S3P (Sustainable Software Security Process) and is designed to be easily adaptable to any software development process. S3P provides the formalism required to identify the causes of vulnerabilities and the mitigation techniques that address these causes to prevent vulnerabilities. We present a prototype of the security plug-in implemented for the OpenUP/Basic development process in Eclipse Process Framework. We also present the results of the evaluation of this plug-in. The work in this thesis is a first step towards a general framework for introducing security into the software life cycle and to support software process improvements to prevent recurrence of software vulnerabilities.</p> / Report code: LiU-Tek-Lic-2008:11.
450

Improving the test environment with focus on computer cloning, hotfixing and simulation software

Jacobsson, Robert January 2008 (has links)
<p>When restoring a test environment, the key to success is that the process is fast and automatic. The goal is to have as little user interaction as possible.</p><p>This master thesis evaluates solutions for handling the restoration of the test environments and investigates a couple of possible approaches. It turns out that the most effective way of solving the problem is to elaborate a customized software. The interface and workflow of this software is described in the thesis.</p><p>Testing of the new software is performed and the thesis ends with some conclusions regarding the new solution and proposals for future development.</p>

Page generated in 0.0731 seconds