• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 7534
  • 5170
  • 1352
  • 678
  • 657
  • 587
  • 436
  • 370
  • 206
  • 103
  • 92
  • 92
  • 92
  • 87
  • 75
  • Tagged with
  • 21217
  • 7162
  • 5834
  • 2352
  • 2064
  • 2051
  • 1983
  • 1930
  • 1740
  • 1678
  • 1475
  • 1246
  • 1179
  • 1135
  • 1134
  • 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.
531

Capturing Architectural Knowledge of Software Product Lines

Herbas, Jose Antonio Mercado January 2011 (has links)
The architecture of a software system is defined by significant decisions that drive the way in which the software is designed implemented and maintained. In the context of software product lines, these decisions will determine the design of an architec- ture that provides the software with the ability to be configured for different product variants and extended to accommodate future requirements. Although, variability models describe the different configurations of current and fu- ture products that the product line supports, the knowledge of how the architecture was designed to support variations of a product in space and time exists only in the architects’ mind or remains implicit in architectural models. This thesis argues that the knowledge found in architectural models and design rationale can be used to facilitate the derivation of product variants and the evolution of the product line. To support this notion, we propose the AKinSPL method for capturing the architec- tural knowledge in software product lines. The method is founded on the factors that architects take into consideration when designing the architecture, and a meta-model that represents the mental models and processes architects follow during the creation of a product line architecture. To validate the concepts of AKinSPL, its guidelines were mapped to activities of the PuLSE-DSSA methodology and new artifacts were created to capture architectural knowledge on the basis of those guidelines. Next, it was applied to capture the archi- tectural knowledge of an embedded software system for automatic control of agricul- tural equipment. The results showed that diagrams augmented with design rationale enable a faster understanding of the purpose of the architectural models. Similarly, the prescriptions of the architecture with respect to the implementation are conveyed more easily. / jmercadoh@gmail.com Tel: +4916099058545
532

Impact of Internet of Things on Software Business Model and Software Industry

Murari, Bhanu Teja January 2016 (has links)
Context: Internet of things (IoT) technology is rapidly increasing and changes the business environment for a software organization. There is a need to understand what are important factors of business model should a software company focus on obtaining benefits from the potential that IoT offers. This thesis also focuses on finding the impact of IoT on software business model and software industry especially on software development. Objectives: In this thesis, we do research on IoT software business model and also software industry. The objectives of this research are included as follows: 1. Summarize the current business models for IoT and to identify the important factor for IoT business models. 2. Analyze the impact of IoT on software business models. 3. Analyze the impact of IoT on Software development especially on requirement engineering. 4. Provide recommendations how requirements engineering are connected to provide better support business modeling for IoT. Methods: We conducted a systematic literature review based on the guidelines suggested by Wohlin, to find the current business model for the IoT. Next, we designed and executed an industrial survey to explore the impact of IoT on a software business model and software development.The results of survey were statistically analyzed using descriptive statistics, chi-square test of significance and Friedman test. Results: 21 peer reviewed papers were identified which were analyzed in relation to their rigor and relevance. From the literature reviews, results indicate 9 business model elements are being focused on the IoT business models. In addition to this 4 most important business model factors were identified. On the other hand, the industrial survey resulted from 56 survey responses, identified that value proposition is the most important element for the IoT business model. It was also observed that even the impact is high for the value proposition. Regarding the software development, customer demands is highly impactful and moreover, the results suggest that requirement management is highly impactful. Conclusions: The current software business models were found for the IoT industries. In additional the software business model elements which were majorly focused in the IoT industries were also identified and the most important factor which brings the value for IoT business models were also discussed. Furthermore the impact of IoT on software business model element and software development, especially on the requirement phase, was analyzed and discussed. This helps the practitioners to understand the impact of IoT on software business models and software industry and helps the organization to improve IoT business to its full potential.
533

Variability in Evolving Software Product Lines / Variabilitet i evolverande mjukvaruproduktlinjer

Svahnberg, Mikael January 2000 (has links)
Software reuse is perceived as the key to successful software development because of the potential for shortened time to market, increased quality and reduced costs. In recent years software product lines have emerged as a promising way to achieve large scale software reuse. Challenges against successful reuse when developing in a software product line involves management of the differences between products, and the differences between different releases of the products. In this thesis we present the experiences from a series of case studies within four software companies. Based on these we present a taxonomy of the technical solutions to manage product differences, a historical essay of how components in a software product line can evolve and what mechanisms that are used to support this evolution. From this we elaborate on the connection between evolution and variability, i.e. the ability of the software architecture and components to support the differences between products. We argue that evolution is strongly connected to variability, and that by foreseeing the evolution, the software can be instrumented with appropriate variability mechanisms accordingly. Moreover, we argue that some types of evolution are more frequent than others, and that the efforts should mainly go in the direction of foreseeing and instrumenting for these types of evolution.
534

