![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
This book constitutes the refereed proceedings of the 20th International TRIZ Future Conference on Automated Invention for Smart Industries, TFC 2020, held in Cluj-Napoca, Romania, in October 2020 and sponsored by IFIP WG 5.4. The conference was held virtually.The 34 full papers presented were carefully reviewed and selected from 91 submissions. They are organized in the following thematic sections: computing TRIZ; education and pedagogy; sustainable development; tools and techniques of TRIZ for enhancing design; TRIZ and system engineering; TRIZ and complexity; and cross-fertilization of TRIZ for innovation management.
Experience has shown us that investment in the requirements process
saves time, money, and effort. Yet, development efforts
consistently charge ahead without investing sufficiently in the
requirements process. We are so intent to develop the technical
solutions that we are unwilling to take the time and effort to
understand and meet the real customer needs. If you are involved in the systems engineering process, in any company -- from transport and telecommunications, to aerospace and software -- you will learn how to write down requirements to guarantee you get the systems YOU need.What skills will I learn? How to write simple, clear requirements -- so you get what you
wantHow to organize requirements as scenarios -- so everyone
understands what you wantHow to review requirements -- so you ask
for the right things
This book focuses on software sustainability, regarded in terms of how software is or can be developed while taking into consideration environmental, social, and economic dimensions. The sixteen chapters cover various related issues ranging from technical aspects like energy-efficient programming techniques, formal proposals related to energy efficiency measurement, patterns to build energy-efficient software, the role of developers on energy efficient software systems and tools for detecting and refactoring code smells/energy bugs; to human aspects like its impact on software sustainability or the adaptation of ACM/IEEE guidelines for student and professional education and; and an economics-driven architectural evaluation for sustainability. Also aspects as the elements of governance and management that organizations should consider when implementing, assessing and improving Green IT or the relationship between software sustainability and the Corporate Social Responsibility of software companies are included. The chapters are complemented by usage scenarios and experience reports on several domains as cloud applications, agile development or e-Health, among others. As a whole, the chapters provide a complete overview of the various issues related to sustainable software development. The target readership for this book includes CxOs, (e.g. Chief Information Officers, Chief Executive Officers, Chief Technology Officers, etc.) software developers, software managers, auditors, business owners, and quality professionals. It is also intended for students of software engineering and information systems, and software researchers who want to know the state of the art regarding software sustainability.
This book presents contemporary empirical methods in software engineering related to the plurality of research methodologies, human factors, data collection and processing, aggregation and synthesis of evidence, and impact of software engineering research. The individual chapters discuss methods that impact the current evolution of empirical software engineering and form the backbone of future research. Following an introductory chapter that outlines the background of and developments in empirical software engineering over the last 50 years and provides an overview of the subsequent contributions, the remainder of the book is divided into four parts: Study Strategies (including e.g. guidelines for surveys or design science); Data Collection, Production, and Analysis (highlighting approaches from e.g. data science, biometric measurement, and simulation-based studies); Knowledge Acquisition and Aggregation (highlighting literature research, threats to validity, and evidence aggregation); and Knowledge Transfer (discussing open science and knowledge transfer with industry). Empirical methods like experimentation have become a powerful means of advancing the field of software engineering by providing scientific evidence on software development, operation, and maintenance, but also by supporting practitioners in their decision-making and learning processes. Thus the book is equally suitable for academics aiming to expand the field and for industrial researchers and practitioners looking for novel ways to check the validity of their assumptions and experiences. Chapter 17 is available open access under a Creative Commons Attribution 4.0 International License via link.springer.com.
More software engineers are likely to work in a globally distributed environment, which brings benefits that include quick and better software development, less manpower retention, scalability, and less software development cost and sharing of knowledge from the global pool of employees. However, these work environments also introduce a physical separation between team members and project leaders, which can create problems in communication and ultimately lead to the failure of the project. Human Factors in Global Software Engineering is a collection of innovative research focusing on the challenges, issues, and importance of human factors in global software engineering organizations in order to help these organizations better manage their manpower and provide an appropriate culture and technology in order to make their software development projects successful. While highlighting topics including agile software, knowledge management, and human-computer interaction, this book is ideally designed for project managers, administrators, business professionals, researchers, practitioners, students, and academicians.
Program debugging has always been a difficult and time-consuming task in the context of software development, where spectrum-based fault localization (SBFL) is one of the most widely studied families of techniques. While it's not particularly difficult to learn about the process and empirical performance of a particular SBFL technique from the available literature, researchers and practitioners aren't always familiar with the underlying theories. This book provides the first comprehensive guide to fundamental theories in SBFL, while also addressing some emerging challenges in this area. The theoretical framework introduced here reveals the intrinsic relations between various risk evaluation formulas, making it possible to construct a formula performance hierarchy. Further extensions of the framework provide a sufficient and necessary condition for a general maximal formula, as well as performance comparisons for hybrid SBFL methods. With regard to emerging challenges in SBFL, the book mainly covers the frequently encountered oracle problem in SBFL and introduces a metamorphic slice-based solution. In addition, it discusses the challenge of multiple-fault localization and presents cutting-edge approaches to overcoming it. SBFL is a widely studied research area with a massive amount of publications. Thus, it is essential that the software engineering community, especially those involved in program debugging, software maintenance and software quality assurance (including both newcomers and researchers who want to gain deeper insights) understand the most fundamental theories - which could also be very helpful to ensuring the healthy development of the field.
This book constitutes the refereed proceedings of the 22nd IFIP WG 5.5 Working Conference on Virtual Enterprises, PRO-VE 2021, held in Saint-Etienne, and virtually in November 2021. The 70 papers (15 full and 55 short) presented with 5 industrial workshop papers were carefully reviewed and selected from 189 submissions. They provide a comprehensive overview of major challenges and recent advances in various domains related to the digital transformation and collaborative networks and their applications with a strong focus on the following areas related to the main theme of the conference: sustainable collaborative networks; sustainability via digitalization; analysis and assessment of business ecosystems; human factors in collaboration 4.0; maintenance and life-cycle management; policies and new digital services; safety and collaboration management; simulation and optimization; complex collaborative systems and ontologies; value co-creation in digitally enabled ecosystems; digitalization strategy in collaborative enterprises' networks; pathways and tools for DIHs; socio-technical perspectives on smart product-service systems; knowledge transfer and accelerated innovation in FoF; interoperability of IoT and CPS for industrial CNs; sentient immersive response network; digital tools and applications for collaborative healthcare; collaborative networks and open innovation in education 4.0; collaborative learning networks with industry and academia; and industrial workshop.
The Definitive, Practical, Proven Guide to Architecting Modern Software--Fully Updated with New Content on Mobility, the Cloud, Energy Management, DevOps, Quantum Computing, and More Updated with eleven new chapters, Software Architecture in Practice, Fourth Edition, thoroughly explains what software architecture is, why it's important, and how to design, instantiate, analyze, evolve, and manage it in disciplined and effective ways. Three renowned software architects cover the entire lifecycle, presenting practical guidance, expert methods, and tested models for use in any project, no matter how complex. You'll learn how to use architecture to address accelerating growth in requirements, system size, and abstraction, and to manage emergent quality attributes as systems are dynamically combined in new ways. With insights for utilizing architecture to optimize key quality attributes--including performance, modifiability, security, availability, interoperability, testability, usability, deployability, and more--this guide explains how to manage and refine existing architectures, transform them to solve new problems, and build reusable architectures that become strategic business assets. Discover how architecture influences (and is influenced by) technical environments, project lifecycles, business profiles, and your own practices Leverage proven patterns, interfaces, and practices for optimizing quality through architecture Architect for mobility, the cloud, machine learning, and quantum computing Design for increasingly crucial attributes such as energy efficiency and safety Scale systems by discovering architecturally significant influences, using DevOps and deployment pipelines, and managing architecture debt Understand architecture's role in the organization, so you can deliver more value Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
This comprehensive Guide to Web Development with Java introduces the readers to the three-tiered, Model-View-Controller architecture by using Spring JPA, JSPs, and Spring MVC controllers. These three technologies use Java, so that a student with a background in programming will be able to master them with ease, with the end result of being able to create web applications that use MVC, validate user input,and save data to a database. Topics and features: * Presents web development topics in an accessible, easy-to-follow style, focusing on core information first, and allowing the reader to gain basic understanding before moving forwards * Contains many helpful pedagogical tools for students and lecturers, such as questions and exercises at the end of each chapter, detailed illustrations, chapter summaries, and a glossary * Uses existing powerful technologies that are freely available on the web to speed up web development, such as Spring Boot, Spring MVC, Spring JPA, Hibernate, JSP, JSTL, and Java 1.8 * Discusses HTML, HTML forms, and Cascading Style Sheets * Starts with the simplest technology for web development (JSP) and gradually introduces the reader to more complex topics * Introduces core technologies from the outset, such as the Model-View-Controller architecture * Includes examples for accessing common web services * Provides supplementary examples and tutorials
Advances in web technology and the proliferation of sensors and mobile devices connected to the internet have resulted in the generation of immense data sets available on the web that need to be represented, saved, and exchanged. Massive data can be managed effectively and efficiently to support various problem-solving and decision-making techniques. Emerging Technologies and Applications in Data Modeling and Processing is a critical scholarly publication that examines the importance of data management strategies that coincide with advancements in web technologies. Highlighting topics such as geospatial coverages, data analysis, and keyword query, this book is ideal for professionals, researchers, academicians, data analysts, web developers, and web engineers.
As modern organizations migrate from older information architectures to new Web-based systems, the discipline of software engineering is changing both in terms of technologies and methodologies. There is a need to examine this new frontier from both a theoretical and pragmatic perspective, and offer not only a survey of new technologies and methodologies but discussions of the applicability and pros/cons of each. Software Engineering for Modern Web Applications: Methodologies and Technologies presents current, effective software engineering methods for the design and development of modern Web-based applications, offering scholars, researchers, and practitioners innovative research on the theoretical frameworks, structures, management, and implications software engineering for modern Web applications.
The service industry is continually improving, forcing service-oriented engineering to improve alongside it. In a digitalized world, technology within the service industry has adapted to support interactions between users and organizations. By identifying key problems and features, service providers can help increase facilitator profitability and user satisfaction. Multidisciplinary Approaches to Service-Oriented Engineering is a well-rounded collection of research that examines methods of providing optimal system design for service systems and applications engineering. While exploring topics such as cloud ecosystems, interface localization, and requirement prioritization, this publication provides information about the approaches and development of software architectures to improve service quality. This book is a vital resource for engineers, theoreticians, educators, developers, IT consultants, researchers, practitioners, and professionals.
Agent-Oriented Methodologies presents, analyzes and compares the most significant methodological approaches currently available for the creation of agent-oriented software systems. The chapters of this book each address the details of one specific agent-oriented methodology, written by the original methodology creators. They highlight the methodology details and also the strengths and motivation. Each chapter also notes any purposeful omissions and weaknesses and each ends with a small case study to exemplify the application of the methodological approach. Agent-Oriented Methodologies offers the use of a method engineering approach based on the OPEN Process Framework (OPF) to bring together these potentially disparate methodological approaches to sustain the methodology developers and researchers use in creating a more holistic approach that will be suitable for adoption by industry software developers.
In order to properly understand a field, a researcher has to first understand the accumulated knowledge of that field. Micro-architectural design has accumulated knowledge elements that are clearly defined. These elements, such as design patterns, are properly differentiated and generally understood, but other elements - such as heuristics, best practices, and others - are just vague concepts. ""Object-Oriented Design Knowledge: Principles, Heuristics and Best Practices"" provides a unified and global vision about the lesser-defined areas of microarchitectural design knowledge, exposing the main techniques, experiences, and methods in order to help researchers apply these concepts. Understanding the experiences presented in this book will help readers correctly apply design knowledge.
This book brings together two important trends: graph algorithms and high-performance computing. Efficient and scalable execution of graph processing applications in data or network analysis requires innovations at multiple levels: algorithms, associated data structures, their implementation and tuning to a particular hardware. Further, programming languages and the associated compilers play a crucial role when it comes to automating efficient code generation for various architectures. This book discusses the essentials of all these aspects. The book is divided into three parts: programming, languages, and their compilation. The first part examines the manual parallelization of graph algorithms, revealing various parallelization patterns encountered, especially when dealing with graphs. The second part uses these patterns to provide language constructs that allow a graph algorithm to be specified. Programmers can work with these language constructs without worrying about their implementation, which is the focus of the third part. Implementation is handled by a compiler, which can specialize code generation for a backend device. The book also includes suggestive results on different platforms, which illustrate and justify the theory and practice covered. Together, the three parts provide the essential ingredients for creating a high-performance graph application. The book ends with a section on future directions, which offers several pointers to promising topics for future research. This book is intended for new researchers as well as graduate and advanced undergraduate students. Most of the chapters can be read independently by those familiar with the basics of parallel programming and graph algorithms. However, to make the material more accessible, the book includes a brief background on elementary graph algorithms, parallel computing and GPUs. Moreover it presents a case study using Falcon, a domain-specific language for graph algorithms, to illustrate the concepts.
|
![]() ![]() You may like...
Educational Psychology In Social Context…
D. Donald, S. Lazarus
Paperback
R593
Discovery Miles 5 930
The Sociolinguistics of Hip-hop as…
Andrew S. Ross, Damian J. Rivers
Hardcover
R3,289
Discovery Miles 32 890
HIP-HOP History (Book 2 of 3) - The…
Antwan Ant Bank$
Hardcover
|