scholarly journals What Works and What Does Not: an Analysis of Application Frameworks Technology

Author(s):  
Wusheng Zhang ◽  
Mik Kim

Advocates of application frameworks claim that this technology is one of the most promising, supporting large-scale reuse, increased productivity and quality, and reduced cost of software development. A number of its advocates suggest that the next decade will be a major challenge for the development and deployment of this technology. This study investigates the theory and practice of application frameworks technology to evaluate what works and what does not in systems development. The evaluation is based on quality criteria developed by the authors. The result of the study suggests that application frameworks technology does support large-scale reuse by incorporating other existing reuse techniques such as design patterns, class libraries and components. It also shows that the methodological support pertaining to building and implementing application frameworks is inadequate. Furthermore, it indicates that application frameworks technology may increase the quality of software in terms of correctness and reusability with some penalty factors but there is no guarantee of increasing the extendability and interoperability of software systems. There are still obstacles that restrict the potential benefits claimed by the proponents of application frameworks.

2009 ◽  
pp. 2728-2743
Author(s):  
Anna E. Bobkowska

Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the quality of models themselves. It discusses context-free and context-dependent quality criteria for models and then moves on to methods of evaluation which facilitate checking whether a model is good enough. We use linguistic theories to understand groups of criteria and their impact on other models, software product and the process of software development. We propose a strict distinction of the impacts of visual modeling languages, models of the system and tools for quality criteria. This distinction is helpful when designing the methods of evaluation and making decision about the point in time, scope and personnel responsible for quality assessment. As the quality criteria and several methods of evaluation has usually been considered separately we propose a methodology which integrates them. Such an integrated approach provides the following benefits. It allows for designing methods of evaluation based on quality criteria and elements of the model (or modeling language) in the context of specific needs. It can be applied for management of the scope of evaluation with quality criteria as well as configuration of the method to a specific situation. It allows for flexible and efficient conduct of the evaluation with selection of the methods of evaluation. Finally, this chapter presents case studies which illustrate the approach.


2013 ◽  
Vol 86 (11) ◽  
pp. 2797-2821 ◽  
Author(s):  
J. Pernstål ◽  
R. Feldt ◽  
T. Gorschek

Author(s):  
P. K. KAPUR ◽  
ANU. G. AGGARWAL ◽  
KANICA KAPOOR ◽  
GURJEET KAUR

The demand for complex and large-scale software systems is increasing rapidly. Therefore, the development of high-quality, reliable and low cost computer software has become critical issue in the enormous worldwide computer technology market. For developing these large and complex software small and independent modules are integrated which are tested independently during module testing phase of software development. In the process, testing resources such as time, testing personnel etc. are used. These resources are not infinitely large. Consequently, it is an important matter for the project manager to allocate these limited resources among the modules optimally during the testing process. Another major concern in software development is the cost. It is in fact, profit to the management if the cost of the software is less while meeting the costumer requirements. In this paper, we investigate an optimal resource allocation problem of minimizing the cost of software testing under limited amount of available resources, given a reliability constraint. To solve the optimization problem we present genetic algorithm which stands up as a powerful tool for solving search and optimization problems. The key objective of using genetic algorithm in the field of software reliability is its capability to give optimal results through learning from historical data. One numerical example has been discussed to illustrate the applicability of the approach.


10.28945/3379 ◽  
2009 ◽  
Author(s):  
Lakshmi Narasimhan ◽  
Prapanna Parthasarathy ◽  
Manik Lal Das

Component-Based Software Engineering (CBSE) has shown significant prospects in rapid production of large software systems with enhanced quality, and emphasis on decomposition of the engineered systems into functional or logical components with well-defined interfaces used for communication across the components. In this paper, a series of metrics proposed by various researchers have been analyzed, evaluated and benchmarked using several large-scale publicly available software systems. A systematic analysis of the values for various metrics has been carried out and several key inferences have been drawn from them. A number of useful conclusions have been drawn from various metrics evaluations, which include inferences on complexity, reusability, testability, modularity and stability of the underlying components. The inferences are argued to be beneficial for CBSE-based software development, integration and maintenance.


Author(s):  
Seyed Hossein HAERI ◽  
Peter Thompson ◽  
Neil Davies ◽  
Peter Van Roy ◽  
Kevin Hammond ◽  
...  

This paper directly addresses a critical issue that affects the development of many complex distributed software systems: how to establish quickly, cheaply and reliably whether they will deliver their intended performance before expending significant time, effort and money on detailed design and implementation. We describe ΔQSD, a novel metrics-based and quality-centric paradigm that uses formalised outcome diagrams to explore the performance consequences of design decisions, as a performance blueprint of the system. The ΔQSD paradigm is both effective and generic: it allows values from various sources to be combined in a rigorous way, so that approximate results can be obtained quickly and subsequently refined. ΔQSD has been successfully used by Predictable Network Solutions for consultancy on large-scale applications in a number of industries, including telecommunications, avionics, and space and defence, resulting in cumulative savings of $Bs. The paper outlines the ΔQSD paradigm, describes its formal underpinnings, and illustrates its use via a topical real-world example taken from the blockchain/cryptocurrency domain, where application of this approach enabled an advanced distributed proof-of-stake system to meet challenging throughput targets.


