scholarly journals Self-Forensics Through Case Studies of Small-to-Medium Software Systems

Author(s):  
Serguei A. Mokhov ◽  
Emil Vassev
Author(s):  
Iaakov Exman

Modularity — the decoupling of software units — is essential for composition of real software systems from ready-made components. But for a long time one lacked a formal theory of modularity. Recently we have been developing Linear Software Models as rigorous theoretical modularity standards based upon plain Linear Algebra. By these models, decoupling means just linear independence, within a modularity matrix. This paper applies Linear Software Models to software systems, obtaining three consequences: (1) besides decoupling, various informal notions of software engineering, such as software modules, cohesion, and single responsibility, have for the first time a well-defined formal counterpart; (2) canonical building blocks like Software Design Patterns strictly obey the Linear Software Models; (3) larger software systems obey bordered Linear Models, allowing precise location and visualization of residual coupling. The latter consequences are demonstrated by case studies of software systems from the literature. The applicability of the Linear Software Models is quantitatively shown to scale well with system size, for the given case studies.


Author(s):  
Neil Andrew Gordon ◽  
Mike Brayshaw

Connecting undergraduate students as partners can lead to the enhancement of the undergraduate experience and allow students to see the different sides of the university. Such holistic perspectives may better inform academic career choices and postgraduate study. Furthermore, student involvement in course development has many potential benefits. This paper outlines a framework for connecting research and teaching within Computer Science- though this is applicable across other disciplines. Three case studies are considered to illustrate the approach. The first case study involves students in their honours’ stage (level 6, typically 3rd year) project, the second an undergraduate intern between stages 5 and 6, and finally, a MSc (level 7) project. All three case studies have actively involved students in core parts of the University’s teaching and research activities, producing usable software systems to support these efforts. We consider this as a continuing engagement process to enhance the undergraduate learning experience within Computer Science.Keywords:  Enquiry Based Learning; Computing Education; Research Inspired Education.


Author(s):  
IMED HAMMOUDA ◽  
KAI KOSKIMIES ◽  
TOMMI MIKKONEN

Knowledge representation, acquisition, and sharing in software development projects is challenging due to the involvement of different kinds of stakeholders and large heterogeneous repositories of artifacts. In this paper, we argue that the concept of a concern can be used to facilitate the management of knowledge concerning the various system artifacts. Concerns represent pieces of knowledge pertaining to various viewpoints and interests of the stakeholders. In order to represent concerns, we propose the use of a non-intrusive role-based mechanism called a fragment. Using this mechanism, tacit knowledge can be made explicit by mapping stakeholders interests to artifact repositories, concern-based queries can be addressed to the repositories, and concerns can be combined to produce new knowledge. A concern-based prototype tool environment for knowledge management has been built and used for evaluating the approach in the context of industrial case studies.


2020 ◽  
Vol 12 (1) ◽  
pp. 34-39
Author(s):  
Thamer Al-Rousan ◽  
Hasan Abualese

Comprehending a huge execution trace is not a straightforward task due to the size of data to be processed. Detecting and removing utilities are useful to facilitate the understanding of software and decrease the complexity and size of the execution trace. The goal of this study is to develop a novel technique to minimize the complexity and the size of traces by detecting and removing utilities from the execution trace of object-oriented software. Two novel utility detection class metrics were suggested to decide the degree that a specific class can be counted as a utility class. Dynamic coupling analysis forms the basis for the proposed technique to address object-oriented features. The technique presented in this study has been tested by two case studies to evaluate the effectiveness of the proposed technique. The results from the case studies show the usefulness and effectiveness of our technique.


2016 ◽  
pp. 193-222
Author(s):  
Torben Tambo ◽  
Martin Olsen ◽  
Lars Bækgaard

