Background: As low-code development platforms (LCDPs) are becoming a trend, understanding how end-user developers think and feel as they work with such platforms is important. Particularly, assessing experiences during episodes of use can contribute to overall experience throughout long-term use. Aim: This paper aims to understand end-user developers’ episodic experience when they are building an application on a low-code platform and to provide guidance on how such experiences can be measured. Method: We designed the Episodic Developer Experience Questionnaire for LCDPs based on prior literature and refined it through expert Delphi sessions. The instrument contains 10 individual experience items, capturing various aspects of episodic experience. We further validated it through remote online tests on an LCDP. Results: The results showed significant differences in the relationships between items describing aspects of overall experience and items describing perceptions of tool quality and task difficulty. Programming expertise also affected end-user developers’ episodic experience. Conclusion: The study illustrates the design of questionnaire-based experience assessment in the context of development and identifies the importance of separating personal experience from assessment of tasks and tools since tool quality and task difficulty do not necessarily influence experience straightforwardly.
Mobile trip planning applications may contribute to popularising public transport, provided they work efficiently and gain high user acceptance. This article aims to take a closer look at the functioning of the JakDojade application, which has been the most popular platform in Poland for several years, supporting travel planning by public transport. In the presented case study, the authors tried to diagnose problems and indicate the directions of application development. At the same time, through this analysis, the authors aimed to demonstrate the usefulness of researching user comments from the viewpoint of managing the development of mobile applications and related services. A case study methodology was used to perform a descriptive study. Data on user feedback on JakDojade mobile application in Poland comes from Google Play Store. Semantic categorisation of user comments and sentiment analysis allowed for identifying user problems and diagnosing emotions related to its use. The presented methodology allowed for diagnosing typical user problems for the JakDojade application, which may help indicate further development directions. The authors attempted to demonstrate the usefulness of researching user comments from the point of view of managing the development of mobile applications and related services. The semi-automatic approach to text analysis presented in the article highlights the problems related to the study of user reviews. The limitations of the proposed methodology and the possibilities for its improvement were indicated.
This paper focuses on application of technical debt prioritization technique to the telecommunication software managing the fleet of devices for a video surveillance system. Technical debt for this application was gathered, categorized and prioritized according to the approach named CoDVA. However, the implementation of technical debt reduction did not follow exactly the expected guidelines. The three main causes of this phenomenon were discovered: continuous refactoring approach, sizing of technical debt items, and the broadened scope of refactoring activities. Therefore, we propose to adopt a specific definition of technical debt and follow a few rules for defining its scope and granularity.
W artykule została przeprowadzona analiza wydajnościtrzech bibliotek: XUnit, NUnit, MSTest, mająca na celu porównanie wydajności czasowej.Wydajność została sprawdzona przy wykorzystaniu testu obciążeniowego, testów synchronicznych oraz asynchronicznych. Testy synchroniczne oraz asynchroniczne zostały podzielone na grupy po 10, 25, 50 oraz 100 przypadków testowych. Dla każdej grupy zostało wykonane po trzydzieści pomiarów czasowych. Badania zostały wykonane przy pomocy autorskiego projektu napisanego na platformie ASP.NET Core.
EN
This paper conducts a performance analysis of three libraries: XUnit, NUnit, MSTest, aiming to compare the time performance. The performance was checked using load test, synchronous and asynchronous tests. The synchronous and asynchronous tests were divided into groups of 10, 25, 50 and 100 test cases. The tests were carried out using an inhouse project written on the ASP.NET Core platform.
Background: Software practice is evolving with changing technologies and practices such as InnerSource, DevOps, and microservices. It is important to investigate the impact of contemporary software engineering (SE) practices on software reuse. Aim: This study aims to characterize software reuse in contemporary SE practices and investigate its implications in terms of costs, benefits, challenges, and potential improvements in a medium-sized company. Method: We performed an exploratory case study by conducting interviews, group discussions, and reviewing company documentation to investigate software reuse in the context of contemporary SE practices in the case company. Results: The results indicate that the development for reuse in contemporary SE practices incurs additional coordination, among other costs. Development with reuse led to relatively fewer additional costs and resulted in several benefits such as better product quality and less development and delivery time. Ownership of reusable assets is challenging in contemporary SE practice. InnerSource practices may help mitigate the top perceived challenges: discoverability and ownership of the reusable assets, knowledge sharing and reuse measurement. Conclusion: Reuse in contemporary SE practices is not without additional costs and challenges. However, the practitioners perceive costs as investments that benefit the company in the long run.
This paper presents the evolution of fire control system software for Remote Controlled Weapon Stations (ZSMU in Polish) developed and manufactured by Zakłady Mechaniczne “Tarnów” S.A. (Poland). The paper describes the architecture, scope and purpose of research and development of the fire control system software, and the prospective directions of its future development. A complement to the paper is a specification of the optimisation methods used during the development of the fire control system software and the work organisation of a team of programmers working on the source code of the fire control system software. The paper illustrates how the consistent execution of research and development improves the effectiveness, scalability, and optimisation of the ZSMU fire control system software.
PL
W publikacji przedstawiono ewolucję oprogramowania systemu kierowania ogniem zdalnie sterowanych modułów uzbrojenia ZSMU, opracowanych i produkowanych w Zakładach Mechanicznych „Tarnów”. Opisano architekturę, zakres i cel przeprowadzanych prac badawczo-rozwojowych oraz dalsze potencjalne kierunki rozwoju. Jako uzupełnienie, podano metody optymalizacji zastosowane przy rozwoju oprogramowania oraz organizację pracy dla wieloosobowego zespołu programistów, pracującego nad kodem źródłowym. Publikacja obrazuje, w jaki sposób konsekwentne prowadzenie prac badawczo-rozwojowych prowadzi do zwiększenia efektywności, skalowalności i optymalizacji oprogramowania systemu kierowania ogniem dla zdalnie sterowanych modułów uzbrojenia.
Background: Security has become more of a concern with the wide deployment of Internet-of-things (IoT) devices. The importance of addressing security risks early in the development lifecycle before pushing to market cannot be over emphasized. Aim: To this end, we propose a conceptual framework to help with identifying security concerns early in the product development lifecycle for Internet-of-things, that we refer to as SIoT (Security for Internet-of-Things). Method: The framework adopts well known security engineering approaches and best practices, and systematically builds on existing research work on IoT architecture. Results: Practitioners at a Norwegian start-up company evaluated the framework and found it useful as a foundation for addressing critical security concerns for IoT applications early in the development lifecycle. The output from using the framework can be a checklist that can be used as input during security requirements engineering activities for IoT applications. Conclusions: However, security is a multi-faced concept; therefore, users of the SIoT framework should not view the framework as a panacea to all security threats. The framework may need to be refined in the future, particularly to improve its completeness to cover various IoT contexts.
8
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Dzięki nowemu serwoprzemiennikowi częstotliwości i950 usuwana jest granica między automatyką opartą na sterownikach a automatyką opartą na przemiennikach. Dla klienta, niezależnie od tego, czy chce mieć centralną topologię automatyki, zdecentralizowaną, czy też inteligentną kombinację tych dwóch rozwiązań, nie będzie to już istotne. Z punktu widzenia inżynierii oprogramowania, gdy uruchamiany jest nowy moduł platformy automatyki, nie ma znaczenia, czy serwoprzemiennik częstotliwości jest zintegrowany z topologią maszyny, tworząc prosty napęd, jako parametryzowalna oś czy jako dowolnie programowalna oś.
Unified Modeling Language (UML) is a commonly known OMG (Object Management Group) standard for designing software systems. However, practice shows that the usage of UML varies depending on the specificity of a software system and company. The authors decided to explore the perspective of students with experience in using UML by conducting an exploratory survey with them. Analysis of the data gathered revealed that they use UML diagrams as an additional help when developing software. The main risk turned out to be different diagram interpretations. At last, the main motivation to learn UML was obtaining a credit at university.
PL
Unified Modeling Language (UML) jest powszechnie nauczanym i stosowanym standardem Object Management Group (OMG) służącym do opisu systemów informatycznych. Jednakże praktyka pokazuje, że użyteczność UML waha się w zależności od specyfiki projektu i systemu informatycznego. Autorzy zdecydowali się przeprowadzić ankietę badającą opinie studentów, mających styczność z językiem UML, na temat wykorzystania wykonanych w nim diagramów. Analiza zebranych ankiet wykazała, że diagramy UML pełnią zazwyczaj rolę pomocniczą, głównym ryzykiem ich użycia są różnice w ich interpretacji, a główną motywacją do nauki jest uzyskanie zaliczenia na uczelni.
The quest is analyzed as an innovative learning method that provides the development of creativity, cognitive flexibility, emotional intelligence of a person and meets teamwork that is especially important for IT professionals. The components and stages of quest-technology application are described. It is noted that the quest, in addition to the knowledge gained, gives students an understanding of the processes of group dynamics, behavioral patterns in the system of interpersonal relations. A quest-plan that has been developed can be used as a template for building quests. The example of components of the developed quest for students of the specialty Software Engineering with the specified features of each component is given. The proposed example can be used as a recommendation for constructing quests.
The paper presents the results of analyzing the impact of learning styles on the success of the MOOC course. The study was based on the Kolb’s learning style questionnaire. The survey was shared among the students of software engineering MOOC course. The results of the survey were statistically analyzed. Compared the influence of different learning styles and their strength to successful completion of the course. Analyzed the strength of different learning styles among the students of different ages and different education. The results of the research show that the learning style has an impact to the course finishing success and should be considered for the effective educational program creation.
12
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Composition is amongst the major challenges faced in language engineering. Erdweg et al. offered a taxonomy for language composition. Mernik catalogued the use of the Language Definitional Framework LISA for composition sorts in that taxonomy. We produce a similar catalogue for embedded language engineering in Scala.
Context: Previously, the authors had developed and evaluated a framework to evaluate systematic review (SR) lifecycle tools. Goal: The goal of this study was to use the experiences of researchers in other domains to further evaluate and refine the evaluation framework. Method: We investigate the opinions of researchers with experience of systematic reviews in the healthcare and social sciences domains. We used semi-structured interviews to elicit their experiences of systematic reviews and SR support tools. Results: Study participants found broadly the same problems as software engineering (SE) researchers with the SR process. They agreed with the tool features we had included in our evaluation framework. Furthermore although there were some differences the majority of the importance assessments were very close. Conclusions: In the context of SRs, experiences of researchers in other domains can be useful to software engineering researchers. The evaluation framework for SR lifecycle tools appeared quite robust.
Modern, highly concurrent, and large-scale systems require new methods for design, testing, and monitoring. Their dynamics and scale require real-time tools that provide a holistic view of the whole system and the ability to show a more detailed view when needed. Such tools can help identify the causes of unwanted states, which is hardly possible with a static analysis or metrics-based approach. In this paper, a new tool for the analysis of distributed systems in Erlang is presented. It provides the real-time monitoring of system dynamics on diferent levels of abstraction. The tool has been used for analyzing a large-scale urban trafic simulation system running on a cluster of 20 computing nodes.
Writing comments is as important as writing code. The main purpose of using comments is to improve readability of our code but frequently thoughtless comment writing decrease understandability of source code. Comments must be concise and precise simultaneously. Also, when our code is changed, comments for this code must be changed too. While using comments in our code we must realize that if expressiveness of our programming language allows us to express clearly what we want in code, there is no need to write comments at all. And if we decide to use comments, they must be extremely accurate and understandable, because another person must understand, what we do and most importantly, why we do it. Frequently comments can be replaced with good clear names of variables, functions or classes. Also, we can replace our comments with assertions. Comments should clarify and explain our intentions. Copyrights and an authorship can be implemented using comments too. But our IDE can do these things automatically.
Masowa produkcja oprogramowania powoduje, że do wykonania określonych zadań można użyć programów od różnych producentów. Nie wszystkie jednak programy cieszą się taką samą popularnością. Badanie cech, które czynią, że dany program jest bardziej akceptowany niż inny, o podobnej funkcjonalności, stało się niezbędne i jest sukcesywnie rozwijane. W przypadku młodej kadry inżynierskiej przyzwyczajenia odnośnie używanego oprogramowania technicznego kształtowane są na uczelni, na której zdobywają wiedzę i umiejętności. Uczelnie techniczne bardzo często bazują na specjalistycznym oprogramowaniu w procesie kształcenia. Jest ono ważne zwłaszcza przy projektowaniu zajęć praktycznych, typu projekty lub laboratoria. Oprogramowanie specjalistyczne bywa często bardzo drogie, a przez to niedostępne dla studentów. Naturalną alternatywą dla tej sytuacji jest możliwość korzystania z oprogramowania open source.
EN
The massive production of software contributes to the possibility of using the programmes from different producers in order to complete definite tasks. Not all of the programmes, however, are so popular. The testing of software features about the similar functionality shows that some software are more acceptable than the other. This is required and is successfully developed. The habits and preferences of young engineers staff connected with technical software are shaped during studies at the university where they acquire knowledge and abilities. Universities of technology very often base their classes on special software during the process of education. It is especially important while designing a draft of practical classes such as laboratories and projects. Nevertheless, this specialized software is very expensive and at the same time unavailable for students. A natural alternative for this situation is the possibility to use open source software.
17
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
This article presents a simulation of the process of meta-model creation. The meta-model (modeling language) is created according to the Context-Driven Meta-Modeling Paradigm (CDMM-P) with the help of its implementation – Context-Driven Meta-Modeling Framework (CDMM-F). The simulation process may be applied to meta-model creation in an evolutionary approach to meta-modeling or may be used to check correctness of the meta-model, or to test the CDMM-F framework. This paper is focused on the verification and testing mentioned above.
PL
Artykuł prezentuje symulację procesu tworzenia meta-modelu. Metamodel ten (język modelowania) tworzony jest zgodnie z paradygmatem Context-Driven Meta-Modeling Paradigm (CDMM-P) z wykorzystaniem szkieletu (framework) stanowiącego jego implementację – Context-Driven Meta-Modeling Framework (CDMM-F). Proces symulacji może być zastosowany do tworzenia metamodeli zgodnie z podejściem ewolucyjnym do metamodelowania albo może być stosowany do weryfikowania poprawności metamodeli lub do testowania CDMM-F. Niniejszy artykuł koncentruje się na wspomnianym weryfikowaniu i testowaniu.
The paper is focused on the processes of software development of enterprise systems. It is related to the new concept of software development paradigm named Context-Driven Meta-Modeling Paradigm (CDMM-P) introduced by the author. The CDMM-P can be applied to define modeling or meta-modeling languages, to construct enterprise systems data layer. The CDMM-P concept is based on application open ontologies in the form composed of notions characteristic for software engineering and it constitutes the first implementation and the first application of open ontologies in software engineering domain. The paper presents the concept of a shift of existing OMG standardization approach. It explains why the CDMM-P graph representation and its API should be the subject of standardization in place of MOFbased close ontology structures.
This paper presents a description of an agile testing process in a medium size software project that is developed using Scrum. The research methods used is the case study were as follows: surveys, quantifiable project data sources and qualitative project members opinions were used for data collection. Challenges related to the testing process regarding a complex project environment and unscheduled releases were identified. Based on the obtained results, we concluded that the described approach addresses well the aforementioned issues. Therefore, recommendations were made with regard to the employed principles of agility, specifically: continuous integration, responding to change, test automation and test driven development. Furthermore, an efficient testing environment that combines a number of test frameworks (e.g. JUnit, Selenium, Jersey Test) with custom-developed simulators is presented.
Celem artykułu jest analiza sposobu działania złośliwego oprogramowania typu ransomware w kontekście wykorzystywanych mechanizmów kryptologicznych. Inżynierii wstecznej poddana zostaje najnowsza w danym momencie wersja oprogramowania CryptXXX. Odkryte zostają wykorzystywane mechanizmy kryptograficzne, wskazane zostają ich słabości oraz możliwości poprawy.
EN
The main purpose of this paper was to analysis how malicious software is using cryptographic mechanisms. Reverse engineering were applied in order to discover mechanisms used in ransomware CryptXXX v3. At the end were given some useful advices how to improve CryptXXX.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.