42,845 research outputs found
Recommended from our members
Object-oriented cohesion as a surrogate of software comprehension: An empirical study
The concept of software cohesion in both the procedural and object-oriented paradigm is well known and documented. What is not so well known or documented is the perception of what empirically constitutes a cohesive 'unit' by software engineers. In this paper, we describe an empirical investigation using object-oriented (OO) classes as a basis. Twenty-four subjects (drawn from IT experienced and IT inexperienced groups) were asked to rate ten classes sampled from two industrial systems in terms of their overall cohesiveness; a class environment was used to carry out the study. Four key results were observed. Firstly, class size (when expressed in terms of number of methods) did not tend to influence the perception of cohesion by any subjects. Secondly, well-commented classes were rated most highly amongst both IT experienced and inexperienced subjects. Thirdly, the empirical study suggests that cohesion comprises a combination of various class factors including low coupling, small numbers of attributes and well-commented methods, rather than any single, individual class feature per se. Finally, the research supports the view that cohesion is a subjective concept reflecting a cognitive combination of class features; as such it is a surrogate for class comprehension
Modeling the object-oriented software process: OPEN and the unified process
A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is reviewed
Reuse potential assessment framework for gamification-based smart city pilots
The paper proposes a unified framework for assessing the re-use potential for the Smart Engagement Pilot currently being realized in the city of Ghent (Belgium). The pilot aims to stimulate the digital engagement in users (citizens) by involving them in online and offline communities, and increasing the social capital through the use of ICT (Information and Communications Technology). To engage the citizens, the pilot makes use of Gamification based entities (intelligent wireless sensors) embedded in public hardware, through which innovative games are organized in places of interest (neighbourhood, parks, schools, etc.). Once finished, this pilot will be re-used in other European cities under the context of CIP SMART IP project. Since, the success of a pilot in one city doesn't guarantee its success in the other, an objective socio-economic-organizational reuse assessment becomes critical. To do this assessment, we propose a framework, which uses a Key Performance Indicator (KPI) based scorecard to determine the roadblocks and battlefields that could deter such a transition
Evaluation Criteria for Object-oriented Metrics
In this paper an evaluation model for object-oriented (OO) metrics is proposed. We have evaluated the existing evaluation criteria for OO metrics, and based on the observations, a model is proposed which tries to cover most of the features for the evaluation of OO metrics. The model is validated by applying it to existing OO metrics. In contrast to the other existing criteria, the proposed model is simple in implementation and includes the practical and important aspects of evaluation; hence it suitable to evaluate and validate any OO complexity metric
Governance for sustainability: learning from VSM practice
Purpose – While there is some agreement on the usefulness of systems and complexity approaches to tackle the sustainability challenges facing the organisations and governments in the twenty-first century, less is clear regarding the way such approaches can inspire new ways of governance for sustainability. The purpose of this paper is to progress ongoing research using the Viable System Model (VSM) as a meta-language to facilitate long-term sustainability in business, communities and societies, using the “Methodology to support self-transformation”, by focusing on ways of learning about governance for sustainability. Design/methodology/approach – It summarises core self-governance challenges for long-term sustainability, and the organisational capabilities required to face them, at the “Framework for Assessing Sustainable Governance”. This tool is then used to analyse capabilities for governance for sustainability at three real situations where the mentioned Methodology inspired bottom up processes of self-organisation. It analyses the transformations decided from each organisation, in terms of capabilities for sustainable governance, using the suggested Framework. Findings – Core technical lessons learned from using the framework are discussed, include the usefulness of using a unified language and tool when studying governance for sustainability in differing types and scales of case study organisations. Research limitations/implications – As with other exploratory research, it reckons the convenience for further development and testing of the proposed tools to improve their reliability and robustness. Practical implications – A final conclusion suggests that the suggested tools offer a useful heuristic path to learn about governance for sustainability, from a VSM perspective; the learning from each organisational self-transformation regarding governance for sustainability is insightful for policy and strategy design and evaluation; in particular the possibility of comparing situations from different scales and types of organisations. Originality/value – There is very little coherence in the governance literature and the field of governance for sustainability is an emerging field. This piece of exploratory research is valuable as it presents an effective tool to learn about governance for sustainability, based in the “Methodology for Self-Transformation”; and offers reflexions on applications of the methodology and the tool, that contribute to clarify the meaning of governance for sustainability in practice, in organisations from different scales and types
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
Using Modularity Metrics to assist Move Method Refactoring of Large System
For large software systems, refactoring activities can be a challenging task,
since for keeping component complexity under control the overall architecture
as well as many details of each component have to be considered. Product
metrics are therefore often used to quantify several parameters related to the
modularity of a software system. This paper devises an approach for
automatically suggesting refactoring opportunities on large software systems.
We show that by assessing metrics for all components, move methods refactoring
an be suggested in such a way to improve modularity of several components at
once, without hindering any other. However, computing metrics for large
software systems, comprising thousands of classes or more, can be a time
consuming task when performed on a single CPU. For this, we propose a solution
that computes metrics by resorting to GPU, hence greatly shortening computation
time. Thanks to our approach precise knowledge on several properties of the
system can be continuously gathered while the system evolves, hence assisting
developers to quickly assess several solutions for reducing modularity issues
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
- …