Explore chapters and articles related to this topic
Machine Learning, Containers, Cloud Natives, and Microservices
Published in Mazin Gilbert, Artificial Intelligence for Autonomous Networks, 2018
DevOps and CI-CD are concepts promoted by research and development (R&D) to increase the rate of function definition-to-deployment. DevOps promotes tight integration of software development, quality assurance, and data-center operations, which are traditionally deliberately separated. Integrating these business functions tends to enable a faster and automated cycle of coding-integration-testing-delivery-deployment with the goal to complete as many as possible cycles per day. The basic difference between continuous integration, delivery, and deployment is how far in the cycle does automation reach. Practically speaking, DevOps attempts to reorganize the business to enable R&D to push features to customers at a faster rate without compromising the service quality. Fully automated cycle (as in CD) means that the deployment to the customer is initiated by the programmer without further intervention or consideration, of course, if the automated testing approves.
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.
Computerized Systems Validation
Published in James Agalloco, Phil DeSantis, Anthony Grilli, Anthony Pavell, Handbook of Validation in Pharmaceutical Processes, 2021
Software verification provides objective evidence that the design outputs of a particular phase of the software development life cycle meet all of the specified requirements for that phase. Software verification looks for consistency, completeness, and correctness of the software and its supporting documentation as it is being developed and provides support for a subsequent conclusion that software is validated. Software testing is one of many verification activities intended to confirm that software development output meets its input requirements. Other verification activities include various static and dynamic analyses, code and document inspections, walkthroughs, and other techniques.
Using Scrum and unified modelling language to analyze and design an automatic course scheduling system
Published in Journal of the Chinese Institute of Engineers, 2019
Ping-Shun Chen, Gary Yu-Hsin Chen, Shao-Fu Lien, Wen-Tso Huang
Conventional software development models, such as the waterfall, decompose the software development process into seven stages: systems requirements, software requirements, analysis, program design, coding, testing, and operation. Each stage is completed before the next stage begins. Conventional software development focuses on documentation; each stage requires its corresponding document. When one stage of the software development project is completed, the project team focuses on the next. Pichler and Schulze (2005) indicated that an advantage of the conventional method of information system development was that it was easily understood and applied. Conventional software development methods may be good for ideal software projects that have definite requirements (Nandhakumar 2002). However, current software development projects are usually complex, rapidly changing, and have ambiguous requirements, thereby causing project delays and increased costs. The corresponding documentation of each stage of the software development projects increases significantly, adding to the workloads on members of the software development project team. Therefore, to solve the problem of conventional software development projects, several agile software development methods have been proposed (Behutiye et al. 2017; Chow and Cao 2008; Dingsoyr et al. 2012; Dyba and Dingsoyr 2008; Hoda et al. 2017).
Importance of positive emotions in software developers’ performance: a narrative review
Published in Theoretical Issues in Ergonomics Science, 2022
Riba Maria Kurian, Shinto Thomas
Software development is a planned and systematic process that employs specific programming languages to create computer software products (IT Chronicles 2020). It is a multistage process with complicated interactions across the stages (Meyer et al. 2021). The Software Development Life Cycle (SDLC) includes the tasks that are performed at each step in the software development process—it is a framework used to design, develop, and test high quality software according to the requirements of clients within given timeframes and cost estimates; the different stages included in the SDLC are planning of the project, analysing/defining requirements and designing project architecture, development and implementation, testing, deployment, and maintenance (Shylesh 2017).
Towards a User Experience Framework for Business Intelligence
Published in Journal of Computer Information Systems, 2021
Marcus Eriksson, Bruce Ferwerda
15Liikkanen LA mentions in his case study that it is common that UX is disregarded in agile development processes, but can be advantageous in sprints. Agile software development methods are intended to use iterative development to uncover new user needs during the entire development process. Using agile methods, the development team works in close collaboration with the customer and the end user developing and delivering working versions of the product in short development cycles.15,17 Maguire17 is using Scrum as the example agile method in the UX framework he proposes. Scrum is an development method focusing on delivering working versions of the product to the client in short sprints.23 An alternative to Scrum is lean UX. Lean UX is different from the agile development method Scrum. Scrum development cycles put focus on delivering a working version of the product with each iteration while lean UX is focused on delivering MVPs (minimum viable product). The MVP can be a low fidelity prototype displaying the functionalities of the product used to validate the specific functionalities with the end user group. Even though the prototype is low fidelity it needs to be able to demonstrate the intended functionalities. Lean UX focuses on fast iterations of software development with a large emphasis on the end user.24,25 The choice of agile development method can vary depending on the context and environment of the company applying the method. Using Lean UX development can be advantageous since a scaled down prototype is delivered and evaluated without overwhelming the end user with a large amount of functionalities.