57,834 research outputs found
A Parsing Scheme for Finding the Design Pattern and Reducing the Development Cost of Reusable Object Oriented Software
Because of the importance of object oriented methodologies, the research in
developing new measure for object oriented system development is getting
increased focus. The most of the metrics need to find the interactions between
the objects and modules for developing necessary metric and an influential
software measure that is attracting the software developers, designers and
researchers. In this paper a new interactions are defined for object oriented
system. Using these interactions, a parser is developed to analyze the existing
architecture of the software. Within the design model, it is necessary for
design classes to collaborate with one another. However, collaboration should
be kept to an acceptable minimum i.e. better designing practice will introduce
low coupling. If a design model is highly coupled, the system is difficult to
implement, to test and to maintain overtime. In case of enhancing software, we
need to introduce or remove module and in that case coupling is the most
important factor to be considered because unnecessary coupling may make the
system unstable and may cause reduction in the system's performance. So
coupling is thought to be a desirable goal in software construction, leading to
better values for external software qualities such as maintainability,
reusability and so on. To test this hypothesis, a good measure of class
coupling is needed. In this paper, based on the developed tool called Design
Analyzer we propose a methodology to reuse an existing system with the
objective of enhancing an existing Object oriented system keeping the coupling
as low as possible.Comment: 15 page
Using Counts as Heuristics for the Analysis of Static Models
The upstream activities of software development are often viewed as both the most
important, in terms of cost, and the yet the least understood, and most problematic, particularly in terms of satisfying customer requirements. Business process modelling is
one solution that is being increasingly used in conjunction with traditional software
development, often feeding in to requirements and analysis activities. In addition,
research in Systems Engineering for Business Process Change, highlights the importance
of modelling business processes in evolving and maintaining the legacy systems that
support those processes. However, the major use of business process modelling, is to
attempt to restructure the business process, in order to improve some given aspect, e.g.,
cost or time. This restructuring may be seen either as separate activity or as a pre-cursor
to the development of systems to support the new or improved process. Hence, the
analysis of these business models is vital to the improvement of the process, and as a
consequence to the development of supporting software systems. Supporting this analysis
is the focus of this paper.
Business processes are typically described with static (diagrammatic) models. This paper
proposes the use of measures (counts) to aid analysis and comparison of these static
process descriptions. The proposition is illustrated by showing how measures can be
applied to a commonly used process-modelling notation, Role Activity Diagrams (RADs).
Heuristics for RADs are described and measures suggested which support those
heuristics. An example process is used to show how a coupling measure can be used to
highlight features in RADs useful to the process modeller.
To fully illustrate the proposition the paper describes and applies a framework for the
theoretical validation of the coupling measure. An empirical evaluation follows. This is
illustrated by two case studies; the first based on the bidding process of a large
telecommunications systems supplier, and the second a study of ten prototyping processes
across a number of organisations.
These studies found that roles of the same type exhibited similar levels of coupling across
processes. Where roles did not adhere to tentative threshold values, further investigation
revealed unusual circumstances or hidden behaviour. Notably, study of the prototyping
roles, which exhibited the greatest variation in coupling, found that coupling was highly
correlated with the size of the development team. This suggests that prototyping in large
projects had a different process to that for small projects, using more mechanisms for
communication. Hence, the empirical studies support the view that counts (measures)
may be useful in the analysis of static process models
An Approach for the Empirical Validation of Software Complexity Measures
Software metrics are widely accepted tools to control and assure software quality. A large number of software metrics with a variety of content can be found in the literature; however most of them are not adopted in industry as they are seen as irrelevant to needs, as they are unsupported, and the major reason behind this is due to improper
empirical validation. This paper tries to identify possible root causes for the improper empirical validation of the software metrics. A practical model for the empirical validation of software metrics is proposed along with root causes. The model is validated by applying it to recently proposed and well known metrics
Assessing architectural evolution: A case study
This is the post-print version of the Article. The official published can be accessed from the link below - Copyright @ 2011 SpringerThis paper proposes to use a historical perspective on generic laws, principles,
and guidelines, like Lehman’s software evolution laws and Martin’s design principles, in order to achieve a multi-faceted process and structural assessment of a system’s architectural evolution. We present a simple structural model with associated historical metrics and
visualizations that could form part of an architect’s dashboard. We perform such an assessment for the Eclipse SDK, as a case study of a large, complex, and long-lived system for which sustained effective architectural evolution is paramount. The twofold aim of checking generic principles on a well-know system is, on the one hand,
to see whether there are certain lessons that could be learned for best practice of architectural evolution, and on the other hand to get more insights about the applicability of such principles. We find that while the Eclipse SDK does follow several of the laws and principles, there are some deviations, and we discuss areas of architectural improvement and limitations of the assessment approach
Weighted Class Complexity: A Measure of Complexity for Object Oriented System
Software complexity metrics are used to predict critical information about reliability and maintainability of software systems. Object oriented software development requires a different approach to software complexity metrics. In this paper, we propose a metric to compute the structural and cognitive complexity of class by associating a weight to the class, called as Weighted Class Complexity (WCC). On the contrary, of the other metrics used for object oriented systems, proposed metric calculates the complexity of a class due to methods and attributes in terms of cognitive weight. The proposed metric has been demonstrated with OO examples. The theoretical and practical evaluations based on the information theory have shown that the proposed metric is on ratio scale
and satisfies most of the parameters required by the measurement theor
- …