scholarly journals Tools and Techniques Adapted for Teaching Software Engineering Topics Remotely during the COVID-19 Pandemic

2022 ◽  
Author(s):  
Md. Farhad Alam Bhuiyan ◽  
Musfiqur Rahman ◽  
Fairuza Laila ◽  
Sarker Tanveer Ahmed ◽  
Ishtiaque Hussain
2018 ◽  
Vol 7 (2.29) ◽  
pp. 772 ◽  
Author(s):  
Muhammad Ali Ramdhani ◽  
Dian Sa’adillah Maylawati ◽  
Abdusy Syakur Amin ◽  
Hilmi Aulawi

Software Engineering (SE) is a discipline, concept, method that focus on all aspects related to software production. SE must adapt organized system and approach in building software. The objective of this article is to discuss needs elicitation in SE, so that the design can be done through utilizing appropriate tools and techniques based on the problem to be solved, restrictions and need that must be met, as well as resource availability. The method used in this article is literature review as a major source of problem analysis. In the next phase, the main topic of the article is clarified, validated, and verified by the model of the Focus Group Discussion (FGD). The respondents of FGD are lecturers of Informatics Department at UIN Sunan Gunung Djati Bandung. Requirements elicitation is in-dept and comprehensive process of finding information from all stakeholders in relation to the built software. The result of requirements elicitation is the explanation from every stakeholder with natural language related to the will and interest of the built software. The mechanism of finding information can be done through observation, questionnaire, interview, and documentary study, which are then tested with data validation and verification in FGD. The product of requirements elicitation is the User Requirement Document (URD) that can be used as an early artifact in software development process. Furthermore, URD is used as a reference in tracking the suitability between the function of software and the needs of stakeholder. This article formulated analysis approach of SE need, so that it is easily modified, adaptive to growing software complexity, and connected with the analysis of hardware. 


2019 ◽  
Vol 5 ◽  
pp. e175
Author(s):  
Seth Russell ◽  
Tellen D. Bennett ◽  
Debashis Ghosh

Today’s computational researchers are expected to be highly proficient in using software to solve a wide range of problems ranging from processing large datasets to developing personalized treatment strategies from a growing range of options. Researchers are well versed in their own field, but may lack formal training and appropriate mentorship in software engineering principles. Two major themes not covered in most university coursework nor current literature are software testing and software optimization. Through a survey of all currently available Comprehensive R Archive Network packages, we show that reproducible and replicable software tests are frequently not available and that many packages do not appear to employ software performance and optimization tools and techniques. Through use of examples from an existing R package, we demonstrate powerful testing and optimization techniques that can improve the quality of any researcher’s software.


Author(s):  
David Worth ◽  
Chris Greenough ◽  
Shawn Chin

The purpose of this chapter is to introduce scientific software developers to software engineering tools and techniques that will save them much blood, sweat, and tears and allow them to demonstrate the quality of their software. By introducing ideas around the software development life cycle, source code analysis, documentation, and testing, and touching on best practices, this chapter demonstrates ways in which scientific software can be improved and future developments made easier. This is not a research article on current software engineering methods, nor does it attempt to specify best practices. Its aim is to introduce components that can be built into a tailored process. The chapter draws upon ideas of best practice current in software engineering, but recommends using these only selectively. This is done by presenting details of tools that can be used to implement these ideas and a set of case studies to demonstrate their use.


Author(s):  
Frederick Schmidt ◽  
Stephen MacDonell ◽  
Andy M. Connor

Design erosion is a persistent problem within the software engineering discipline. Software designs tend to deteriorate over time and there is a need for tools and techniques that support software architects when dealing with legacy systems. This paper presents an evaluation of a search-based software engineering (SBSE) approach intended to recover high-level architecture designs of software systems by structuring low-level artifacts into high-level architecture artifact configurations. In particular, this paper describes the performance evaluation of a number of metaheuristic search algorithms applied to architecture reconstruction problems with high dimensionality in terms of objectives. These problems have been selected as representative of the typical challenges faced by software architects dealing with legacy systems and the results inform the ongoing development of a software tool that supports the analysis of trade-offs between different reconstructed architectures.


Author(s):  
Vishnu Pendyala

Software engineering operations in large organizations are primarily comprised of integrating code from multiple branches, building, testing the build, and releasing it. Agile and related methodologies accelerated the software development activities. Realizing the importance of the development and operations teams working closely with each other, the set of practices that automated the engineering processes of software development evolved into DevOps, signifying the close collaboration of both development and operations teams. With the advent of cloud computing and the opening up of firewalls, the security aspects of software started moving into the applications leading to DevSecOps. This chapter traces the journey of the software engineering operations over the last two to three decades, highlighting the tools and techniques used in the process.


Author(s):  
David Worth ◽  
Chris Greenough ◽  
Shawn Chin

The purpose of this chapter is to introduce scientific software developers to software engineering tools and techniques that will save them much blood, sweat, and tears and allow them to demonstrate the quality of their software. By introducing ideas around the software development life cycle, source code analysis, documentation, and testing, and touching on best practices, this chapter demonstrates ways in which scientific software can be improved and future developments made easier. This is not a research article on current software engineering methods, nor does it attempt to specify best practices. Its aim is to introduce components that can be built into a tailored process. The chapter draws upon ideas of best practice current in software engineering, but recommends using these only selectively. This is done by presenting details of tools that can be used to implement these ideas and a set of case studies to demonstrate their use.


Author(s):  
Reiner Hähnle ◽  
Wil van der Aalst

Abstract This special issue contains substantially revised and extended versions of some of the best papers presented at the 22nd International Conference on Fundamental Approaches to Software Engineering in 2019. All papers share the common theme that they are either concerned with model-based analysis of systems or they develop methods in its service.


2020 ◽  
Vol 43 ◽  
Author(s):  
Valerie F. Reyna ◽  
David A. Broniatowski

Abstract Gilead et al. offer a thoughtful and much-needed treatment of abstraction. However, it fails to build on an extensive literature on abstraction, representational diversity, neurocognition, and psychopathology that provides important constraints and alternative evidence-based conceptions. We draw on conceptions in software engineering, socio-technical systems engineering, and a neurocognitive theory with abstract representations of gist at its core, fuzzy-trace theory.


Sign in / Sign up

Export Citation Format

Share Document