Geriatrics ◽  
2020 ◽  
Vol 5 (4) ◽  
pp. 62
Author(s):  
Hei Long Lam ◽  
Wai Tak Victor Li ◽  
Ismail Laher ◽  
Roger Y. Wong

Dementia is an increasingly common syndrome and while pharmacotherapy is available, its potential benefit is limited, especially in non-cognitive outcomes. Non-pharmacotherapy such as music therapy is potentially associated with improved outcomes. We assessed the effects of music therapy on patients with dementia to evaluate its potential benefits on dementia. Two independent reviewers searched MEDLINE, EMBASE, CINAHL, CENTRAL, and ClinicalTrials.gov databases for clinical trials, using the keywords “music therapy” and “dementia”. Study outcomes included cognitive function, behavioral and psychological symptoms of dementia (BPSD), and quality of life. A total of 82 studies were included, of which 43 were interventional clinical trials, and 39 were systematic reviews or meta-analyses. Significant improvements in verbal fluency occurred after music therapy, with significant reductions in anxiety, depression, and apathy. There were no significant improvements in cognition or daily functioning, and the results on quality of life and agitation were ambiguous. Limitations of studies included low patient numbers, lack of standardized music therapy, and high heterogeneity in outcomes. More large-scale clinical trials would allow for clearer conclusions on the benefits of music therapy in patients with dementia.


Author(s):  
G. Chroust

Information systems are designed for the people, by the people. The design of software systems with the help of software systems is another aspect of human-computer interfaces. New methods and their (non-)acceptance play an important role. Motivational factors of systems developers considerably influence the type and quality of the systems they develop (Arbaoui, Lonchamp & Montangero, 1999; Kumar & Bjoern-Andersen, 1990). To some extent, the quality of systems is a result of their developers’ willingness to accept new and (supposedly) better technology (Jones, 1995). A typical example is component-based development methodology (Bachmann et al., 2000; Cheesman & Daniels, 2001). Despite considerable publication effort and public lip service, component-based software development (CBD) appears to be getting a slower start than anticipated and hoped for. One key reason stems from the psychological and motivational attitudes of software developers (Campell, 2001; Lynex & Layzell, 1997). We therefore analyze the attitudes that potentially hamper the adoption of the component-based software development approach. Maslow’s Hierarchy of Need (Boeree, 1998; Maslow, 1943) is used for structuring the motives.


Author(s):  
Raghavendra Rao Althar ◽  
Debabrata Samanta

The chapter focuses on exploring the work done for applying data science for software engineering, focusing on secured software systems development. With requirements management being the first stage of the life cycle, all the approaches that can help security mindset right at the beginning are explored. By exploring the work done in this area, various key themes of security and its data sources are explored, which will mark the setup of base for advanced exploration of the better approaches to make software systems mature. Based on the assessments of some of the work done in this area, possible prospects are explored. This exploration also helps to emphasize the key challenges that are causing trouble for the software development community. The work also explores the possible collaboration across machine learning, deep learning, and natural language processing approaches. The work helps to throw light on critical dimensions of software development where security plays a key role.


2016 ◽  
Vol 12 (1) ◽  
pp. 37-43
Author(s):  
Gintaras Stauskis ◽  
Vaiva Deveikienė

Abstract We may see modern urbanism as a collection of many successful developments as well as a series of endless mistakes and repeated failures. The paper focuses on the analysis of existing and former urban planning and design patterns in aspect of efficiency of applied methods to achieve higher quality referring to the philosophy and practice of Landscape Urbanism. The Missionaries Block in Vilnius City serves as a case study for assessing its development in three distinguishable periods by the set of quality criteria derived from Landscape Urbanism theories and practices. The assessment results disclose an evident drop in the overall quality of the selected site’s development in the recent period. The paper discusses if and how one may use the method employed hereby for programming and shaping the future regeneration and redevelopment of existing urban setting.


2015 ◽  
Vol 61 (4) ◽  
pp. 321-326
Author(s):  
Stefano Cicciarella ◽  
Christian Napoli ◽  
Emiliano Tramontana

Abstract Large software systems need to be modified to remain useful. Changes can be more easily performed when their design has been carefully documented. This paper presents an approach to quickly find design patterns that have been implemented into a software system. The devised solution greatly reduces the performed checks by organising the search for a design pattern as tree traversals, where candidate classes are carefully positioned into trees. By automatically tagging classes with design pattern roles we make it easier for developers to reason with large software systems. Our approach can provide documentation that lets developers understand the role each class is playing, assess the quality of the code, have assistance for refactoring and enhancing the functionalities of the software system.


Sign in / Sign up

Export Citation Format

Share Document