• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 110
  • 18
  • 4
  • 4
  • 2
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 169
  • 169
  • 70
  • 54
  • 30
  • 26
  • 21
  • 20
  • 17
  • 16
  • 15
  • 15
  • 12
  • 11
  • 11
  • 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.
71

An algebraic model of software evolution

Keller, Benjamin J. 12 March 2009 (has links)
A model of the software evolution process, called the Abstraction Refinement Model, is described which builds on the algebraic influence of the Laws of Programming and the transformational Draco Paradigm. The result is an algebraic structure consisting of the states of the software product (system descriptions) ordered by a relation of relative correctness with transformations defined between the system descriptions. This structure is interpreted as the software evolution space, with the intended semantics given by a model combining axiomatic semantics and the Lindenbaum algebra of a first-order logic. Using this interpretation, software evolution can be represented as a sequence of transformations on system descriptions. The primary contributions of the characterization of software evolution are to the understanding of maintenance and its relationship to development. The influence of development on maintenance is shown as the transfer of a "descriptive context" for the software system. This context is used as an information source during maintenance, and is progressively modified by maintenance activities. These activities are characterized by balanced forward and reverse transformations. The use of reverse transformations explaining the role of reverse engineering in maintenance for information gathering and document reconstruction. Additionally, the form of maintenance affects the performance of the activity, with adaptive maintenance differing from corrective, perfective and preventive maintenance. These factors contribute to the descriptive nature and utility of the Abstraction Refinement Model in defining methodologies for maintenance. / Master of Science
72

Assessing software quality in Ada based products with the objectives, principles, attributes framework

Bundy, Gary Neal 11 June 2009 (has links)
This thesis describes the results of a research effort focusing on the validation of a procedure for assessing the quality of an Ada-based product. Starting with the identification of crucial Ada constructs, this thesis outlines a seven step process for defining metrics that support software quality assessment within a framework based on linkages among software engineering objectives, principles, and attributes. The thesis presents the impact of the use of crucial Ada constructs on the software engineering attributes and describes measurement approaches for assessing that impact This thesis also outlines a planned research effon to develop an automated analyzer for the assessment of software quality in Ada-based products and plans for validating the assessment procedure. / Master of Science
73

Complexity measurement of a graphical programming language and comparison of a graphical and a textual design language

Goff, Roger Allen 14 November 2012 (has links)
For many years the software engineering community has been attacking the software reliability problem on two fronts. First via design methodologies, languages and tools as a precheck on quality and second by measuring the quality of produced software as a postcheck. This research attempts to unify the approach to creating reliable software by providing the ability to measure the quality of a design prior to its implementation. Also presented is a comparison of a graphical and a textual design language in an effort to support cognitive science research findings that the human brain works more effectively in images than in text. / Master of Science
74

Predicting maintainability with software quality metrics

Wake, Steven A. 10 June 2012 (has links)
Maintenance of software makes up a large fraction of the time and money spent in the software life cycle. By reducing the need for maintenance these costs can also be reduced. Predicting where maintenance is likely to occur can, help to reduce maintenance by prevention. This thesis details a study of the use of software quality;metrics to determine high complexity components in a software system. By the use of a history of maintenance done on a particular system, it is shown that a predictor equation can be developed to identify components which needed maintenance activities. This same equation can also be used to determine which components are likely to need maintenance in the future. Through the use of.these predictions and software metric complexities it should be possible to reduce the likelihood of a component needing maintenance. This might be accomplished by reducing the complexity of that component through further decomposition. / Master of Science
75

Comparison of an object-oriented programming language to a procedural programming language for effectiveness in program maintenance

Humphrey, Matthew Cameron 13 October 2010 (has links)
New software tools and methodologies make claims that managers often believe intuitively without evidence. Many unsupported claims have been made about object-oriented programming. However, without rigorous scientific evidence, it is impossible to accept these claims as valid. Although experimentation has been done in the past, most of the research is very recent and the most relevant research has serious drawbacks. This study attempts to empirically verify the claim that object-oriented languages produce programs that are more easily maintained than those programmed with procedural languages. Measurements of subjects performing maintenance tasks onto two identical programs, one object-oriented and the other procedure-oriented show the object-oriented version to be more maintainable. / Master of Science
76

Dokumentera med eXtreme Programming : Går det?