Collaboration via aligned autonomy for commercial software teams

Kalliamvakou, Eirini 06 November 2017 (has links)
Modern software organizations produce increasingly complex and sophisticated products that build on the effort of multiple individuals and teams. This reality highlights the critical importance of collaboration and the support of its various facets, which are still central concerns for software engineering research and practice. Software organizations also aim to motivate their developers and teams and help them be productive. Knowledge work research highlights the importance of autonomy in work design for satisfaction and happiness. The now pervasive adoption of agile methods and advocacy of self-organization have made autonomy and its challenging practical application a mainstream focus for software engineering research and practice. Employee autonomy and effective collaboration are thus essential for software companies to motivate developers and help them deliver successful software products. Yet, essential as it might be for organizations to combine them, autonomy and collaboration seem conceptually and practically at odds with one another; is it possible for people or teams that are working together on something be autonomous? One can imagine teams finding it challenging to organize the development work of autonomous developers. Furthermore, on the organizational level it can be difficult to align autonomous agents towards a desirable company strategy. Finally, management may need to be revisited as a function when individuals or teams have autonomy in their work. Given the complex landscape that software teams are part of in today’s mod- ern organizations, we need to understand how they collaborate in the context of their environment. This dissertation builds on three substantial, diverse case studies based in industry, capturing various ways that several software organizations organize collaborative development work. In the first study I examined how 24 commercial software teams in di↵erent companies organize their development work through their use of GitHub. In the second study I probed how Atlassian scales the practices of its rapidly growing development teams and enacts a culture that keeps them aligned to the strategic goals. In the third study I explored the role of engineering managers at Microsoft and how they support software developers and teams to organize their own work and generate quality outcomes that meet organizational goals. The studies are primarily qualitative and I have used a variety of data collection methods including interviews, observations, documentation review, and surveys. Tension between autonomy and collaboration surfaced in the studies and it be- came the central challenge I investigate in this dissertation. By understanding the meaning of autonomy for the studied organizations, the definition and characteristics of autonomy evolved and, upon synthesis of the findings, I argue that autonomy is not incompatible with collaboration but rather that the two concepts build on each other. I articulate and propose a conceptual framework of collaboration via aligned autonomy for software companies in this dissertation. This represents a holistic view of organizations and includes four areas to consider when making autonomy the foundation of collaboration: team collaboration practices, scaling strategies, cultural values, and manager roles. The framework has implications for the study of collaborative software development by proposing to look beyond the combination of independence and coordination as the basis of collaboration. At the same time, the framework can guide commercial software teams and organizations on how to empower development teams, yet not compromise strategic vision. / Graduate
535

The strategic role of software development within the software industry of the Western Cape (South Africa)

Norman, Michael John January 2016 (has links)
Philosophiae Doctor - PhD / Africa’s mobile phone penetration has surpassed that of the United States of America and information communication technologies, according to the World Bank, contribute more to its gross domestic product than the global average. What has been the enabling environment for the development of software and mobile applications to sustain this information revolution? India, an affiliate of the family of economic nations consisting of Brazil, Russia, China and South Africa, has enjoyed remarkable success as a software developing country and thus could provide some guidelines in this respect. Ireland on the other hand, as a developed country, has also established a successful software industry. In this thesis, the key initiatives taken by both India and Ireland to establish their software industries were investigated. A grounded research approach, incorporating case studies of India, Ireland and South Africa, using a content analysis approach, was used to analyse cited literature about software development in these countries. India’s approach, which includes enabling policies, economic incentives, educational and human resource initiatives, attracting outsourced businesses from other countries and a combination of government and industry initiatives, has contributed to its software industry’s success. Ireland’s approach was industry initiatives, policies, software products and educational developments. Since India and South Africa share similar challenges and Ireland and South Africa have a common heritage, the initiatives by India and Ireland were juxtaposed with known initiatives in South Africa to determine what initiatives are needed for potential success of the software industry in the Western Cape region and in developing countries beyond. A better understanding of the software industry in the Western Cape Province of South Africa and the views of software practitioners in the region has been formulated. Recommendations on what needs to be done to promote the software industry in the Western Cape Province in terms of policy (local, provincial and national government), educational (school, tertiary), practice and other criteria are presented. / National Research Foundation (NRF)
536

Exploiting structure for scalable software verification

