{"title":"Methods for Identifying Architectural Debt: A Systematic Mapping Study","authors":"Yagup Macit, G. Giray, Eray Tüzün","doi":"10.1109/UYMS50627.2020.9247070","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247070","url":null,"abstract":"Technical debt in general refers to suboptimal decisions the practitioners make during software development that achieve short-term goals at the expense of long-term quality concerns. Architecture technical debt is a subset of technical debt, when software practitioners make wrong or sub-optimal decisions related to the architecture of the software. Identifying such architecture technical debt plays a crucial role in software quality. In the last decade, there were several methods proposed to identify architecture debts in the literature.In this study, we conduct a systematic literature review of methods that identify architecture technical debt by inspecting 28 primary studies published from 2011 to 2020. Based on the outcomes of our review: (1) design rule space and traceability graphs are the dominant techniques; (2) despite the increase of automated techniques in identifying architecture debt, pure manual methods using expert opinion is still popular; (3) majority of the approaches use code/version history to mine archictural technical debt; (4) the field is getting increasingly more attraction in the last five years.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126053084","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching Agile Software Development Using Agile Methods: A Case Study","authors":"Erkan Sarikaya, Selami Bagriyanik, Mesut Gökalp","doi":"10.1109/UYMS50627.2020.9247027","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247027","url":null,"abstract":"Today, the dramatic impact of digital transformation on business, education and private life are becoming more apparent each day. Considering the effect of major environmental events such as the covid-19 pandemic in 2020, technology has become even more influential. In this context, the very rapid developments in technologies such as cloud computing, internet of things, machine learning, artificial intelligence and 5G and consequently the need for continuous upskilling of expert human resources have made the adaptation of traditional learning and teaching methods to this new human condition a vital issue. While the aforementioned phenomenon is being experienced, a talent gap is observed between the competencies of the graduates of Computer Science Engineering, Software Engineering, Industrial Engineering and other related departments and industry expectations as a result of the traditional education approaches of the universities. The shortening of the lifespan of the produced vocational knowledge day by day continues to increase this gap. For this reason, it has become more important than ever that higher education institutions have an approach that is more suitable for this dynamic environment. In this study, it has been examined whether the agile methods, which have become widespread within software industry in the last 15 years, have similar potential when used as a training method. During the study, 49 students from the engineering faculty of a Turkish University participated in the \"Agile Software and Product Development\" course. The curriculum design, learning experiences, student performance considerations and the other results have been shared. In this course, 3 Sprints are designed with 8 Agile Project Teams that are self-organized with the Scrum framework. Continuous team learning opportunities were evaluated and the difficulties encountered in applying \"agility\" approach to students while developing innovative ideas and the effect of agile method on the performance of learning were examined. The study is considered to provide useful information for universities, faculty members, agile coaches, students, and firms and professionals in the Information and Communication Technologies industry.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123904823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Proposed System for Forecasting of Personal Cash Flow and Saving Prediction","authors":"Bilge Coşkun, B. T. Akgün","doi":"10.1109/UYMS50627.2020.9247049","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247049","url":null,"abstract":"The aim of this study is to develop an effective and interactive application that helps users regulate their expenditures and encourage them to save. In this application; it is aimed to estimate the forward cash flow using personal regular and irregular historical financial data and future full or partial specific financial data and the dynamic date estimation of when a person will reach a target for accumulation after a long term is aimed with the information obtained in this process. This prediction will benefit the user by supporting cash savings or in a loan plan. In the first stage of the proposed system, a fast microservice based architectural system that collects instant data to be used in forward cash flow estimation is designed. The second part of the study is the estimation of the nearest possible date to reach an accumulation amount target by adapting the most frequently used neural network algorithms and applications in the literature.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127970944","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The Trajectory of Turkey-educated software practitioners working in different countries","authors":"Deniz Akdur","doi":"10.1109/UYMS50627.2020.9247053","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247053","url":null,"abstract":"To bridge the skills gap in the software industry, we have already conducted a survey, whose results will benefit both the industry and as well as the academia, by creating the awareness of the expected skillset and the corresponding gaps in the academic curriculum (mostly for Turkish institutions). One of the opportunities the survey data provided as a further study is to analyze the trajectory of 628 software practitioners, who completed their undergraduate degree in Turkey. We believe that such a study will help to characterize and understand the possible educational and career paths of Turkey-educated software practitioners working in different countries. With the help of such initial inputs, we hope that Turkish researchers will study more qualitative approaches to investigate the root causes of these phenomena by increasing more industry-academia collaborations (IACs).","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114318489","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Crafting a CMMI V2 Compliant Process for Governance Practice Area: An Experiential Proposal","authors":"Mustafa Degerli","doi":"10.1109/UYMS50627.2020.9247068","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247068","url":null,"abstract":"Noteworthy amount of systems and software development organizations deal with the Capability Maturity Model Integration (CMMI) for enhancements concerning relevant processes, performance, and products. Besides, lately, the CMMI Institute released the new version (V2) of the CMMI. CMMI V2 includes some new practice areas and the governance is one of the most chief practice areas owing to that it is a must for every other practice area and benchmark level ratings. In this paper, the author proposes an experiential craft process for the governance practice area. Explicitly, the author presents all-inclusive particulars concerning the process definition, process performance indicator, process inputs and outputs, process activities flow, governance meeting presentation template, governance minutes of meetings, and governance action items log. The author modestly thinks these specifics are going to be beneficial for organizations in defining and refining their own governance business processes and relevant assets to not only become compliant with CMMI V2, but also conspicuously reduce the cost of process implementations, to notably increase the likelihood of meeting objectives, and to firmly guarantee that the implemented processes support and contribute to the business success.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129358362","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Remote Program Loading Service Design and Implementation","authors":"Nilgün Incereis, B. T. Akgün","doi":"10.1109/UYMS50627.2020.9247016","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247016","url":null,"abstract":"Internet of Things (IoT) technology, which is one of the new technologies, is a network that holds the objects that can exchange information via the internet and the formation of a software supported system which contributes to the management of these objects. This study aims to design and implement a remote program installation service called OTA service. For the system design of this study, general IoT systems, local system, local administration/remote access system, remote management system and distributed management system are examined. A recommendation has been made and implemented for the remote program installation service system. Scenario conditions have been created to improve the system. These are in the form the installation of users to the system or device according to their registration status, decision-making structure of devices according to their dependence on the system, monitoring of the devices at certain intervals according to the condition of being active or passive in the system, security measures for updating. In the proposed system, NodeMcu devices are used as IoT units.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"131 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127480405","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Muzaffer Tepekule, Emre Şimşirli, Mehmet Ali Sakarya, Rudi Diriman, G. Kardas
{"title":"On the use of Spine Animation Library for the Game Software Development: An Experience Report","authors":"Muzaffer Tepekule, Emre Şimşirli, Mehmet Ali Sakarya, Rudi Diriman, G. Kardas","doi":"10.1109/UYMS50627.2020.9247012","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247012","url":null,"abstract":"This paper evaluates the use of Spine animation library during industrial mobile game software development. The evaluation results showed that the use of both Spine and its supporting tools provides the rapid application of the same animation to various characters, shortens the transfer of animation constructs between animators and game developers and increases the production of required software approximately seven times. However, we also observed that the library was incapable of properly reflecting some of the light events inside games and caused problems in viewing the two animations together.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117096256","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Parameter Based Abstraction For a Modular Software","authors":"Adil Kürşad Ergüt, Musa Umut Sirma","doi":"10.1109/UYMS50627.2020.9247051","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247051","url":null,"abstract":"Main idea of modular software is to define the interfaces of each software component clearly and design the system flow through these interfaces. As long as these interface definitions remain unchanged, a modification in a component would not affect one another. However; in a system evolving with changing user requirements and hardware, it is impossible to avoid changes in the requirements of software components. This article focuses on parameter based abstraction approach, which aims to minimalize the amount of change in software components and interfaces in such systems. Primary philosophy of this approach is to abstract characteristic variables used system-wide as parameters and express the inter-component interaction as parameter updates instead of function calls.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124820393","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automatic Code Generation with Document Responsibility Collaboration Modelling Method","authors":"Tugkan Tuglular, Onur Leblebici","doi":"10.1109/UYMS50627.2020.9247013","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247013","url":null,"abstract":"UML is highly preferred for design in current software development approaches. However, the conceptual gap between entities in business processes and classes in UML designs is not small. To reduce this gap, this paper proposes using documents that are vital to every business. The proposed new method called Document Responsibility Collaboration puts the concept of documents at the center. In the proposed method, documents are meta-models of classes in terms of programming, and at the same time, they are meta-models of relationships in terms of permanence. The proposed Document Responsibility Collaboration method uses the domain concept in which domains are made up of documents, and a document defined in a domain can work with another document in any domain to fulfill its responsibility. Document Responsibility Collaboration method defines a process, which starts at the transition from analysis to design phase and continues to the code generation phase. An example from the order management domain is provided to validate the recommended method.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125061714","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Delivering Machine Learning Applications via Cloud Platforms: An Experience Report","authors":"Yigit Sener, Hasan Fahri Yetim, Selami Bagriyanik","doi":"10.1109/UYMS50627.2020.9247050","DOIUrl":"https://doi.org/10.1109/UYMS50627.2020.9247050","url":null,"abstract":"Cloud technologies enable developers and organizations to focus on their product, without having to consider issues such as local server capacity, infrastructure modifications, data security, licensing or human capital. This paper attempts to explain a case in which a Machine Learning application is deployed via Amazon Web Services (AWS) tools. In doing so, it demonstrates the reasoning behind choosing a cloud-based environment instead of on-premise sources, by putting forward the advantages of the former. On the other hand, it should be noted that the application in this experience is generated with a hybrid approach: It is developed using on-premise infrastructure and then moved to the Cloud environment for the deployment phase only. In this regard, it can be read as a PaaS experience. This study is considered to be a beneficial guide for entrepreneurs and start-ups on a budget who aim at launching their products in a swift and scalable manner.","PeriodicalId":358654,"journal":{"name":"2020 Turkish National Software Engineering Symposium (UYMS)","volume":"176 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-10-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130039215","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}