scholarly journals Applying virtual reality to teach the software development process to novice software engineers

IET Software ◽  
2021 ◽  
Author(s):  
Ulas Gulec ◽  
Murat Yilmaz ◽  
Veysi Isler ◽  
Paul M. Clarke
Author(s):  
Claudia Pons ◽  
Gabriel Baum

During the object-oriented software development process, a variety of models of the system is built. All these models are semantically overlapping and together represent the system as a whole. In this chapter, we present a classification of relationships between models along three different dimensions, proposing a formal description of them in terms of mathematical contracts, where the software development process is seen as involving a number of agents (the development team and the software artifacts) carrying out actions with the goal of building a software system that meets the user requirements. In this way, contracts can be used to reason about correctness of the development process, and to compare the capabilities of various groupings of agents in order to accomplish a particular contract. The goal of the proposed formalization is to provide formal foundations for tools that perform intelligent analysis on models assisting software engineers through the software life cycle.


Author(s):  
Pankaj Kamthan

There are various reasons for discussing the issue of ethics within a software engineering context. By participating in a software development process, software engineers can influence the final product, namely the software itself, in different ways including those that may be contrary to public interest. In other words, they could engage in an unethical behavior, inadvertently or deliberately. This could lead to personal harm, and potentially result in loss of confidence in software and loss of trust in organizations that own them. This can adversely affect the acceptance of software as a useful product, question the credibility of software engineering as a profession, lead to legal implications, and impact the bottom line of the software industry at-large.


2011 ◽  
Vol 403-408 ◽  
pp. 4495-4498
Author(s):  
K. Madhuri ◽  
M. Suman ◽  
M. Nalini Sri ◽  
K. Ravi Kumar ◽  
U. Jyothi Kameswari

Security testing involves two approaches; the question of who should do it has two answers. Standard testing organizations using a traditional approach can perform functional security testing. For example, ensuring that access control mechanisms work as advertised is a classic functional testing exercise. Systematic security testing approaches should be seamlessly incorporated into software engineering curricula and software development process. Traditional software engineering textbooks failed to provide adequate methods and techniques for students and software engineers to bring security engineering approaches to software development process generating secure software as well as correct software. This paper argues that a security testing phase should be added to software development process with systematic approach to generating and conducting destructive security test sets following a complete coverage principle. Software engineers must have formal training on writing secure code. The security testing tasks include penetrating and destructive tests that are different from functional testing tasks currently covered in software engineering textbooks Moreover, component-based development and formal methods could be useful to produce secure code, as well as automatic security checking tools. Some experience of applying security testing principles in our software engineering method teaching is reported.


Author(s):  
Bruce I. Blum

This book provides a unique examination of the software development process, arguing that discipline, still dominated by methods conceived in the framework of older technologies, must undergo a fundamental reexamination of its guiding principles in order for significant progress to take place. To gain fresh insights into how we ought to direct future research, the author begins with a search for first principles. The book begins with an exploration of the scientific foundations of computer technology, then examines design from the perspective of practitioners. The book also offers a critique of the methods employed in software development and an evaluation of an alternate paradigm that has been used successfully for 14 years. The concepts reviewed here comprise a set of core readings for understanding the research and development challenges that will confront computer technology in the 21st century and will be of great interest to computer science researchers and educators, graduate students, and software engineers.


2018 ◽  
Vol 11 (2) ◽  
pp. 68-87 ◽  
Author(s):  
Priyanka Chandani ◽  
Chetna Gupta

Requirement defects are one of the major sources of failure in any software development process as they prevent smooth operation and is taxing both in terms of tracking and validation. The objective of this article is to make requirement analysis phase exhaustive by estimating risk at requirement level using requirement defect information and execution flow dependency as early as possible to inhibit them from being incorporated in design and implementation. The proposed approach works as a two-fold process which computes risk involved with each requirement twice. The whole process is divided into a three-layered framework to finalize requirements with clear vision and scope of a project. The entire process has been supported by a software case study. The results of the proposed work are promising and will help software engineers in ensuring that all business requirements are captured correctly with clear vision and scope. It will also help in decreasing the chances of failure, risk, and conflicts between stakeholder and developer and other challenges involved to develop the project.


Sign in / Sign up

Export Citation Format

Share Document