Backeman, Jens, Carlson, Erik January 2010 (has links)
<p>Att sätta sig in i system kan vara krångligt utan rätt sorts dokumentation. Vi har undersökt vilken dokumentation som kan vara lämplig att lämna över till nya utvecklare, som ska arbeta vidare med systemet i software maintenance fasen.</p><p>Det har gjorts genom att vi har gjort en litteraturstudie om dokumentation samt undersökt vad för dokumentationsartefakter som används när man ska sätta sig in i datorsystem. Vi använde eXtreme Programming för att utveckla ett system som vi försökte dokumentera samtidigt som vi utvecklade det.</p><p>eXtreme Programming förordar muntlig kommunikation, vilket är svårt att lämna över till nya utvecklare. Vi upptäckte under vår utveckling att det var svårt att föra in dokumentation sam-tidigt som utvecklandet pågick,  därför använde vi bara enhetstester och  strukturerade kod-kommentarer under utvecklingsiterationerna.</p><p>Vi undersökte hur dokumentationen som skapats fungerade genom att göra en undersökning bestående av strukturerade intervjuer där de fick komma med kommentarer om hur dokumen-tationen hjälpte förståelsen för systemet.</p><p>Vi lämnar ifrån oss en vidareutveckling  av eXtreme Programming  som innefattar en doku-mentationsiteration  innan överlämnandet  samt en studie om vad för dokumentation som är värdefull att ha vid systemöverlämningar.</p> / <p>Understanding systems can be a tough task without the right sort of documentation. We have examined the documentation artifacts which may be appropriate to hand over to new develop-ers, who will continue working with the system during the software maintenance phase.</p><p>By doing a literature review on documentation and examined what documentation artifacts is used when you want to  understand a computer system. We used the eXtreme Programming system development methodology to develop a system that we tried to document as we devel-oped it.</p><p>eXtreme Programming favors oral communication, but that is hard to hand over to new devel-opers. We discovered during our development that it was difficult to introduce documentation while the development process was going on so we only used structured code comments and unit testing during the development iterations</p><p>We examined how the documentation that was created worked by doing a survey consisting of structured interviews where the respondents made comments about if and how the documen-tation improved their understanding of the system.</p><p>We pass on an evolved eXtreme Programming system development methodology, which in-cludes a standalone documentation iteration before the handover, and a study of what kind of documentation that is valuable to have when transferring systems to new developers.</p>
77

Programinės įrangos ir informacinių sistemų priežiūra didelėje organizacijoje / Software and information systems maintenance in organization

Baužaitė, Dalia 16 August 2007 (has links)
Programinės įrangos (PĮ) ir Informacinių sistemų (IS) priežiūros etapas yra paskutinioji sistemos gyvavimo ciklo dalis. Priežiūros sąvoka apima visas veiklas, vykdomas po produkto įdiegimo organizacijoje, o tai sudaro apie 70 % programų gyvavimo ciklo išlaidų. Nuolat kintanti aplinka įtakoja ir sistemos kaitą. Todėl būtina nuolatinė PĮ ir IS priežiūra. Kuriami įvairūs PĮ ir IS priežiūros metodai ir technikos, kurie yra plačiai analizuojami užsienio mokslinėje literatūroje ir taikomi praktiškai. Tačiau Lietuvoje dar tik pradėjo vystytis priežiūros teikimo paslaugos ir keistis požiūris į šį procesą. Nors užsienio mokslinėje literatūroje atkreipiamas dėmesys ir į Geografinių informacinių sistemų (GIS) priežiūros procesus, tačiau tai vis dar mažai išanalizuota sritis. Todėl, šiame darbe pasirinkta kryptinė tyrimo šaka GIS priežiūra ir duomenų valdymas. Darbo tikslas išanalizuoti visus siūlomus priežiūros proceso metodus ir technikas, skirtumus ir panašumus. Siekiama nustatyti, ar teoriniai metodai plačiai taikomi praktikoje. Empiriniam tyrimui atlikti naudotas anketinės apklausos metodas. Siekiama nustatyti vartotojų požiūrį į PĮ ir IS priežiūros kokybę. Apklausos rezultatai išsamiai analizuojami, pateikiamos išvados bei pasiūlymai tolimesnės PĮ ir IS priežiūros strategijai. / Software and information system (IS) maintenance is a rest phase of system life cycle. Maintenance involves about 70 % of all life cycle resources. Software and IS are changing with business environment together. Therefore, there are a lot of methods and techniques for maintenance process analyzing in research theory and applying in practice. However, those practices are starting in Lithuania software maintenance and attending only few groups of IT specialist There are many GIS maintenance researches in publications, but also it is wide range of aspect not including in theory. Therefore, many GIS maintenance processes are analyzing in this paper. The goal of this paper is to analyze all known software maintenance methods and techniques and to define are their used in practice. Research object of this paper is municipality of Klaipeda. This is an organization, with uses usual software and specialized GIS. There were used inquiry questionnaires in this goal research. Finally, by given implications there were proposed software and IS maintenance strategy in municipality of Klaipeda. Like an instance of this strategy, there were given an project of reengineered GIS subsystem.
78

Den horisontella kommunikationens roll inom förvaltningsarbete / The role of lateral communication within the work in software maintenance

