![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
This book describes in contributions by scientists and practitioners the development of scientific concepts, technologies, engineering techniques and tools for a service-based society. The focus is on microservices, i.e cohesive, independent processes deployed in isolation and equipped with dedicated memory persistence tools, which interact via messages. The book is structured in six parts. Part 1 "Opening" analyzes the new (and old) challenges including service design and specification, data integrity, and consistency management and provides the introductory information needed to successfully digest the remaining parts. Part 2 "Migration" discusses the issue of migration from monoliths to microservices and their loosely coupled architecture. Part 3 "Modeling" introduces a catalog and a taxonomy of the most common microservices anti-patterns and identifies common problems. It also explains the concept of RESTful conversations and presents insights from studying and developing two further modeling approaches. Next , Part 4 is dedicated to various aspects of "Development and Deployment". Part 5 then covers "Applications" of microservices, presenting case studies from Industry 4.0, Netflix, and customized SaaS examples. Eventually, Part 6 focuses on "Education" and reports on experiences made in special programs, both at academic level as a master program course and for practitioners in an industrial training. As only a joint effort between academia and industry can lead to the release of modern paradigm-based programming languages, and subsequently to the deployment of robust and scalable software systems, the book mainly targets researchers in academia and industry who develop tools and applications for microservices.
This short-format book will provide a set of practical processes
and techniques used for multicore software development. The book is
written with a focus on solving day to day problems using practical
tips and tricks and industry case studies to reinforce the key
concepts in multicore software development. Principles of parallel computing Parallelism in all of its forms Multicore SoC architectures Multicore programming models The Multicore development process Multicore programming with threads Achieving Performance in Multicore systems Example of sequential to parallel migration Parallel programming abstractions Concurrency abstraction layers Debugging Multicore Systems Practical techniques for getting started in multicore development Case Studies in Multicore Systems Development "
Defines concepts and processes of software and software development, such as agile processes, requirements engineering, and software architecture, design, construction Uncovers and answers various misconceptions about the software development process and presents an up-to-date reflection on the state of practice in the industry Details how non-software engineers can better communicate their needs to software engineers and more effectively participate in design and testing to ultimately lower software development and maintenance costs Helps answer the question: How can I better leverage embedded software in my design? Adds new chapters on software architecture, software engineering and systems, and software engineering and disruptive technologies, as well as information on cybersecurity Features new appendices that describe a sample automation system, covering software requirements, architecture, and design
Software Quality Assurance in Large Scale and Complex Software-intensive Systems presents novel and high-quality research related approaches that relate the quality of software architecture to system requirements, system architecture and enterprise-architecture, or software testing. Modern software has become complex and adaptable due to the emergence of globalization and new software technologies, devices and networks. These changes challenge both traditional software quality assurance techniques and software engineers to ensure software quality when building today (and tomorrow's) adaptive, context-sensitive, and highly diverse applications. This edited volume presents state of the art techniques, methodologies, tools, best practices and guidelines for software quality assurance and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to: quality attributes of system/software architectures; aligning enterprise, system, and software architecture from the point of view of total quality; design decisions and their influence on the quality of system/software architecture; methods and processes for evaluating architecture quality; quality assessment of legacy systems and third party applications; lessons learned and empirical validation of theories and frameworks on architectural quality; empirical validation and testing for assessing architecture quality.
Semantic web technologies (SWTs) offer the richest machine-interpretable (rather than just machine-processable) and explicit semantics that are being extensively used in various domains and industries. This book provides a roadmap for semantic web technologies (SWTs) and highlights their role in a wide range of domains including cloud computing, Internet of Things, big data, sensor network, and so forth. It also explores the prospects of these technologies including different data interchange formats, query languages, ontologies, Linked Data, and notations. The role of SWTs in 'epidemic Covid-19', 'e-learning platforms and systems', 'block chain', 'open online courses', and 'visual analytics in healthcare' is described as well. This book: Explores all the critical aspects of semantic web technologies (SWTs) Discusses the impact of SWTs on cloud computing, Internet of Things, big data, and sensor network Offers a comprehensive examination of the emerging research in the areas of SWTs and their related domains Provides a template to develop a wide range of smart and intelligent applications Includes latest applications and examples with real data This book is aimed at researchers and graduate students in computer science, informatics, web technology, cloud computing, and Internet of Things.
This comprehensive reference text discusses nature inspired algorithms and their applications. It presents the methodology to write new algorithms with the help of MATLAB programs and instructions for better understanding of concepts. It covers well-known algorithms including evolutionary algorithms, genetic algorithm, particle Swarm optimization and differential evolution, and recent approached including gray wolf optimization. A separate chapter discusses test case generation using techniques such as particle swarm optimization, genetic algorithm, and differential evolution algorithm. The book- Discusses in detail various nature inspired algorithms and their applications Provides MATLAB programs for the corresponding algorithm Presents methodology to write new algorithms Examines well-known algorithms like the genetic algorithm, particle swarm optimization and differential evolution, and recent approaches like gray wolf optimization. Provides conceptual linking of algorithms with theoretical concepts The text will be useful for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. Discussing nature inspired algorithms and their applications in a single volume, this text will be useful as a reference text for graduate students in the field of electrical engineering, electronics engineering, computer science and engineering. It discusses important algorithms including deterministic algorithms, randomized algorithms, evolutionary algorithms, particle swarm optimization, big bang big crunch (BB-BC) algorithm, genetic algorithm and grey wolf optimization algorithm. "
Control system design is a challenging task for practicing engineers. It requires knowledge of different engineering fields, a good understanding of technical specifications and good communication skills. The current book introduces the reader into practical control system design, bridging the gap between theory and practice. The control design techniques presented in the book are all model based., considering the needs and possibilities of practicing engineers. Classical control design techniques are reviewed and methods are presented how to verify the robustness of the design. It is how the designed control algorithm can be implemented in real-time and tested, fulfilling different safety requirements. Good design practices and the systematic software development process are emphasized in the book according to the generic standard IEC61508. The book is mainly addressed to practicing control and embedded software engineers - working in research and development - as well as graduate students who are faced with the challenge to design control systems and implement them in real-time."
This volume provides an overview and an understanding of REST (Representational State Transfer). Discussing the constraints of REST the book focuses on REST as a type of web architectural style. The focus is on applying REST beyond Web applications (i.e., in enterprise environments), and in reusing established and well-understood design patterns when doing so. The reader will be able to understand how RESTful systems can be designed and deployed, and what the results are in terms of benefits and challenges encountered in the process. Since REST is relatively new as an approach for designing Web Services, the more advanced part of the book collects a number of challenges to some of the assumptions and constraints of REST, and looks at current research work on how REST can be extended and applied to scenarios that often are considered not to be a good match for REST. This work will help readers to reach a deeper understanding of REST on a practical as well as on an advanced level.
This book is a collection of chapters from the IFIP working groups 13.8 and 9.4. The 10 papers included present experiences and research on the topic of digital transformation and innovation practices in the global south. The topics span from digital transformation initiatives to novel innovative technological developments, practices and applications of marginalised people in the global south.
Software quality stems from two distinctive, but associated, topics in software engineering: software functional quality and software structural quality. Software Quality Engineering studies the tenets of both of these notions, which focus on the efficiency and value of a design, respectively. The text addresses engineering quality on both the application and system levels with attention to Information Systems and Embedded Systems as well as recent developments. Targeted at graduate engineering students and software quality specialists, the book analyzes the relationship between functionality and quality with practical applications to related ISO/IEC JTCI SC7 standards.
This book focuses on mathematical modeling, describes the process of constructing and evaluating models, discusses the challenges and delicacies of the modeling process, and explicitly outlines the required rules and regulations so that the reader will be able to generalize and reuse concepts in other problems by relying on mathematical logic.Undergraduate and postgraduate students of different academic disciplines would find this book a suitable option preparing them for jobs and research fields requiring modeling techniques. Furthermore, this book can be used as a reference book for experts and practitioners requiring advanced skills of model building in their jobs.
Essential Infrastructure as Code teaches patterns for scaling systems and supporting infrastructure for mission-critical applications. The book is fullof flexible automation techniques and universal principles that are easy toapply to almost any use case, from data centers, to public cloud, to software-as-a-Service. The book is full of techniques that work whether you're managing your personal projects or making live network changes across a large enterprise. Infrastructure as Code (IaC) replaces time-consuming manual provisioning and configuration with automation via configuration managers or provisioning tools like Hashicorp Terraform. Managing your infrastructure as code makes it easy to test changes and implement new features, scale systems without downtime or operational toil, and rapidly roll back mistakes.
Management of the Object-Oriented Development Process consists of a series of high-level discussions on technical and managerial issues related to object-oriented development. This book introduces object-oriented development techniques, including modeling languages, programming languages, reusable patterns and software development processes. It discusses the ongoing trends of object-oriented development, including emerging e-business development frameworks, executable UML and requirements engineering. There is also a focus on managerial issues such as project management and software evaluation, and how to manage the paradigm shift from structured to object-oriented development. Management of the Object-Oriented Development Process offers systems developers, project managers, information systems students and researchers technical skills as well as strategic insights on how to manage software projects, deploy object-oriented software development processes, understand the current trends and make the transition from structured to object-oriented techniques.
This book is open access under a CC BY-NC 4.0 license. This volume presents several case studies highlighting the latest findings in Industry 4.0 projects utilizing S-BPM features. Their potential is explored in detail, while the limits of engineering a company from a communication-centred perspective are also discussed. After a general introduction and an overview of the book in chapter 1, chapter 2 starts by condensing the industrial challenges driven by the German "Industry 4.0" trend to form a concrete vision for future production industries. Subsequently, chapter 3 introduces the basic concepts of S-BPM and its capabilities, in particular for supporting the restructuring of processes. The next three chapters then present various case studies, e.g. at an SME offering the production of atypical, unique and special purpose machinery, equipment and technologically complex units particularly useful in the automotive and electronic industries; and at a further SME producing highly-customized floor cleaning machines. Rounding out the coverage, the last two chapters summarize the achievements and lessons learned with regard to the road ahead. Overall, the book provides a realistic portrait of the status quo based on current findings, and outlines the future activities to be pursued in order to establish stakeholder-centred digital production systems. As such, developers, educators, and practitioners will find both the conceptual background and results from the field reflecting the state-of-the-art in vertical and horizontal process integration.
This book illustrates how goal-oriented, automated measurement can be used to create Lean organizations and to facilitate the development of Lean software, while also demonstrating the practical implementation of Lean software development by combining tried and trusted tools. In order to be successful, a Lean orientation of software development has to go hand in hand with a company's overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish "Lean software company thinking," while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean. The book is divided into three parts. Part I, "Motivation for Lean Software Development," explains just what "Lean Production" means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, "The Pillars of Lean Software Development," presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, "Lean Software Development in Action," shows how different tools can be combined to enable Lean Thinking in software development. The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
This book focuses on the methodological treatment of UML/P and addresses three core topics of model-based software development: code generation, the systematic testing of programs using a model-based definition of test cases, and the evolutionary refactoring and transformation of models. For each of these topics, it first details the foundational concepts and techniques, and then presents their application with UML/P. This separation between basic principles and applications makes the content more accessible and allows the reader to transfer this knowledge directly to other model-based approaches and languages. After an introduction to the book and its primary goals in Chapter 1, Chapter 2 outlines an agile UML-based approach using UML/P as the primary development language for creating executable models, generating code from the models, designing test cases, and planning iterative evolution through refactoring. In the interest of completeness, Chapter 3 provides a brief summary of UML/P, which is used throughout the book. Next, Chapters 4 and 5 discuss core techniques for code generation, addressing the architecture of a code generator and methods for controlling it, as well as the suitability of UML/P notations for test or product code. Chapters 6 and 7 then discuss general concepts for testing software as well as the special features which arise due to the use of UML/P. Chapter 8 details test patterns to show how to use UML/P diagrams to define test cases and emphasizes in particular the use of functional tests for distributed and concurrent software systems. In closing, Chapters 9 and 10 examine techniques for transforming models and code and thus provide a solid foundation for refactoring as a type of transformation that preserves semantics. Overall, this book will be of great benefit for practical software development, for academic training in the field of Software Engineering, and for research in the area of model-based software development. Practitioners will learn how to use modern model-based techniques to improve the production of code and thus significantly increase quality. Students will find both important scientific basics as well as direct applications of the techniques presented. And last but not least, the book will offer scientists a comprehensive overview of the current state of development in the three core topics it covers.
The purpose of the 9th International Conference on Software Engineering Research, Management and Applications(SERA 2011) held on August 10-12, 2011 in Baltimore, Maryland was to bring together scientists, engineers, computer users, and students to share their experiences and exchange new ideas and research results about all aspects (theory, applications and tools) of computer and information sciences, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them. The conference organizers selected 12 outstanding papers from SERA 2011, all of which you will find in this volume of Springer's Studies in Computational Intelligence. "
Unique selling point: Focuses solely on entity-relationship model diagramming and design Core audience: Undergraduate CS students and professionals Place in the market: Undergraduate textbook
This open access book provides an overview of the dissertations of the eleven nominees for the Ernst Denert Award for Software Engineering in 2020. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains eleven papers that describe the works by Jonathan Brachthauser (EPFL Lausanne) entitled What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style, Mojdeh Golagha's (Fortiss, Munich) thesis How to Effectively Reduce Failure Analysis Time?, Nikolay Harutyunyan's (FAU Erlangen-Nurnberg) work on Open Source Software Governance, Dominic Henze's (TU Munich) research about Dynamically Scalable Fog Architectures, Anne Hess's (Fraunhofer IESE, Kaiserslautern) work on Crossing Disciplinary Borders to Improve Requirements Communication, Istvan Koren's (RWTH Aachen U) thesis DevOpsUse: A Community-Oriented Methodology for Societal Software Engineering, Yannic Noller's (NU Singapore) work on Hybrid Differential Software Testing, Dominic Steinhofel's (TU Darmstadt) thesis entitled Ever Change a Running System: Structured Software Reengineering Using Automatically Proven-Correct Transformation Rules, Peter Wagemann's (FAU Erlangen-Nurnberg) work Static Worst-Case Analyses and Their Validation Techniques for Safety-Critical Systems, Michael von Wenckstern's (RWTH Aachen U) research on Improving the Model-Based Systems Engineering Process, and Franz Zieris's (FU Berlin) thesis on Understanding How Pair Programming Actually Works in Industry: Mechanisms, Patterns, and Dynamics - which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.
The concept of processes is at the heart of software and systems engineering. Software process models integrate software engineering methods and techniques and are the basis for managing large-scale software and IT projects. High product quality routinely results from high process quality. Software process management deals with getting and maintaining control over processes and their evolution. Becoming acquainted with existing software process models is not enough, though. It is important to understand how to select, define, manage, deploy, evaluate, and systematically evolve software process models so that they suitably address the problems, applications, and environments to which they are applied. Providing basic knowledge for these important tasks is the main goal of this textbook. Munch and his co-authors aim at providing knowledge that enables readers to develop useful process models that are suitable for their own purposes. They start with the basic concepts. Subsequently, existing representative process models are introduced, followed by a description of how to create individual models and the necessary means for doing so (i.e., notations and tools). Lastly, different possible usage scenarios for process management are highlighted (e.g. process improvement and software process simulation). Their book is aimed at students and researchers working on software project management, software quality assurance, and software measurement; and at practitioners who are interested in process definition and management for developing, maintaining, and operating software-intensive systems and services."
Coach Individuals, Teams, and Organizations to Greater Success with
Agile
The coaching exercises and resources in the appendices are available as free downloads. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
System Level Design of Reconfigurable Systems-on-Chip provides insight in the challenges and difficulties encountered during the design of reconfigurable Systems-on-Chip (SoCs). Reconfiguration is becoming an important part of System-on-Chip design to cope with the increasing demands for simultaneous flexibility and computational power. The book focuses on system level design issues for reconfigurable SoCs, and provides information on reconfiguration aspects of complex SoCs and how they can be implemented in practice. It is divided in three parts. The first part provides background information and requirements on reconfigurable technologies and systems. The second one identifies existing methodological gaps, and introduces a design flow for developing reconfigurable Systems-on-Chip. The high level part of the design flow can be covered by two C++ based methodologies: one based on SystemC and one based on OCAPI-XL, both including appropriate extensions to handle reconfiguration issues. Finally, the third part of the book presents reconfigurable SoCs from the perspective of the designer, through three indicative case studies from the wireless and multimedia communication domain.
1) Provides a levelling approach, bringing students at all stages of programming experience to the same point 2) Focuses Python, a general language, to an engineering and scientific context 3) Uses a classroom tested, practical approach to teaching programming 4) Teaches students and professionals how to use Python to solve engineering calculations such as differential and algebraic equations
Features Contains ready-to-use coding recipes allowing fast prototyping and solving of mathematical problems using FEM. Suitable for upper-level undergraduates and graduates in applied mathematics, science, or engineering. Both MATLAB and Python programming codes are provided to give readers more flexibility in the practical framework implementation.
This book will serve as a guide in understanding workflow scheduling techniques on computing systems such as Cluster, Supercomputers, Grid computing, Cloud computing, Edge computing, Fog computing, and the practical realization of such methods. It offers a whole new perspective and holistic approach in understanding computing systems' workflow scheduling. Expressing and exposing approaches for various process-centric cloud-based applications give a full coverage of most systems' energy consumption, reliability, resource utilization, cost, and application stochastic computation. By combining theory with application and connecting mathematical concepts and models with their resource management targets, this book will be equally accessible to readers with both Computer Science and Engineering backgrounds. It will be of great interest to students and professionals alike in the field of computing system design, management, and application. This book will also be beneficial to the general audience and technology enthusiasts who want to expand their knowledge on computer structure. |
You may like...
Migrating to Swift from Flash and…
Radoslava Leseva Adams, Hristo Lesev
Paperback
R1,398
Discovery Miles 13 980
Beginning iOS Cloud and Database…
Nathan Ooley, Nick Tichawa, …
Paperback
R1,575
Discovery Miles 15 750
|