33 research outputs found
Harmonizing CMMI-DEV 1.2 and XP Method to Improve The Software Development Processes in Small Software Development Firms
Most software development organizations are small firms, and they have realized the need to manage and improve their software development and management activities. Traditional Software Process Improvement (SPI) models and standards are not realistic for these firms because of high cost, limited resources and strict project deadlines. Therefore, these firms need a lightweight software development method and an appropriate SPI model to manage and improve their software development and management processes. This study aims to construct a suitable software development process improvement framework for Small Software Development Firms (SSDFs) based on eXtreme Programming (XP) method and Capability Maturity Model Integration for Development Version 1.2 (CMMI-Dev1.2) model. Four stages are involved in developing the framework: (1) aligning XP practices to the specific goals of CMMI-Dev1.2 Key Process Areas (KPAs); (2) developing the proposed software development process improvement framework based on extending XP method by adapting the Extension-Based Approach (EBA), CMMI-Dev1.2, and generic elements of the SPI framework; (3) verifying the compatibility of the proposed framework to the KPAs of CMMI-Dev1.2 by using focus group method coupled with Delphi technique; and (4) validating the modified framework by using CMMI-Dev1.2 questionnaire as a main item to validate the suitability of the modified framework for SSDFs, and conducting two case studies to validate the applicability and effectiveness of this framework for these firms. The result of aligning XP practices to the KPAs of CMMI-Dev1.2 shows that twelve KPAs are largely supported by XP practices, eight KPAs are partially supported by XP practices, and two KPAs are not-supported by XP practices. The main contributions of this study are: software development process improvement framework for SSDFs, elicit better understanding of how to construct the framework, and quality improvement of the software development processes. There are possible avenues for extending this research to fulfil the missing specific practices of several KPAs, examining other agile practices and using CMMI-Dev1.3 to improve the framework, and conducting more case studie
Web Services Metrics: A Survey and A Classification
Abstract. Web Services have emerged as a new Web-based technology paradigm for exchanging information on the Internet using platform-neutral standards, such as XML and adopting Internet-based protocols. They have become a promising technology to design and build complex inter-enterprise business applications. However, Web Services are problematic to measure, control, and manage. Software metrics is vital for the management, control, and measurement of software development and despite the vast amount of techniques/mechanisms and metrics for traditional and Object-Oriented software, there has been a few research and techniques that deals with metrics for Web Services. As companies increasingly invest and relies on Web Services, the importance of metrics for those services continues to grow. In this paper I present and classify the existing metrics for Web Services, and discuss their usage and benefits. In addition, I highlight the problems found in using some of the metrics and discuss what is still lacking in this domain
Requirements engineering aspects for sustainable eLearning systems
Sustainability in software engineering is about (1) continued functionality and maintainability in changing circumstances, and (2) functionality's effect on the surrounded environment, economic and people. Frequent changes of software requirements negatively affect sustainability of software systems. To reduce the number of requirements' changes and improve sustainability, sustainability requirements have to be considered from the beginning of the requirements engineering stage of software development. Sustainability in requirements engineering has five dimensions including individual, social, technical, economic and environmental dimensions. Most of the existing work analysed only one or two dimensions and ignore the interrelated effects among other dimensions. To address this issue, we selected eLearning systems because they provide comprehensive example to study. This thesis focuses on analysing sustainability requirements of eLearning systems with regard to the five sustainability dimensions. The following studies were performed: (1) identifying theoretically the sustainability requirements of eLearning systems, (2) investigating empirically the sustainability of eLearning systems, (3) constructing a methodology for the analysis and evaluation of sustainability requirements on eLearning systems, and (4) evaluating the constructed methodology. To the best of our knowledge, this is the first research conducted to investigate sustainability requirements of eLearning systems covering the five sustainability dimensions. Our findings highlighted that (1) technical, economic and environmental sustainability requirements are similar to other software domains, where individual and social sustainability requirements are specific for the domain of eLearning systems, (2) individual and social sustainability requirements need to be carefully considered and analysed together because of the strong correlation, and (3) culture and gender diversity play an important role for sustainability requirements. On this basis, we developed a framework for analysing sustainability requirements of software systems as well as a web-based tool SuSoftPro (the name stands from Software Sustainability Profiling) that allows requirements engineers to: investigate sustainability of software systems based on the systems' requirements, analyse the sustainability dimensions of software systems, measure the sustainability of each individual requirement, visualise analysis results to support decision making towards high-quality software, involve stakeholders to rate their requirements for one or more of the five sustainability dimensions, and manage requirement and stakeholder details easily. We evaluated the SuSoftPro framework through case studies, comparative evaluation and a quantitative questionnaire. Our framework successfully provides a comprehensive view of analysing sustainability requirements to improve the attention to sustainability and allow practitioners to develop sustainable software
Requirements reuse and requirement patterns: a state of the practice survey
Context. Requirements engineering is a discipline with numerous challenges to overcome. One of these challenges is the implementation of requirements reuse approaches. Although several theoretical proposals exist, little is known about the practices that are currently adopted in industry.
Objective. Our goal is to contribute to the investigation of the state of the practice in the reuse of requirements, eliciting current practices from practitioners, and their opinions whenever appropriate. Besides reuse in general, we focus on requirement patterns as a particular strategy to reuse.
Method. We conducted an exploratory survey based on an online questionnaire. We received 71 responses from requirements engineers with industrial experience in the field, which were analyzed in order to derive observations.
Results. Although we found that a high majority of respondents declared some level of reuse in their projects (in particular, non-functional requirements were identified as the most similar and recurrent among projects), it is true that only a minority of them declared such reuse as a regular practice. Larger IT organizations and IT organizations with well-established software processes and methods present higher levels of reuse. Ignorance of reuse techniques and processes is the main reason preventing wider adoption. From the different existing reuse techniques, the simplest ones based on textual copy and subsequent tailoring of former requirements are the most adopted techniques. However, participants who apply reuse more often tend to use more elaborate techniques. Opinions of respondents about the use of requirement patterns show that they can be expected to mitigate problems related to the quality of the resulting requirements, such as lack of uniformity, inconsistency, or ambiguity. The main reasons behind the lack of adoption of requirement patterns by practitioners (in spite of the increasing research approaches proposed in the community) are related to the lack of a well-defined reuse method and involvement of requirement engineers.Peer ReviewedPostprint (author's final draft
Qualitative and semi-quantitative modelling and simulation of the software engineering processes
Software process modelling has been identified as being a vehicle for understanding development processes, controlling development costs, duration, and achieving product quality. In recent years, software process simulation has been becoming one of the essential techniques for effectively investigating and managing software development processes. Till now, most researches focus on the quantitative aspects of process simulation and modelling. Nevertheless, purely quantitative process modelling requires a very detailed understanding and accurate measurement of the software process, which relies on reliable and precise historical data. When such data are lacking or the quality is dubious, quantitative models have to impose severe constraints that restrict the model's value. Unfortunately, these data are not readily available in most cases, especially in the organisations at low process maturity levels. In addition, software development is a highly complex, human-centred endeavour, which involves many uncertain factors in the course of development process. Facing the inherent uncertainty and contingency, though quantitative modelling employs statistic techniques, its conditional capability and underlying assumptions limit its performance on large scale problems.
As the alternatives of quantitative approaches, qualitative modelling can cope with a lack of complete knowledge, and predicts qualitative process behaviours. Furthermore, semi-quantitative modelling offers the capability of handling process uncertainty with limited knowledge, and achieves tradeoff between quantitative and qualitative approaches. However, most previous researches omitted these approaches, and the associated methods and applications are far from developed.
The main contribution of this research lies in the pioneering work on the models, methods, and applications of qualitative and semi-quantitative software process modelling and simulation, and their relations with the conventional, quantitative modelling approaches.
This dissertation produces its novelty from twofold research. Firstly, it explores methods and techniques to qualitatively and semi-quantitatively model and simulate software processes at different levels, i.e. project, portion of development process, and product evolution. Secondly, Some exclusive applications of these modelling approaches are also developed for aspects of software engineering practice. Moreover, a proposed framework integrates these approaches with typical quantitative paradigms to guide the adoption of process simulation modelling in software organisations. As a comprehensive reflection of state-of-the-art of software process simulation modelling, a systematic review is reported in this dissertation as well
Software design metrics for predicting maintainability of service-oriented software
As the pace of business change increases, service-oriented (SO) solutions should facilitate easier maintainability as underlying business logic and rules change. To date, little effort has been dedicated to considering how the structural properties of coupling and cohesion may impact on the maintainability of SO software products. Moreover, due to the unique design characteristics of Service-Oriented Computing (SOC), existing Procedural and Object-Oriented (OO) software metrics are not sufficient for the accurate measurement of service-oriented design structures. This thesis makes a contribution to the field of SOC, and Software Engineering in general, by proposing and evaluating a suite of design-level coupling and cohesion metrics for predicting the maintainability of service-oriented software products early in the Software Development LifeCycle (SDLC). The proposed metrics can provide the following benefits: i) facilitate design decisions that could lead to the specification of quality SO designs that can be maintained more easily; ii) identify design problems that can potentially have a negative effect on the maintainability of existing service-oriented design structures; and iii) support more effective control of maintainability in the earlier stages of SDLC. More specifically, the following research was conducted as part of this thesis: - A formal mathematical model covering the structural and behavioural properties of service-oriented system design was specified. - Software metrics were defined in a precise, unambiguous, and formal manner using the above model. - The metrics were theoretically validated and empirically evaluated in order to determine the success of this thesis as follows: a. Theoretical validation was based on the property-based software engineering measurement framework. All the proposed metrics were deemed as theoretically valid. b. Empirical evaluation employed a controlled experimental study involving ten participants who performed a range of maintenance tasks on two SO systems developed (and measured using the proposed metrics) specifically for this study. The majority of the experimental outcomes compared favourably with our expectations and hypotheses. More specifically, the results indicated that most of the proposed metrics can be used to predict the maintainability of service-oriented software products early in the SDLC, thereby providing evidence for the validity and potential usefulness of the derived metrics. Nevertheless, a broader range of industrial scale experiments and analyses are required to fully demonstrate the practical applicability of the metrics. This has been left to future work
Predictive indicators of success in science & engineering projects - application to the SKA initiative
Projects that have scientific goals and are characterised by new engineering technologies, significant infrastructure, and big budgets are typically found to undergo much scrutiny prior to approval. What is less clear is whether concept reviews, approval, funding, or early stage planning takes proper advantage of potential indicators of success based on learnings from relevant past experience. In other words, is the likelihood of success in meeting all project goals considered at the outset, and can early stage project development/planning be made more effective?Through examination of published literature, interviews with past and present project managers, scientists and engineers, and investigation of selected case studies in Australia, Chile, South Africa and Europe, this thesis attempts to (i) identify critical success factors relevant to large, complex high-technology projects, (ii) investigate the use of experience as success indicators within contemporary case studies, and (iii) distil the results into a set of predictive test indicators of likely project success.While there is considerable literature concerning general management of large projects, and covering execution of complex undertakings, there is little specific material dealing with success drivers for large and complex high-technology projects. This thesis aims to fill this important gap in the current understanding.The present study distils an epistemic view of high-technology ‘mega-projects’, and through case examination and inductive and deductive reasoning, shows that serious attention paid to specific aspects of project-shaping can lift the probability of success. An additional output is a practical checklist tool for ‘high-tech’ mega-project practitioners.The findings from this research have direct applicability to current and future approvers and managers of large scale high-technology projects, and in particular the Square Kilometre Array (SKA) radio telescope project to be built in either Australasia or Southern Africa, and planned to commence preconstruction in 2012
Predicting change propagation using domain-based coupling
Most enterprise systems operate in domains where business rules and requirements frequently change. Managing the cost and impact of these changes has been a known challenge, and the software maintenance community has been tackling it for more than two decades. The traditional approach to impact analysis is by tracing dependencies in the design documents and the source code. More recently the software maintenance history has been exploited for impact analysis. The problem is that these approaches are difficult to implement for hybrid systems that consist of heterogeneous components. In today’s computer era, it is common to find systems of systems where each system was developed in a different language. In such environments, it is a challenge to estimate the change propagation between components that are developed in different languages. There is often no direct code dependency between these components, and they are maintained in different development environments by different developers. In addition, it is the domain experts and consultants who raise the most of the enhancement requests; however, using the existing change impact analysis methods, they cannot evaluate the impact and cost of the proposed changes without the support of the developers. This thesis seeks to address these problems by proposing a new approach to change impact analysis based on software domain-level information. This approach is based on the assumption that domain-level relationships are reflected in the software source code, and one can predict software dependencies and change propagation by exploiting software domain-level information. The proposed approach is independent of the software implementation, inexpensive to implement, and usable by domain experts with no requirement to access and analyse the source code. This thesis introduces domain-based coupling as a novel measure of the semantic similarity between software user interface components. The hypothesis is that the domain-based coupling between software components is correlated with the likelihood of the existence of dependencies and change propagation between these components. This hypothesis has been evaluated with two case studies: • A study of one of the largest open source enterprise systems demonstrates that architectural dependencies can be identified with an accuracy of more than 70% solely based on the domain-based coupling. • A study of 12 years’ maintenance history of the five subsystems of a significant sized proprietary enterprise system demonstrates that the co-change coupling derived from over 75,000 change records can be predicted solely using domain-based coupling, with average recall and precision of more than 60%, which is of comparable quality to other state-of-the-art change impact analysis methods. The results of these studies support our hypothesis that software dependencies and change propagation can be predicted solely from software domain-level information. Although the accuracy of such predictions are not sufficiently strong to completely replace the traditional dependency analysis methods; nevertheless, the presented results suggest that the domain-based coupling might be used as a complementary method or where analysis of dependencies in the code and documents is not a viable option
Queensland University of Technology: Annual Report 2010
Our annual report provides an evaluation of our performance and achievements during the previous year, measured against our goals and strategic plans. It documents our performance in the three key areas of:
teaching and learning
research
community service.
The report includes a summary of financial performance and a copy of our audited accounts