Vallgren, Matilda, Lundqvist, Malin January 2016 (has links)
Syftet med denna uppsats är att undersöka vad den horisontella kommunikationen har för roll inom systemförvaltning, och att undersöka vad en effektiv sådan har för påverkan på förvaltningsarbete. Då systemförvaltning är kostsamt är det viktigt för organisationer att det sker effektivt. Effektiviteten i organisationers arbete påverkas av kommunikationen och för att uppnå en effektiv kommunikation krävs en förståelse för horisontell kommunikation. Men inom styrning av systemförvaltning ligger inte fokus på kommunikation. Undersökningen genomfördes med hjälp av kvalitativa semistrukturerade intervjuer. Förvaltningsledningar på en organisation vars förvaltningsarbete styrs av förvaltningsmodellen pm3 studerades. Uppsatsens resultat visar på att en horisontell kommunikation utspelar sig inom förvaltningsarbete, det krävs en kommunikation mellan vissa arbetsroller. Den horisontella kommunikationen har också en betydande roll, då den kan hjälpa till att upprätta enhetliga arbetssätt. Resultatet visar dock att den horisontella kommunikationens funktion inte alltid utnyttjas till fullo. När den inte är effektiv kan det bidra till duplicerat arbete, förlorad och utelämnad information, samt att medarbetares kunskap förbises. Allt detta påverkar i slutändan arbetets produktivitet. Uppsatsens resultat visar att desto effektivare den horisontella kommunikationen är inom förvaltningsarbete, desto effektivare blir arbetet. / The purpose of this thesis is to examine what role lateral communication within the work in software maintenance has, and to examine how an effective lateral communication influences the maintenance work. Software maintenance is costly, therefore it is important for organizations that it is efficient. Organization’s efficiency is influenced by their communication. To attain an effective communication there needs to exist an understanding for lateral communication. Within the guiding of software maintenance there is a lack of regard to the importance of communication. The thesis was conducted using qualitative research. The research is based on semi-structured interviews with solution managers at an organization that has their software maintenance guided by the swedish maintenance management model pm3. The result of this study shows that a lateral communication occurs within the work with software maintenance, communication is required between certain roles. Lateral communication also has a significant role since it can help to uniform the work. However, the results show that the potential of lateral communication is not always used to its full extent. When it is not effective it can result in duplicated work, lost and excluded information, and coworkers’ knowledge can be overlooked. In the end the productivity of the work is affected. The study shows that the more effective the lateral communication is within the work in software maintenance, the more effective the work will become.
79

Understanding the Evolution of Code Clones in Software Systems

2013 August 1900 (has links)
Code cloning is a common practice in software development. However, code cloning has both positive aspects such as accelerating the development process and negative aspects such as causing code bloat. After a decade of active research, it is clear that removing all of the clones from a software system is not desirable. Therefore, it is better to manage clones than to remove them. A software system can have thousands of clones in it, which may serve multiple purposes. However, some of the clones may cause unwanted management difficulties and clones like these should be refactored. Failure to manage clones may cause inconsistencies in the code, which is prone to error. Managing thousands of clones manually would be a difficult task. A clone management system can help manage clones and find patterns of how clones evolve during the evolution of a software system. In this research, we propose a framework for constructing and visualizing clone genealogies with change patterns (e.g., inconsistent changes), bug information, developer information and several other important metrics in a software system. Based on the framework we design and build an interactive prototype for a multi-touch surface (e.g., an iPad). The prototype uses a variety of techniques to support understanding clone genealogies, including: identifying and providing a compact overview of the clone genealogies along with their key characteristics; providing interactive navigation of genealogies, cloned source code and the differences between clone fragments; providing the ability to filter and organize genealogies based on their properties; providing a feature for annotating clone fragments with comments to aid future review; and providing the ability to contact developers from within the system to find out more information about specific clones. To investigate the suitability of the framework and prototype for investigating and managing cloned code, we elicit feedback from practicing researchers and developers, and we conduct two empirical studies: a detailed investigation into the evolution of function clones and a detailed investigation into how clones contribute to bugs. In both empirical studies we are able to use the prototype to quickly investigate the cloned source code to gain insights into clone use. We believe that the clone management system and the findings will play an important role in future studies and in managing code clones in software systems.
80

Requirements specification using concrete scenarios

Au, Oliver T. S. January 2009 (has links)
The precision of formal specifications allows us to prove program correctness. Even if formal methods are not used throughout the software project, formalisation improves our understanding of the problem. Formal specifications are amenable to automated analysis and consistency checking. However using them is challenging. Customers do not understand formal notations. Specifiers have difficulty tackling large problems. Once systems are built, formal specifications quickly become outdated during software maintenance. A method of developing formal specifications using concrete scenarios is proposed to tackle the disadvantages just mentioned. A concrete scenario describes system behaviour with successive steps. The pre- and post-states of scenario steps are expressed with actual data rather than variables. Concrete scenarios are expressed in a natural language or formal notation. They increase customer involvement in the creation of formal specifications. Scenarios may be ranked by priorities allowing specifiers to focus on a small part of the system. Formal specifications are constructed incrementally. New requirements are also captured in concrete scenarios which guide the modification of formal specifications. On one hand, concrete scenarios assist the creation and maintenance of formal specifications. On the other hand, they facilitate program correctness proofs without using conventional formal specifications. This is achieved by adding implementation details to customer scenarios. The resulting developer scenarios, encapsulating decisions of data structures and algorithms, are generalised to operation schemas. With the implementation details, the schemas written in formal notations are programs rather than specifications.

Page generated in 0.1164 seconds