21 |
Curbing Dependencies in Software Evolution of Object-Oriented SystemsSkoglund, Mats January 2006 (has links)
Relationships between classes and objects in object-oriented software are necessary in order for the parts of the systems to provide dynamic behavior. These inherent relationships also create dependencies which can give rise to problems for software evolution of object-oriented software systems. Dependencies in software make systems difficult to understand, reuse, change and verify. This thesis presents analytical and empirical investigations of dependency-related problems in software evolution of object-oriented software and on how such problems can be handled with dependency focused techniques, methods and processes. The research presented in this thesis includes: Development of a programming language construct for controlling dependencies; formal experiments on code inspection techniques; exploring change strategies' effects on test suites; an industrial case study of regression test selection techniques for object-oriented software; proving the efficiency and defect detection capabilities of a novel regression test selection technique. The thesis contributes to increased knowledge on the role of dependencies in software evolution of object-oriented software. Specific contributions are a programming language construct that can control access to dependencies in software. Other main contributions are insights on the efficiency of dependency focused code inspection techniques and contribution to the knowledge on dependency-based regression test selection techniques for large scale software. Another contribution is a novel change-based regression test selection technique.
|
22 |
Study on an Architecture-Oriented Software Testing Management ModelLi, Fu-shiau 07 June 2007 (has links)
There are many approaches in testing software. To effectively test a complicated software product, it is not merely assessing the software development process, but grasping the quality in all manners.
Managing software test is an extremely important topic in testing software. Nowaday, V Model is mostly used as the Software Testing Management Model. Therefore, this thesis targets V Model as the one, which should be improved.
This research suggests that testing software needs a simple and clear management model to follow. If it does not know "what to do" or "how to go", then the testing results often violate the requirement. Thereafter, it also produces very serious problems as to the quality of the software. Through collecting: academic documents, system and architecture definitions, software test management theory, software testing standard norms, software testing management model, etc., this thesis channels into a software test management with the concept of architecture, proposes the Architecture-Oriented Software Testing Management Model (AOSTMM). AOSTMM is capable of describing "what to do" or "how to go" in software testing. This is the contribution of this research.
|
23 |
Evaluating the implementation of the monitor synchronization mechanism when implemented using concurrency patterns in C++Buason, Gunnar January 2001 (has links)
<p>With the increased use of computers in every-day live, the demand for newer and better software is increasing day by day. This advancement has resulted in that many developers are searching for ways to decrease their development time. One approach is to use design patterns when designing applications. Design pattern are acknowledged solutions to known design problems that can be reused over and over again without ever doing the same thing twice. The most recent advancement of identifying design patterns has been within the domain of concurrent systems.</p><p>Design pattern within concurrent systems are of interest in this project because of its young age. Development of concurrent applications has often been compared to constant reinvention of the wheel, because code reuse is very low and solutions to design problems are being rediscovered over and over again. By using design pattern, an attempt is made to avoid that. The question is if design patterns are capable of standing under that load.</p><p>This project takes as a case study the problem of protecting a shared resource in a concurrent application, and implements two different solutions to that problem using a special design pattern. These two implementations are then evaluated, with consideration to certain software quality attributes, in a qualitative way.</p><p>This project shows how a pattern can be used to solve a common synchronization problem. It discusses the nature of design patterns, what needs to be considered when they are implemented and how a pattern language can affect the implementation.</p>
|
24 |
VizzAnalyzer goes Eclipse!Ruiz de Azua Nieto, David January 2007 (has links)
<p>The VizzAnalyzer Framework is a stand-alone tool for analyzing and visualizing the structures of large software systems. Today, it has its own limited Swing based GUI lacking a professional look & feel. Furthermore, the effort needed to extend the VizzAnalyzer with new features like automatic update, progress monitoring, help system, and integration of the Eclipse Java and C/C++ AST API is high.</p><p>In order to improve current limitations and ease the future maintenance effort we refactored the VizzAnalyzer to be a plug-in to the Eclipse platform. We removed the burden of GUI development from the authors of the VizzAnalyzer replacing the Swing GUI with a SWT based GUI, which utilizes the rich feature set provided by the Eclipse Platform. Furthermore, the we did not only provide existing features of the VizzAnalyzer as loading and binding graphs, a complex system to load dynamic plug-ins functionalities for analysis, retrieval and visualization. We implemented an update and help manager, allowed for an easy use of third party plug-ins, which are available for Eclipse, and provided product branding.</p><p>We propose that the newly created VizzAnalyzer 2.0 solved the aforementioned limitations and provides a good foundation for the future evolution of the VizzAnalyzer tool.</p><p>This master thesis documents our how the VizzAnalyzer 2.0 has been developed and implemented for the Eclipse platform, and how developers shall use the new VizzAnalyzer version.</p>
|
25 |
Integration of a Standard-Based Quality Assessment into the VizzAnalyzerRuiz de Azua, David January 2006 (has links)
<p>More than half of the total costs in ownership of a software system are maintenance costs. Reverse engineering is becoming more important and complex for huge systems, and tools for reverse engineering are necessary for system evaluation.</p><p>The ISO/IEC 9126 standard defines software quality and The VizzAnalyzer</p><p>Framework is a stand-alone tool for analyzing and visualizing large software systems’ structures.</p><p>In this thesis, we describe the design and implementation of plug-ins for the VizzAnalyzer Framework, a system for reverse engineering, extending their features under the standards of software quality. It has proven to be useful in applying the new features into the VizzAnalyzer Framework being the first tool that includes a software</p><p>quality model.</p>
|
26 |
A project plan for improving the performance measurement process : a usability case studyVasquez, Roberto Mario 21 February 2011 (has links)
Many good software practices are often discarded because of the syndrome “there is not enough time, do it later”, or “it is in our head and there is no time to write it down.” As a consequence, projects are late, time frames to complete software modules are unrealistic and miscalculated, and traceability to required documents and their respective stakeholders do not exist. It is not until the release of the application that it is determined the functionalities do not meet the expectations of the end users and stakeholders. The effect of this can be detrimental to the individuals of the development team and the organization. Associating measurement and metrics to internal software processes and tasks, followed by analysis and continual evaluation, are key elements to close many of the repeated gaps in the life cycle of software engineering, regardless of the software methodology.
This report presents a usability case study of a customized application during its development. The application contains internal indicator modules for performance measurement processes captured at the level of a Request System application within a horizontal organizational group. The main goals for the usability surveys and case study were
(1st) to identify, define and evaluate the current gaps in the system and
(2nd) find new approaches and strategies with the intent to move the project in the right direction.
Gaps identified throughout the development process are included as indicators for process improvement. The result of the usability case study creates new goals and gives clear direction to the project. Goal-driven measurements and the creation of a new centralized collaborative web system for communication with other teams are parts of the solution. The processes and techniques may provide benefits to companies interested in applying similar tactics to improve their own software project processes. / text
|
27 |
Programinių modulių kokybės vertinimo sistema / Software Quality Assessment SystemGrigas, Deividas 20 September 2004 (has links)
Modern educational institutions use static methods e.g. tests in computer-based knowledge assessment systems. Tests have pattern questions with limited number of answers. Use of such methods does not guarantee objective knowledge assessment – numbers of the right answers could be guessed or memorized in advance. Practical skills can be tested by assigning programming tasks. In order to complete practical tasks students need good knowledge in the fields examined. This leads to better assessment of student knowledge in theory and practice. Teachers get better feedback. However practical tasks need considerable amount of time to be examined in detail which most teachers do not have. When assignments are tested superficially students tend to plagiarize and so the problem gets even deeper. A survey by Donald McCabe of approximately 6000 students revealed that 74% of engineering students reported engaging in some form of academic dishonesty. The goal of this work was to build a computer-based system to assess software quality and detect plagiarism. The system was designed and implemented. Experimental tests have shown good results. The system is intended to be used in future courses and gradually improved by other students.
|
28 |
Applying design metrics to large-scale telecommunications softwarePipkin, Jeffrey A. January 1996 (has links)
The design metrics developed by the Design Metrics team at Ball State University are a suite of metrics that can be applied during the design phase of software development. The benefit of the metrics lies in the fact that the metrics can be applied early in the software development cycle. The suite includes the external design metric De,the internal design metric D27 D(G), the design balance metric DB, and the design connectivity metric DC.The suite of design metrics have been applied to large-scale industrial software as well as student projects. Bell Communications Research of New Jersey has made available a software system that can be used to apply design metrics to large-scale telecommunications software. This thesis presents the suite of design metrics and attempts to determine if the characteristics of telecommunications software are accurately reflected in the conventions used to compute the metrics. / Department of Computer Science
|
29 |
Software reliability prediction based on design metricsStineburg, Jeffrey January 1999 (has links)
This study has presented a new model for predicting software reliability based on design metrics. An introduction to the problem of software reliability is followed by a brief overview of software reliability models. A description of the models is given, including a discussion of some of the issues associated with them. The intractability of validating life-critical software is presented. Such validation is shown to require extended periods of test time that are impractical in real world situations. This problem is also inherent in fault tolerant software systems of the type currently being implemented in critical applications today. The design metrics developed at Ball State University is proposed as the basis of a new model for predicting software reliability from information available during the design phase of development. The thesis investigates the proposition that a relationship exists between the design metric D(G) and the errors that are found in the field. A study, performed on a subset of a large defense software system, discovered evidence to support the proposition. / Department of Computer Science
|
30 |
Using the Design Metrics Analyzer to improve software qualityWilburn, Cathy A. January 1994 (has links)
Effective software engineering techniques are needed to increase the reliability of software systems, to increase the productivity of development teams, and to reduce the costs of software development. Companies search for an effective software engineering process as they strive to reach higher process maturity levels and produce better software. To aid in this quest for better methods of software engineering. the Design Metrics Research Team at Ball State University has analyzed university and industry software to be able to detect error-prone modules. The research team has developed, tested and validated their design metrics and found them to be highly successful. These metrics were typically collected and calculated by hand. So that these metrics can be collected more consistently, more accurately and faster, the Design Metrics Analyzer for Ada (DMA) was created. The DMA collects metrics from the files submitted based on a subprogram level. The metrics results are then analyzed to yield a list of stress points, which are modules that are considered to be error-prone or difficult for developers. This thesis describes the Design Metrics Analyzer, explains its output and how it functions. Also, ways that the DMA can be used in the software development life cycle are discussed. / Department of Computer Science
|
Page generated in 0.0719 seconds