Spelling suggestions: "subject:"5oftware - reuse"" "subject:"5oftware - keuse""
21 |
Search and retrieval of source code using the faceted approachMendes, Rodrigo Cavalcante 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:54:33Z (GMT). No. of bitstreams: 2
arquivo1977_1.pdf: 1819935 bytes, checksum: 4162d549c75996e549bcc53383212659 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Software Reuse has been considered a key concept to increase the quality and
productivity of the software development by the reuse of existing artifacts,
avoiding build new ones from scratch. However, In order to obtain effective
benefits from the software reuse is necessary a set of complementary resources
such as: education, active management support and the introduction of
appropriate process and tools.
In fact, resources that provide mechanism to ease the access of reusable
components, such as search and retrieval tools, appear as potential instruments
in favor of reuse programs adoption in the organizations. One of the challenges
of the search and retrieval tools is how to make that existing components
returned have a significant relevance.
In this sense, the use of the faceted approach rises as a suitable
alternative. This approach proposes the creation of a vocabulary supported by
attributes, dividing the components into group of classes based on pre-defined
keywords, increasing the level of precision and providing a more flexible
classification.
Thus, this work presents an extension of search and retrieval tool of
reusable components, source code in particular, using the faceted classification
approach. In addition, also was developed an auxiliary tool to aid the Domain
expert to perform his activities using this approach. Finally, an experimental
study evaluates the proposed solution
|
22 |
Reuso sistematizado de software e linhas de produto de software no setor financeiro: estudos de caso no Brasil. / Sem títuloSheila dos Santos Reinehr 19 March 2008 (has links)
A engenharia de software tem buscado, nas últimas décadas, assemelhar-se a outras disciplinas de engenharia, introduzindo métodos, técnicas e ferramentas que possibilitem a melhoria da produtividade e qualidade no desenvolvimento de software em ordem de grandeza similar à alcançada pela indústria de manufatura. Uma das abordagens mais bem sucedidas neste sentido tem sido o emprego das práticas de reuso sistematizado de software, como o desenvolvimento baseado em componentes e, em especial, as linhas de produtos de software ou engenharia de família de produtos. No Brasil, um dos segmentos que mais produz e consome software é o setor financeiro, uma vez que todos os seus produtos e serviços são entregues através da tecnologia da informação. Por este motivo, torna-se fundamental a compreensão de como acontecem os processos de reuso de software neste segmento e como estes contribuem para o sucesso dos projetos. Esta pesquisa apresenta o mapeamento do cenário de reuso de software no setor financeiro no Brasil, baseado em estudos de caso conduzidos em cinco, dos dez maiores bancos instalados no país. / During last decades, Software Engineering has been aiming at be more disciplined as other engineering disciplines, by introducing methods, techniques and tools that provide productivity and quality improvement in the same levels reached by manufacturing industries. One of the most successful approaches towards this goal has been the use of systematic software reuse practices, such as component based development and, specially, software product lines or product family engineering. In Brazil, one of the most active sectors in consuming and producing software products is the financial sector, once all of its products and services are delivered through Information Technology. This is the reason why is so important to understand how software reuse processes occurs in this sector and how do they contribute to projects success. This research presents scenario of software reuse in the financial sector in Brazil, based on case research conducted in five of the ten largest banks installed in the country.
|
23 |
Factors Affecting the Design and Use of Reusable ComponentsAnguswamy, Reghu 31 July 2013 (has links)
Designing software components for future reuse has been an important area in software engineering. A software system developed with reusable components follows a "with" reuse process while a component designed to be reused in other systems follows a "for" reuse process. This dissertation explores the factors affecting design for reuse and design with reusable components through empirical studies. The studies involve Java components implementing a particular algorithm, a stemming algorithm that is widely used in the conflation domain. The method and empirical approach are general and independent of the programming language. Such studies may be extended to other types of components, for example, components implementing data structures such as stacks, queues etc.
Design for reuse: In this thesis, the first study was conducted analyzing one-use and equivalent reusable components for the overhead in terms of component size, effort required, number of parameters, and productivity. Reusable components were significantly larger than their equivalent one-use components and had significantly more parameters. The effort required for the reusable components was higher than for one-use components. The productivity of the developers was significantly lower for the reusable components compared to the one-use components. Also, during the development of reusable components, the subjects spent more time on writing code than designing the components, but not significantly so. A ranking of the design principles by frequency of use is also reported. A content analysis performed on the feedback is also reported and the reasons for using and not using the reuse design principles are identified. A correlation analysis showed that the reuse design principles were, in general, used independently of each other.
Design with reuse: Through another empirical study, the effect of the size of a component and the reuse design principles used in building the component on the ease of reuse were analyzed. It was observed that the higher the complexity the lower the ease of reuse, but the correlation is not significant. When considered independently, four of the reuse design principles: well-defined interface, clarity and understandability, generality, and separate concepts from content significantly increased the ease of reuse while commonality and variability analysis significantly decreased the ease of reuse, and documentation did not have a significant impact on the ease of reuse. Experience in the programming language had no significant relationship with the reusability of components. Experience in software engineering and software reuse showed a relationship with reusability but the effect size was small. Testing components before integrating them into a system was found to have no relationship with the reusability of components. A content analysis of the feedback is presented identifying the challenges of components that were not easy to reuse. Features that make a component easily reusable were also identified. The Mahalanobis-Taguchi Strategy (MTS) was employed to develop a model based on Mahalanobis Distance to identify the factors that can detect if a component is easy to reuse or not. The identified factors within the model are: size of a component, a set of reuse design principles (well-defined interface, clarity and understandability, commonality and variability analysis, and generality), and component testing. / Ph. D.
|
24 |
An FPGA Abstraction Layer for the Space Telecommunications Radio SystemNappier, Jennifer M. January 2009 (has links)
No description available.
|
25 |
Measurement of the effects of reusing C++ classes on object-oriented software developmentLattanzi, Mark R. 06 June 2008 (has links)
This research models the effects of software reuse on object-oriented software development, in particular, the reuse of C++ classes. Two types of reuse (with and without modification) are compared. The common traits of programmers who tend to reuse are identified, and some object-oriented software metrics are correlated with the inherent reusability of a C++ class. These issues are important because software reuse has been shown to increase productivity within the software development process.
This research effort describes three experiments. The first characterizes the effects of reusing C++ classes on object-oriented software development using nine development process indicators. The second experiment uses ten similar process indicators to differentiate the effects of writing C++ classes from scratch versus reusing them without modification versus inheriting new classes from existing ones. The last experiment correlates some object-oriented metrics with the expert opinions of the reusability of C++ classes.
This research has shown that the black box reuse (reuse without modification) of C++ classes is beneficial to object-oriented software development in many ways. Development time is reduced and system reliability increases. For abstract data type C++ classes, a set of fifteen skills and experiences are shown to be prominent in frequent class reusers. Lastly, a set of object-oriented metrics is used to predict C++ class reusability. All of these results can be used to increase programmer productivity when developing C++ software systems. / Ph. D.
|
26 |
The Claims Library Capability Maturity Model: Evaluating a Claims LibraryAllgood, Christian 21 July 2004 (has links)
One of the problem that plagues Human-Computer Interaction (HCI) software is its development cost. Many software companies forego the usability engineering aspect of their projects due to the time required to design and test user interfaces. Unfortunately, there is no "silver bullet" for user interface design and implementation because they are inherently difficult tasks. As computers are moving off the desktop, the greatest challenge for designers will be integrating these systems seamlessly into our everyday lives. The potential for reuse in user interfaces lies in reducing the time and effort required for this task, without sacrificing design quality.
In this work we begin with an iterative development cycle for a claims library based on prominent literature within the HCI and software engineering fields. We constructed the Claims Library to be a repository of potentially reusable notification system claims. We examine the library through theoretical and practical perspectives. The theoretical perspective reveals tradeoffs in the initial implementation that relate to Krueger's taxonomy of reuse. The practical perspective stems from experience in designing and conducting usability testing for an in-vehicle input device using the Claims Library. While valuable, these examinations did not provide a distinct method of improving the library. Expecting to uncover a specific diagnosis for the problems in the library, it was unclear how they should be approached with further development efforts.
With this realization, we saw that a more important and immediate contribution would not be another iteration of the Claims Library design. Rather, a clarification of the underlying theory that would better inform future systems development seemed a more urgent and worthy use of our experience. This clarification would need to have several characteristics to include: composed of a staged or prioritized architecture, represents an ideal model grounded in literature, and possesses intermediate development objectives and assessment points.
As a solution, we propose the Claims Library Capability Maturity Model (CL-CMM), based on the theoretical deficiencies that should guide development of a claims library, as noted in the two evaluations. This thesis delivers a five-stage model to include process areas, goals, and practices that address larger threads of concern. Our capability maturity model is patterned after models in software engineering and human resource management. We include a full description of each stage, a gap analysis method of appraisal, and an example of its use. Several directions for future work are noted that are necessary to continue development and validation of the model. / Master of Science
|
27 |
The Effects of Open Source License Choice on Software ReuseBrewer, John VIII 08 June 2012 (has links)
Previous research shows that software reuse can have a positive impact on software development economics, and that the adoption of a specific open source license can influence how a software product is received by users and programmers. This study attempts to bridge these two research areas by examining how the adoption of an open source license affects software reuse. Two reuse metrics were applied to 9,570 software packages contained in the Fedora Linux software repository. Each package was evaluated to determine how many external components it reuses, as well as how many times it is reused by other software packages. This data was divided into subsets according to license type and software category. The study found that, in general, (1) software released under a restrictive license reuse more external components than software released under a permissive license, and (2) that software released under a permissive license is more likely to be reused than software released under a restrictive license. However, there are exceptions to these conclusions, as the effect of license choice on reuse varies by software category. / Master of Science
|
28 |
Large-Scale Empirical Studies of Mobile AppsMojica Ruiz, Israel Jesus 06 August 2013 (has links)
Mobile apps (or apps) are software applications developed to run on mobile devices such as smartphones and tablets, among other devices. The number of apps has grown tremendously since Apple opened the first app store in 2008. For example, in March of 2009 the Google Play app store (formerly known as Android Market) had only 2,300 apps, and by mid of 2013 there were more than 800,000 apps. Given the accelerated rate of growth in the number of apps, new software engineering challenges have emerged in order to help ease the software development practices of app developers. In this thesis we examine three examples of these challenges, namely code reuse in mobile apps, app ratings, and the use of ad libraries within apps. We carry out our case studies on thousands of Android apps from the Google Play market.
We find that code reuse in mobile apps is considerably higher than in desktop/server apps. However, identical copies of mobile apps are rare. We find that the current ratings system is not able to capture the dynamics of the evolving nature of apps. Thus, we were able to show the need for a more elaborate rating system for the apps. Finally, we observe that a considerable number of free-to-download apps are dependant on ads for their revenue. Our findings suggest that "ad maintenance" is a tough challenge that developers of mobile apps have to face. / Thesis (Master, Computing) -- Queen's University, 2013-08-04 22:03:54.577
|
29 |
Um método de transformação de modelos UML para a inclusão de componentes de frameworks com o uso de planejador lógico. / A UML model transformation method for including frameworks components using logical planning.Marchetti, Guilherme Aren 26 June 2012 (has links)
Frameworks são ferramentas importantes no contexto atual da tecnologia de desenvolvimento de software, fornecendo funcionalidades através de código previamente testado, o que leva a uma redução na quantidade de código necessário para se implementar soluções e no tempo de implementação. Porém, devido a complexidade dos frameworks atuais, seu uso se torna trabalhoso, requerendo um gasto de tempo elevado para se aprender um framework novo. Neste trabalho de pesquisa foi desenvolvido o Framer, um método de transformação de modelos capaz de selecionar componentes de um framework, a partir de seu modelo UML, que são necessários para implementar as funcionalidades providas pelo framework para uma aplicação em desenvolvimento. Este método de transformação utiliza uma versão modificada do algoritmo NONLIN de planejamento, para identificar não somente os componentes que serão utilizados, mas como e em qual ordem devem ser invocados pela aplicação. Uma vez identificados os componentes, são criados os Diagramas UML necessários para representar sua utilização. / Frameworks are important tools for current software development technology, providing functionalities through previously tested code, reducing the amount of code and time necessary to implement the solution. However, due to framework complexity, a developer needs a significant investment in time to learn it. This work presents the Framer, a model transformation method capable of selecting components, from a framework\'s UML model, that will be used to construct the functionalities of the target application. Once the components are identified, the UML Diagrams necessary to describe its use are created.
|
30 |
Representação do componente de software na FARCSoft: ferramenta de apoio à reutilização de componentes de software. / Software component representation in the FARCSoft: software component reuse suport tool.Rossi, Ana Claudia 16 April 2004 (has links)
Atualmente, as organizações estão cada vez mais dependentes de sistemas de informação para a realização de seus negócios. Com isso, uma das preocupações, na área de desenvolvimento de software, é a obtenção cada vez mais rápida de sistemas que atendam as necessidades atuais e que sejam flexíveis para acompanhar as mudanças de tecnologia e práticas de negócio. A reutilização de componentes de software tem sido considerada uma das formas para obter redução dos custos e do tempo de desenvolvimento e aumento da produtividade e da qualidade do produto de software. A implantação da reutilização de componentes é baseada em três elementos principais que consistem de um processo de desenvolvimento voltado para reutilização, de uma ferramenta adequada e de uma cultura de projeto. A ferramenta, por sua vez, deve ter a capacidade de armazenar os componentes e de fornecer recursos para uma recuperação eficiente. O objetivo deste trabalho é definir uma representação de componentes em um repositório, a qual permita armazenar diferentes tipos de componentes de software. Para isso, foi especificada a Ferramenta de Apoio à Reutilização de Componentes de Software, denominada de FARCSoft, que deve fornecer suporte à reutilização de componentes de software. Esta ferramenta apresenta recursos para armazenar, gerenciar, buscar e recuperar os componentes do seu repositório. A capacidade de representação foi avaliada por meio de um conjunto de componentes de tipos, porte e tecnologia diversos, os quais foram modelados e catalogados. / Nowadays, organizations increasingly depend on information systems to carry out their business. Thus, one of the preoccupations in the software development area is the need to obtain systems faster and faster, attending to current needs and sufficiently flexible to accompany changes in technology and business practices. Software component reuse has been considered one of the ways to reduce costs and development time and increase productivity and software quality. The implantation of component reuse is based on three main elements, which consist in a development process oriented towards reuse, an adequate tool and a project culture. The tool, in turn, must be able to store the components and to supply resources for the sake of efficient recovery. This study aims to define a component representation in a repository, which allows for the storage of different kinds of software components. For this purpose, a Software Component Reuse Support Tool was specified, called FARCSoft, which should support the reuse of software components. This tool presents resources to store, manage, search and recover the components of a repository. Representation capacity was evaluated by means of a set of components with different types, sizes and technologies, which were modeled and catalogued.
|
Page generated in 0.0575 seconds