Feral systems have largely been regarded as the users' response to discrepancies between official IT software systems and actual business processes. Inadequacies, discrepancies, and absence of systems support to work processes might lead to users initiating systems development themselves: systems involving any combination of software and manual processes. Feral systems are unofficial and exhibit a conflict between formal and actual operational implementation. In this chapter, the use and implementation of feral systems in Denmark are analysed and discussed. It is found interesting to aim for an understanding of feral systems in a small, relatively agile economy with traditionally positive to rapid adoption of information technology in enterprises. The method being used is qualitative case studies in selected companies representing various complexities of their respective business models and industries. The case studies address both issues of organisational and technological nature of the feral systems typically with an offset in the companies' overall information systems architecture. Among findings are (1) feral systems as a known choice when reflecting business processes with open and non-routinised character, (2) a general acceptance not related to the size or industry, (3) feral systems have received attention as implementations of innovation, (4) feral systems start as opposed to formal and official systems, but during their lifetime they can drift towards a more official status, and (5) feral systems are accepted as low-cost solutions to fill gaps in business process support where ERP systems come short.


Author(s):  
Idrees S. Kocher

The reliability of software is founded on the development, testing, evaluation and maintenance of software systems. In recent years, researchers have been come to see software reliability as a major focus. This is due to the fact that reliability is central to all software quality concepts. System Reliability Engineering is the study of the processes and results of software systems in relation to the basic requirements of users. This paper provides an overview (roadmap) of current developments in software reliability metrics, modeling and operational profiles. It outlines several software engineering methods to achieve reasonable system reliability. Finally, failure metrics are considered based on feedback collected from users after releasing the software and case studies of detected failures. Consequently, numbers and types of failures will be recorded from the users feedback.


Author(s):  
Detlef Streitferdt ◽  
Florian Kantz ◽  
Philipp Nenninger ◽  
Thomas Ruschival ◽  
Holger Kaul ◽  
...  

This chapter reports the results of a cycle computer case study and a previously conducted industrial case study from the automation domain. The key result is a model-based testing process for highly configurable embedded systems. The initial version of the testing process was built upon parameterizeable systems. The cycle computer case study adds the configuration using the product line concept and a feature model to store the parameterizable data. Thus, parameters and their constraints can be managed in a very structured way. Escalating demand for flexibility has made modern embedded software systems highly adjustable. This configurability is often realized through parameters and a highly configurable system possesses a handful of those. Small changes in parameter values can often account for significant changes in the system's behavior, whereas in some other cases, changed parameters may not result in any perceivable reaction. The case studies address the challenge of applying model-based testing to configurable embedded software systems in order to reduce development effort. As a result of the case studies, a model-based testing process was developed. This process integrates existing model-based testing methods and tools such as combinatorial design and constraint processing as well as the product line engineering approach. The testing process was applied as part of the case studies and analyzed in terms of its actual saving potentials, which turned out to reduce the testing effort by more than a third.


Author(s):  
Torben Tambo ◽  
Martin Olsen ◽  
Lars Bækgaard

Feral systems have largely been regarded as the users’ response to discrepancies between official IT software systems and actual business processes. Inadequacies, discrepancies, and absence of systems support to work processes might lead to users initiating systems development themselves: systems involving any combination of software and manual processes. Feral systems are unofficial and exhibit a conflict between formal and actual operational implementation. In this chapter, the use and implementation of feral systems in Denmark are analysed and discussed. It is found interesting to aim for an understanding of feral systems in a small, relatively agile economy with traditionally positive to rapid adoption of information technology in enterprises. The method being used is qualitative case studies in selected companies representing various complexities of their respective business models and industries. The case studies address both issues of organisational and technological nature of the feral systems typically with an offset in the companies’ overall information systems architecture. Among findings are (1) feral systems as a known choice when reflecting business processes with open and non-routinised character, (2) a general acceptance not related to the size or industry, (3) feral systems have received attention as implementations of innovation, (4) feral systems start as opposed to formal and official systems, but during their lifetime they can drift towards a more official status, and (5) feral systems are accepted as low-cost solutions to fill gaps in business process support where ERP systems come short.


Sign in / Sign up

Export Citation Format

Share Document