Domagoj, Babić 11 1900 (has links)
Software bugs are expensive. Recent estimates by the US National Institute of Standards and Technology claim that the cost of software bugs to the US economy alone is approximately 60 billion USD annually. As society becomes increasingly software-dependent, bugs also reduce our productivity and threaten our safety and security. Decreasing these direct and indirect costs represents a significant research challenge as well as an opportunity for businesses. Automatic software bug-finding and verification tools have a potential to completely revolutionize the software engineering industry by improving reliability and decreasing development costs. Since software analysis is in general undecidable, automatic tools have to use various abstractions to make the analysis computationally tractable. Abstraction is a double-edged sword: coarse abstractions, in general, yield easier verification, but also less precise results. This thesis focuses on exploiting the structure of software for abstracting away irrelevant behavior. Programmers tend to organize code into objects and functions, which effectively represent natural abstraction boundaries. Humans use such structural abstractions to simplify their mental models of software and for constructing informal explanations of why a piece of code should work. A natural question to ask is: How can automatic bug-finding tools exploit the same natural abstractions? This thesis offers possible answers. More specifically, I present three novel ways to exploit structure at three different steps of the software analysis process. First, I show how symbolic execution can preserve the data-flow dependencies of the original code while constructing compact symbolic representations of programs. Second, I propose structural abstraction, which exploits the structure preserved by the symbolic execution. Structural abstraction solves a long-standing open problem --- scalable interprocedural path- and context-sensitive program analysis. Finally, I present an automatic tuning approach that exploits the fine-grained structural properties of software (namely, data- and control-dependency) for faster property checking. This novel approach resulted in a 500-fold speedup over the best previous techniques. Automatic tuning not only redefined the limits of automatic software analysis tools, but also has already found its way into other domains (like model checking), demonstrating the generality and applicability of this idea. / Science, Faculty of / Computer Science, Department of / Graduate
537

Software Asset Management v bankovním sektoru / Software Asset Management in the banking sector

Lipták, Aleš January 2011 (has links)
Currently, operation of companies is entirely dependent on information and communication technologies (ICT) which are used across all indfustries. There are bigger demands that are placed on the management of individual assets, while software is the most problematic from this perspective. It is necessary for companies to pay sufficient attention to this issue, because there is a high risk of financial penalties in case of its failure. The first objective of this thesis is to provide basic characteristics of Software Asset Management (SAM) belonging to Information Technology Infrastructure Library (ITIL), which is one of the few adressing this area in an entirely way. This objective is default condition for achieving the second objective, where will be analyzed specific case of software asset management in the banking sector. On the basis of the analysis will be accepted proposals for implemention of best practises of SAM. The third objective is enrichment of previous proposals by parts of request for proposal, which are focused on detailed specification of the required functionality of software tools according to SAM. The all tasks will be achieved through the study of relevant sources and through techniques that help with analysis and definition of the future state. The benefits of thesis are in to identification of gaps within software asset management, which obtained through employee survey. The second contribution is to propose changes in the form of specific steps that should help to bring more efficiency to the current state. The last contribution is to summarise new pieces of knowledge, which are extending this issue by information focused on large organisations.
538

Performance measurement as a tool for software engineering

Van Aardt, Jan Markus 22 July 2005 (has links)
Some software development teams regard software performance measurement as a mere luxury. When it happens, it often tends to be infrequent, insufficient and subjective. Countless software projects were sent into an uncontrollable spiral of poor management and unsatisfactory results. By revisiting old ideas and policies, many companies have turned themselves around. To ensure that software engineering does the same, technologies and procedures have to be reevaluated. The fact that many companies have decided to cut costs on technology expenditure necessitates software development teams to look for alternative options for deploying high performance software systems. As many companies are moving into the electronic era and evolving to the next stage of evolution, electronic commerce, the more important it has become to apply these concepts on Internet development projects and procedures. The Internet market has shown that two software providers are aiming for worldwide domination of Internet server deployment, being Microsoft and Apache. Currently, the Apache web server is the most commonly used server on the Internet today (60%), with Microsoft's Internet Information Server (25%) in a strong second place. The need for higher throughput and better services is getting more with each passing day. It increases the pressure on these two software vendors to provide the best architecture for their clients' needs. This study intends to provide the reader with an objective view of a basic performance comparison between these two products and tries to find a correlation between the performance tests and the products' popularity standings. The tests for this study were performed on identical hardware architectures with one difference, being the operating system. By comparing the costly proprietary Microsoft solution with its cheaper open source rival, Linux, certain opinions were tested. Would a product developed by a software company that invests millions of dollars in their products perform better than this free-for-all solution, or would the selfless inputs of hundreds of developers all over the world finally payoff through the creation of the world's best Internet server? The results of these tests were evaluated through formal statistical methods, providing overall comparisons of several common uses of web servers. These results were implemented in a small field test to prove the findings in practice with some interesting outcomes in terms of supportive technologies, new rapid application development (RAD) tools and data access models. This research in itself will not change the mind of any Internet programmer. What it hopes to achieve is to demonstrate software engineers that current processes and methods of developing software are not always the right way of doing things. Furthermore, it highlights many important factors often ignored or overlooked while managing software projects. Change management, process re-engineering and risk management form crucial elements of software development projects. By not adhering to certain critical elements of software development, software projects stand the chance of not reaching their goals and could even fail completely. Performance measurement acts as a tool for software engineering, providing guidelines for technological decisions, project management and ultimately, project success. / Dissertation (MSc (Computer Science))--University of Pretoria, 2005. / Computer Science / unrestricted
539

