Explore chapters and articles related to this topic
Modeling Reliability of Component-Based Software Systems
Published in Mangey Ram, Modeling and Simulation Based Analysis in Reliability Engineering, 2018
Preeti Malik, Lata Nautiyal, Mangey Ram
Previous studies have made use of this Bayesian theory under predefined assumptions. This opens the door for future research after thorough analysis of the predictions of the Bayesian approach. Software engineering is a coherent, assessable, measurable, and methodical approach for the evolution, perpetuation, performance, and working of a software application. It is now an established vocation and is committed toward developing software that is economical, easier to maintain, quicker, and of higher quality. Since the field is still relatively young compared to its relative fields of engineering, there is still much work and debate around what software engineering (SE) actually is, and if it deserves the term “engineering.” It has grown organically out of the limitations of viewing software as just programming. Software development is a term sometimes preferred by practitioners in the industry who view SE as too heavy handed and constrictive to the integrated process of creating software. The software development life cycle (SDLC) is a general term used in software engineering, which constitutes the five software developing actions such as planning, creating, testing, deploying, and maintaining an information system.
Project Estimation and Scheduling Using Computational Intelligence
Published in Ankita Bansal, Abha Jain, Sarika Jain, Vishal Jain, Ankur Choudhary, Computational Intelligence Techniques and Their Applications to Software Engineering Problems, 2020
Vikram Bali, Shivani Bali, Gaurav Singhania
Software engineering is the method of evaluating user needs and planning, followed by creating and reviewing end user applications that will fulfill these needs through the use of software programming languages. A software is a set of instructions which are composed to generate a desired result (Conger 2008). Software engineering is the collection of the processes for the development of software. The application which is developed for the system is called a software. The main aim of software development is to make the process of completing a task simple, accurate and within the required time frame (Huges 1999).
Design Exploration—The Art of Prototyping and Mockups to Inspire Ideas
Published in M. Ann Garrison Darrin, Jerry A. Krill, Infusing Innovation into Organizations, 2016
In the software engineering discipline, there exists a methodology called Agile Software Development. This highly collaborative, adaptable, and nimble way of software development has prototyping at its core. By fundamentally believing in a tight feedback loop with engineer and customer and coupling a core principle of rapidly delivering working software on a monthly interval (or sooner), Agile software teams are executing the Human-Centered Design Process (which has prototyping embedded within) with each released revision.6
How generative AI models such as ChatGPT can be (mis)used in SPC practice, education, and research? An exploratory study
Published in Quality Engineering, 2023
Fadel M. Megahed, Ying-Ju Chen, Joshua A. Ferris, Sven Knoth, L. Allison Jones-Farmer
Second, we suspect many within the SPC community had not considered using AI to generate SPC code before ChatGPT’s release. Our research background perhaps biases us, but we are excited about the idea of “pair programming” with a ChatGPT-like assistant. The advantages of “pair programming” (without the AI partner) are well-documented in computer science and software engineering (Begel and Nagappan 2008). Our assessment, based on ChatGPT January 30 Version, captures the following: (a) ChatGPT seems to be more proficient in Python than R, which we suspect is based on the fact that OpenAI does not seem to have trained its code completion module in the R programming language (OpenAI 2022b); (b) its understanding of the arguments in some of the R functions are limited; (c) ChatGPT impressed us with its ability to explain functions, including capturing that our inputted ewma.arl0() function is a Markov Chain-based approach; and (d) ChatGPT can be useful in translating code from one programming language to another, especially when the functions are widely-used (which can be helpful in deployment SPC methods in a production environment). That being said, any code written by ChatGPT would need to be validated. We do not think it will eliminate the SPC expertise required in code development; however, it can augment and reduce the time taken to develop, test, and deploy code.
An overview of current technologies and emerging trends in factory automation
Published in International Journal of Production Research, 2019
Mariagrazia Dotoli, Alexander Fay, Marek Miśkowicz, Carla Seatzu
An increasing part of automation functions is implemented in software, because software functions can be adapted to changing requirements more easily (R1). Today mostly all automation functions are implemented in software, except for some legacy systems and specific high-safety-applications. Systematic design and implementation require methods. Hence, methods and models developed in software engineering -a prospering branch of computer science- can form the basis or give inspirations for appropriate automation software engineering models and methods. However, the straightforward application of software engineering methods in automation is doomed to fail, because automation systems impose significant requirements which have to be respected: the connection to and interaction with the automation system hardware and the physical process (which has to be reflected in the models), the quality and safety requirements for systems controlling potentially dangerous processes, the interdisciplinary engineering process of the automated plant, and the different life spans and life-cycles of manufacturing plants, automation hardware and automation software (Vogel-Heuser et al. 2014). These requirements impose challenges for the application of software engineering, as discussed in (Vogel-Heuser et al. 2014), esp. regarding platform restrictions, changeability, maintainability and usability: the engineering is in practice mostly carried out by technicians and not by computer scientists, esp. the modifications during start-up and in the later phases of the life cycle. An excellent overview of the state-of-the art of research regarding software engineering for automation is given by Vyatkin (2013). Therefore, in the following, we concentrate on research works which have been published only recently.
A Supporting Tool for Enhancing User’s Mental Model Elicitation and Decision-Making in User Experience Research
Published in International Journal of Human–Computer Interaction, 2023
A total of 20 users were recruited for the evaluation. They were different from those who participated in Section 3.3. More specifically, they were 10 evaluators and 10 participants. On the one hand, evaluators were software professionals having experience in evaluation and software development. They were 10 men aged between 21 and 24 (M = 22.0 SD = 0.817). On the other hand, participants were advanced computer science students and graduates with testing and software engineering skills. They were 6 men and 4 women aged between 20 and 22 (M = 21.6, SD = 0.699).