Spelling suggestions: "subject:"5oftware quality."" "subject:"1software quality.""
211 |
N-Grams as a Measure of Naturalness and ComplexityRandák, Richard January 2019 (has links)
We live in a time where software is used everywhere. It is used even for creating other software by helping developers with writing or generating new code. To do this properly, metrics to measure software quality are being used to evaluate the final code. However, they are sometimes too costly to compute, or simply don't have the expected effect. Therefore, new and better ways of software evaluation are needed. In this research, we are investigating the usage of the statistical approaches used commonly in the natural language processing (NLP) area. In order to introduce and evaluate new metrics, a Java N-gram language model is created from a large Java language code corpus. Naturalness, a method-level metric, is introduced and calculated for chosen projects. The correlation with well-known software complexity metrics are calculated and discussed. The results, however, show that the metric, in the form that we have defined it, is not suitable for software complexity evaluation since it is highly correlated with a well-known metric (token count), which is much easier to compute. Different definition of the metric is suggested, which could be a target of future study and research.
|
212 |
Zajištění kvality webových aplikací pomocí nástrojů automatického testování / Web Applications Quality Assurance Using Automated Testing ToolsReš, Radim January 2014 (has links)
The subject of this thesis is web applications quality assurance using automated testing tools. The main goal of this thesis is design and implementation solution for automated regression testing of map web application. In the first chapter are described principles of software quality assurance focused to software testing. After that follows chapter about the possibility of automatic software testing based on analysis tools available to support automated testing of web applications. Next chapters of this thesis are devoted to choosing the ideal tool of automated testing, design and implementation of solutions for automated regression testing of web map application.
|
213 |
Documenting and Improving the Design of a Large-scale SystemToresson, Gabriel January 2019 (has links)
As software systems become increasingly larger and more complex, the need to make them easily maintained increases, as large systems are expected to last for many years. It has been estimated that system maintenance is a large part of many IT-departments’ software development costs. In order to design a complex system to be maintainable it is necessary to introduce structure, often as models in the form of a system architecture and a system design. As development of complex large-scale systems progresses over time, the models may need to be reconstructed. Perhaps because development may have diverted from the initial plan, or because changes had to be made during implementation. This thesis presents a reconstructed documentation of a complex large-scale system, as well as suggestions for how to improve the existing design based on identified needs and insufficiencies. The work was performed primarily using a qualitative manual code review approach of the source code, and the proposal was generated iteratively. The proposed design was evaluated and it was concluded that it does address the needs and insufficiencies, and that it can be realistically implemented.
|
214 |
Sustainable Software Engineering : An Investigation Into the Technical Sustainability DimensionHYGERTH, HENRIK January 2016 (has links)
is study has focused on the technical sustainability dimension of sustainable soware engineering. Sustainabilitywithin soware engineering is something that has recently started to gain traction, where most of theresearch has focused on the environmental dimension.e purpose of this study was to investigate the technicalsustainability dimension, and contribute by continuing to build upon previous research which has suggestedsustainability as a part of non-functional requirements and as a part of soware quality.is study was conducted with a qualitative approach. is approach used interviews with people withexperience of working in soware development to collect data. e interviews were used to gain in-depthinformation of the dierent aspects in soware development, e.g. development processes.e results, based on the interviews, showed that from a technical sustainability perspective there are issueswith where the focus of the work is in soware development and also problems related to how timemanagementis used.e results also showed that there was some lacking in understanding the benets and tradeos ofdecisions made in the project, for example regarding the soware design, which can result in unnecessarycomplexity is acquired.e study found that the culture within soware development projects and companies needs to be changedtowards a culture which promotes the development of high quality soware. Because non-functional requirementsand soware quality are components of technical sustainability, therefore is the technical sustainabilityhigher if the quality is high. It was further found that this culture would be possible if changes were made tothe way prioritisations are made, and the way testing is performed should be extended. Finally it was foundthat the understanding of the benets and tradeos of decisions and ideas needs to be increased and extendedcollectively.e study concluded that the technical sustainability dimension can be achieved through these changes andthat the problem and solution therefore are not small and local but rather a big and complex issue where thesolution spans several solutions that encompasses dierent aspects and perspectives.
|
215 |
A software development methodology for solo software developers: leveraging the product quality of independent developersMoyo, Sibonile 02 1900 (has links)
Software security for agile methods, particularly for those designed for individual developers,
is still a major concern. With most software products deployed over the Internet, security as a
key component of software quality has become a major problem. In addressing this problem,
this research proposes a solo software development methodology (SSDM) that uses as
minimum resources as possible, at the same time conforming to the best practice for delivering
secure and high-quality software products.
Agile methods have excelled on delivering timely and quality software. At the same time
research also shows that most agile methods do not address the problem of security in the
developed software. A metasynthesis of SSDMs conducted in this thesis confirmed the lack
practices that promote security in the developed software product. On the other hand, some
researchers have demonstrated the feasibility of incorporating existing lightweight security
practices into agile methods.
This research uses Design Science Research (DSR) to build, demonstrate and evaluate a
lightweight SSDM. Using an algorithm adapted for the purpose, the research systematically
integrates lightweight security and quality practices to produce an agile secure-solo software
development methodology (Secure-SSDM). A multiple-case study in an academic and industry
setting is conducted to demonstrate and evaluate the utility of the methodology. This
demonstration and evaluation thereof, indicates the applicability of the methodology in
building high-quality and secure software products. Theoretical evaluation of the agility of the
Secure-SSDM using the four-dimensional analytical tool (4-DAT) shows satisfactory
compliance of the methodology with agile principles.
The main contributions in this thesis are: the Secure-SSDM, which entails description of the
concepts, modelling languages, stages, tasks, tools and techniques; generation of a quality
theory on practices that promote quality in a solo software development environment;
adaptation of Keramati and Mirian-Hosseinabadi’s algorithm for the purposes of integrating
quality and security practices. This research would be of value to researchers as it introduces
the security component of software quality into a solo software development environment,
probing more research in the area. To software developers the research has provided a
lightweight methodology that builds quality and security into the product using minimum
resources. / School of Computing / D. Phil. (Computer Science)
|
216 |
Selection and implementation of test framework for automated system test of mobile applicationShrivatri, Ankit 23 February 2016 (has links)
Software Quality is a key concern for any companies working with software development. This is true due to the fact that the success of any software directly depends on Quality of software. It is expected that the software is of best quality for a long duration of time. With the introduction of Mobile applications the task of maintaining the quality of an application has been difficult and have faced many challenges.
Many companies working with mobile application have reformed their process in order to maintain the quality of their application. The introduction of Automation testing in the test process is one such reform that have changed the face of mobile application testing in today’s world.
This work deals with the concepts of Automation System testing for the mobile application which is until now a new thing and it has many things yet to be explored. The approach to automation testing is simple yet unique for the department of PT-MT/Quality Management in Robert Bosch GmbH based in Leinfelden, Stuttgart. Over here a selection and implementation of a test framework will be done for Automation testing of the mobile Applications that are being developed.
For this a requirement specification document is being created which will form the basis for selecting a framework from the KT Analysis table. Finally, a framework TestComplete will be implemented for the already developed application "PLR measure&go" The implementation will include all the procedure required to set up the test framework as a part of documentation. The framework TestComplete will be used to create System test for iOS and Android operation system. Lastly the execution of test and the Result reporting is being shown as a complete process for Automation testing.
|
217 |
[pt] APLICAÇÃO DA ANÁLISE DE SISTEMAS À DEFINIÇÃO DE PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE / [en] USING SOFTWARE ENGINEERING CONCEPTS TO DEFINE SOFTWARE DEVELOPMENT PROCESSESGLORIA MARIA DE PAULA OLIVEIRA 25 August 2008 (has links)
[pt] A qualidade de um produto de software depende fortemente da
qualidade do processo de software utilizado em seu
desenvolvimento. Para auxiliar na definição
de um processo de qualidade, existem diversos modelos de
processo, modelos de maturidade e normas de qualidade.
Entretanto, a tarefa de elaborar ou melhorar o processo de
desenvolvimento de sistemas pode se tornar árdua
devido à grande quantidade de informações disponíveis e
decisões a serem tomadas. Outro grande problema é o risco
de definição de um processo que não seja eficaz, ou seja,
não melhore a qualidade dos sistemas ou somente aumente
a burocracia no desenvolvimento. Esta dissertação apresenta
uma abordagem para definição de processos de
desenvolvimento de sistemas baseada nos conceitos
da análise de sistemas, ressaltando a analogia existente
entre a elaboração de um processo e de um software. Uma das
principais características da abordagem é o enfoque na área
de Gerência de Riscos, visando o controle dos
riscos identificados na definição do processo bem como os
possíveis riscos na execução do processo de desenvolvimento. / [en] Software quality depends heavily on the quality of the
process used to develop it. In order to assist the
definition of an adequate process, there are several
process models, maturity models and quality standards.
However, creating or improving a software development
process may be tough due to the large amount of available
information and decisions that have to be made. Another
central problem is the risk of defining an ineffective
process, that is, one that increases the bureaucracy
but doesn`t improve the quality of the systems developed
with its support. This dissertation presents an approach
for defining software development processes based on the
concepts of system analysis, based on the analogy between
software and process elaboration. One of the most important
attributes of this approach is the focus on Risk
Management, considering the identified risks in
the process definition as well the possible risks during
software process execution.
|
218 |
Continuous Integration for Embedded Software with Modular Firmware Architecture / Kontinuerlig Integration för Inbäddad Programvara med Modulär Firmware-ArkitekturSegatz, Fabian January 2023 (has links)
Continuous Integration (CI) techniques are widely adopted in web and application development but have received limited attention in the embedded software domain. This thesis investigates the application of CI techniques in embedded software development through a case study at Cobolt AB, a company specializing in optoelectronics. The study aims to identify suitable CI techniques, assess implementation efforts, and evaluate the impact of CI adoption in this domain. A CI service is implemented using Jenkins as the automation server, following an iterative development and deployment process. The service incorporates multi-target compilation, automated unit testing, test reporting, visual CI feedback, and trunk-based development. These techniques prove effective for embedded software with a modular firmware architecture. However, automated system testing encounters limitations due to the need for manual interaction with hardware targets. Challenges encountered during implementation, such as learning CI tools, managing build tool dependencies, and addressing manual input requirements for system testing, are overcome through iterative implementation, distributed build architecture, and selective test automation. Developers’ resistance to CI adoption diminishes as they experience the positive impact of the CI service. CI adoption in the embedded domain brings benefits such as fast bug detection, increased developer motivation, higher confidence in code quality, and encouragement for standardization n. No noticeable negative impacts are observed. Future research should focus on integrating hardware-in-the-loop simulation systems for comprehensive automated system testing, exploring validation on multiple hardware targets, and studying the vertical scaling capabilities of distributed build architectures with Jenkins. / Kontinuerlig integration (CI) tekniker används i stor utsträckning inom webboch applikationsutveckling, men har fått begränsad uppmärksamhet inom inbyggd programvarudomän. Denna avhandling undersöker tillämpningen av CI-tekniker inom inbyggd programvaruutveckling genom en fallstudie vid Cobolt AB, ett företag specialiserat på optoelektronik. Studien syftar till att identifiera lämpliga CI-tekniker, bedöma implementeringsinsatser och utvärdera effekten av CI-användning inom detta område. En CI-tjänst implementeras med Jenkins som automatiseringsserver, efter en iterativ utvecklings- och distribueringsprocess. Tjänsten inkluderar kompilering för flera målenheter, automatiserad enhetstestning, testrapportering, visuell CI-återkoppling och utveckling baserad på huvudgrenen. Dessa tekniker visar sig vara effektiva för inbyggd programvara med en modulär firmware-arkitektur. Dock begränsas automatiserad systemtestning av behovet av manuell interaktion med hårdvarumål. Utmaningar som uppstår under implementeringen, såsom att lära sig CIverktyg, hantera byggverktygsberoenden och hantera manuella indatakrav för systemtestning, övervinner genom iterativ implementering, distribuerade byggarkitekturer och selektiv testautomatisering. Utvecklarnas motstånd mot CI-användning minskar när de upplever de positiva effekterna av CI-tjänsten. CI-användning inom inbyggd programvaruutveckling medför fördelar som snabb upptäckt av fel, ökad utvecklar motivation, högre förtroende för kodkvalitet och främjande av standardisering. Inga märkbara negativa effekter observeras. Framtida forskning bör fokusera på att integrera hårdvaru-i-loop simulering för omfattande automatiserad systemtestning, utforska validering på flera hårdvarumål och studera de vertikala skalningsmöjligheterna hos distribuerade byggarkitekturer med Jenkins.
|
219 |
The explication of process-product relationships in DoD-STD-2167 and DoD-STD-2168 via an Augmented Data Flow Diagram modelLavender, R. Gregory 20 November 2012 (has links)
The research reported in this thesis is an extension and application of the results first introduced by the Procedural Approach to the Evaluation of Software Development Methodologies. The evaluation procedure offers a unique perspective based on the philosophy that a software development methodology should espouse a set of objectives that are achieved by employing certain U principles throughout the software development process, such that the products generated possess certain attributes deemed desirable. Further, definite linkages exist between objectives and principles, and principles and attributes.
The work described herein adopts the perspective offered by the evaluation procedure and applies a critical analysis to the process-product relationships in DoD-STD-2l67 and DoD-STD-2l68. In support of the analysis, Augmented Data Flow Diagrams are introduced as an effective tool for concisely capturing the information in both standards. The results of the analysis offer a deeper insight into the requirements for defense system software development, such that one is able to better understand the development process, and more intelligently assess the quality of the software and documentation produced. / Master of Science
|
220 |
Digital Educational Games: Methodologies for Development and Software QualityAslan, Serdar 02 November 2016 (has links)
Development of a game in the form of software for game-based learning poses significant technical challenges for educators, researchers, game designers, and software engineers. The game development consists of a set of complex processes requiring multi-faceted knowledge in multiple disciplines such as digital graphic design, education, gaming, instructional design, modeling and simulation, psychology, software engineering, visual arts, and the learning subject area. Planning and managing such a complex multidisciplinary development project require unifying methodologies for development and software quality evaluation and should not be performed in an ad hoc manner. This dissertation presents such methodologies named: GAMED (diGital educAtional gaMe dEvelopment methoDology) and IDEALLY (dIgital eDucational gamE softwAre quaLity evaLuation methodologY).
GAMED consists of a body of methods, rules, and postulates and is embedded within a digital educational game life cycle. The life cycle describes a framework for organization of the phases, processes, work products, quality assurance activities, and project management activities required to develop, use, maintain, and evolve a digital educational game from birth to retirement. GAMED provides a modular structured approach for overcoming the development complexity and guides the developers throughout the entire life cycle.
IDEALLY provides a hierarchy of 111 indicators consisting of 21 branch and 90 leaf indicators in the form of an acyclic graph for the measurement and evaluation of digital educational game software quality.
We developed the GAMED and IDEALLY methodologies based on the experiences and knowledge we have gained in creating and publishing four digital educational games that run on the iOS (iPad, iPhone, and iPod touch) mobile devices: CandyFactory, CandySpan, CandyDepot, and CandyBot. The two methodologies provide a quality-centered structured approach for development of digital educational games and are essential for accomplishing demanding goals of game-based learning.
Moreover, classifications provided in the literature are inadequate for the game designers, engineers and practitioners. To that end, we present a taxonomy of games that focuses on the characterization of games. / Ph. D. / The game development consists of a set of complex processes requiring knowledge in many disciplines such as digital graphic design, education, gaming, instructional design, modeling and simulation, psychology, software engineering, visual arts, and the learning subject area. Planning and managing such projects require unifying methodologies for development and software quality evaluation. This dissertation presents such methodologies named: GAMED (diGital educAtional gaMe dEvelopment methoDology) and IDEALLY (dIgital eDucational gamE softwAre quaLity evaLuation methodologY).
GAMED consists of a body of methods, rules, and postulates and is embedded within a digital educational game life cycle. It provides a modular structured approach for overcoming the development complexity and guides the developers throughout the entire life cycle.
IDEALLY provides a hierarchy of 111 indicators consisting of 21 branches and 90 leaf indicators in the form of a graph, in which there is no cycle or closed path, for the measurement and evaluation of digital educational game software quality.
Moreover, classifications provided in the literature are poorly defined for the game designers, engineers, and practitioners. To that end, we present a taxonomy of games that focuses on the characterization of games.
|
Page generated in 0.0738 seconds