Diseño de una arquitectura orientada a servicios para la integración y evolución de los sistemas de consulta de causas del Poder Judicial de Chile

Cabrera Encalada, Paúl Romeo January 2017 (has links)
Magíster en Tecnologías de la Información / El Poder Judicial de Chile en su afán de transparentar los procesos, ofrece a sus usuarios (funcionarios públicos y abogados) varios portales en donde se puede consultar las diferentes causas y trámites que se llevan a cabo. Estos portales se encuentran publicados en la página oficial de la institución, pero funcionan de manera independiente según el juzgado al que se consulte: Corte Suprema, Laboral, Cobranza, Penal, Civil, Familia o Apelaciones. Por lo tanto, la arquitectura actual no permite una fácil escalabilidad de los sistemas, ya que al ser soluciones independientes, sus datos y servicios no están integrados y existe duplicidad de ellos. Además, manejan diferentes credenciales de autenticación para cada sistema aunque se trate del mismo usuario. Por otra parte, estos sistemas no están preparados para ser utilizados en dispositivos móviles, como tablets o teléfonos inteligentes, por lo tanto sus interfaces de usuario no son adaptables a los diferentes tipos de pantalla y resoluciones. Lamentablemente una parte importante de los usuarios requiere acceso a la información en terreno, por lo que el acceso para móviles se hace indispensable. Para dar solución a estos problemas se realizaron nuevos desarrollos que apuntan a unificar estos sistemas de consulta, adaptar sus interfaces de usuario a dispositivos móviles y facilitar el acceso a los usuarios estacionarios y móviles. Para ello, se diseñó e implementó una arquitectura de software orientada a servicios, que permitió dar solución a los problemas de escalabilidad y duplicidad de datos de los sistemas de la institución, permitiendo el manejo integral de la información y unificando los diferentes sistemas que actualmente están en producción. Finalmente, se implementó una aplicación móvil multi-plataforma que hace uso de la nueva arquitectura, y que está disponible para facilitar la consulta a los usuarios. Estas personas ahora acceden a los sistemas de la institución a través de un único nombre de usuario y clave, y pueden consultar en cualquiera de las cortes antes mencionadas.
540

INTEGRATING DESIGN THINKING MODEL AND ITEMS PRIORITIZATION DECISION SUPPORT SYSTEMS INTO REQUIREMENTS MANAGEMENT IN SCRUM

Unknown Date (has links)
The Agile methodologies have attracted the software development industry's attention due to their capability to overcome the limitations of the traditional software development approaches and to cope with increasing complexity in system development. Scrum is one of the Agile software development processes broadly adopted by industry. Scrum promotes frequent customer involvement and incremental short releases. Despite its popular use, Scrum’s requirements engineering stage is inadequately defined which can lead to increase development time and cost, along with low quality or failure for the end products. This research shows the importance of activity planning of requirements engineering in improving the product quality, cost, and scheduling as well as it points out some drawbacks of Agile practices and available solutions. To improve the Scrum requirements engineering by overcoming its challenges in cases, such as providing a comprehensive understanding of the customer’s needs and addressing the effects of the challenges in other cases, such as frequent changes of requirements, the Design Thinking model is integrated into the Scrum framework in the context of requirements engineering management. The use of the Design Thinking model, in the context of requirements engineering management, is validated through an in-depth scientific study of the IBM Design Thinking framework. In addition, this research presents an Items Prioritization dEcision Support System (IPESS) which is a tool to assist the Product Owners for requirements prioritization. IPESS is built on information collected in the Design Thinking model. The IPESS tool adopts Analytic Hierarchy Process (AHP) technique and PageRank algorithm to deal with the specified factors and to achieve the optimal order for requirements items based on the prioritization score. IPESS is a flexible and comprehensive tool that focuses on different important aspects including customer satisfaction and product quality. The IPESS tool is validated through an experiment that was conducted in a real-world project / Includes bibliography. / Dissertation (PhD)--Florida Atlantic University, 2021. / FAU Electronic Theses and Dissertations Collection

Page generated in 0.0534 seconds