![]() |
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 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. "
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 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 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.
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.
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."
This book presents a set of software engineering techniques and tools to improve the productivity and assure the quality in quantum software development. Through the collaboration of the software engineering community with the quantum computing community new architectural paradigms for quantum-enabled computing systems will be anticipated and developed. The book starts with a chapter that introduces the main concepts and general foundations related to quantum computing. This is followed by a number of chapters dealing with the quantum software engineering methods and techniques. Topics like the Talavera Manifesto for quantum software engineering, frameworks for hybrid systems, formal methods for quantum software engineering, quantum software modelling languages, and reengineering for quantum software are covered in this part. A second set of chapters then deals with quantum software environments and tools, detailing platforms like QuantumPath (R), Classiq as well as quantum software frameworks for deep learning. Overall, the book aims at academic researchers and practitioners involved in the creation of quantum information systems and software platforms. It is assumed that readers have a background in traditional software engineering and information systems.
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.
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. "
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.
The Art and Science of Analyzing Software Data provides valuable information on analysis techniques often used to derive insight from software data. This book shares best practices in the field generated by leading data scientists, collected from their experience training software engineering students and practitioners to master data science. The book covers topics such as the analysis of security data, code reviews, app stores, log files, and user telemetry, among others. It covers a wide variety of techniques such as co-change analysis, text analysis, topic analysis, and concept analysis, as well as advanced topics such as release planning and generation of source code comments. It includes stories from the trenches from expert data scientists illustrating how to apply data analysis in industry and open source, present results to stakeholders, and drive decisions.
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
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
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
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 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.
Martin Fowler's guide to reworking bad code into well-structured code Refactoring improves the design of existing code and enhances software maintainability, as well as making existing code easier to understand. Original Agile Manifesto signer and software development thought leader, Martin Fowler, provides a catalog of refactorings that explains why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. Refactoring principles: understand the process and general principles of refactoring Code smells: recognize "bad smells" in code that signal opportunities to refactor Application improvement: quickly apply useful refactorings to make a program easier to comprehend and change Building tests: writing good tests increases a programmer's effectiveness Moving features: an important part of refactoring is moving elements between contexts Data structures: a collection of refactorings to organize data, an important role in programs Conditional Logic: use refactorings to make conditional sections easier to understand APIs: modules and their functions are the building blocks of our software, and APIs are the joints that we use to plug them together Inheritance: it is both very useful and easy to misuse, and it's often hard to see the misuse until it's in the rear-view mirror---refactorings can fix the misuse Examples are written in JavaScript, but you shouldn't find it difficult to adapt the refactorings to whatever language you are currently using as they look mostly the same in different languages. "Whenever you read [Refactoring], it's time to read it again. And if you haven't read it yet, please do before writing another line of code." -David Heinemeier Hansson, Creator of Ruby on Rails, Founder & CTO at Basecamp "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." -M. Fowler (1999)
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.
Databases have become an integral part of modern life. Today's society is an information-driven society, and database technology has a direct impact on all aspects of daily life. Decisions are routinely made by organizations based on the information collected and stored in databases. Database management systems such as Oracle are crucial to apply data in industrial or commercial systems. Equally crucial is a graphical user interface (GUI) to enable users to access and manipulate data in databases. The Apache NetBeans IDE with Java is an ideal candidate for developing a GUI with programming functionality. Oracle Database Programming with Java: Ideas, Designs, and Implementations is written for college students and software programmers who want to develop practical and commercial database programming with Java and relational databases such as Oracle Database XE 18c. The book details practical considerations and applications of database programming with Java and is filled with authentic examples as well as detailed explanations. Advanced topics in Java Web, like Java Web Applications and Java Web Services, are covered in real project examples to show how to handle the database programming issues in the Apache NetBeans IDE environment. This book features: A real sample database, CSE _ DEPT, which is built with Oracle SQL Developer, provided and used throughout the book Step by step, detailed illustrations and descriptions of how to design and build a practical relational database Fundamental and advanced Java database programming techniques practical to both beginning students and experienced programmers Updated Java desktop and Web database programming techniques, such as Java Enterprise Edition 7, JavaServer Pages, JavaServer Faces, Enterprise Java Beans, Web applications and Web services, including GlassFish and Tomcat Web servers More than 30 real database programming projects with detailed illustrations Actual JDBC APIs and JDBC drivers, along with code explanations Homework and selected solutions for each chapter to strengthen and improve students' learning and understanding of the topics they have studied
As long as humans write software, the key to successful software security is making the software development program process more efficient and effective. Although the approach of this textbook includes people, process, and technology approaches to software security, Practical Core Software Security: A Reference Framework stresses the people element of software security, which is still the most important part to manage as software is developed, controlled, and exploited by humans. The text outlines a step-by-step process for software security that is relevant to today's technical, operational, business, and development environments. It focuses on what humans can do to control and manage a secure software development process using best practices and metrics. Although security issues will always exist, students learn how to maximize an organization's ability to minimize vulnerabilities in software products before they are released or deployed by building security into the development process. The authors have worked with Fortune 500 companies and have often seen examples of the breakdown of security development lifecycle (SDL) practices. The text takes an experience-based approach to apply components of the best available SDL models in dealing with the problems described above. Software security best practices, an SDL model, and framework are presented in this book. Starting with an overview of the SDL, the text outlines a model for mapping SDL best practices to the software development life cycle (SDLC). It explains how to use this model to build and manage a mature SDL program. Exercises and an in-depth case study aid students in mastering the SDL model. Professionals skilled in secure software development and related tasks are in tremendous demand today. The industry continues to experience exponential demand that should continue to grow for the foreseeable future. This book can benefit professionals as much as students. As they integrate the book's ideas into their software security practices, their value increases to their organizations, management teams, community, and industry.
As long as humans write software, the key to successful software security is making the software development program process more efficient and effective. Although the approach of this textbook includes people, process, and technology approaches to software security, Practical Core Software Security: A Reference Framework stresses the people element of software security, which is still the most important part to manage as software is developed, controlled, and exploited by humans. The text outlines a step-by-step process for software security that is relevant to today's technical, operational, business, and development environments. It focuses on what humans can do to control and manage a secure software development process using best practices and metrics. Although security issues will always exist, students learn how to maximize an organization's ability to minimize vulnerabilities in software products before they are released or deployed by building security into the development process. The authors have worked with Fortune 500 companies and have often seen examples of the breakdown of security development lifecycle (SDL) practices. The text takes an experience-based approach to apply components of the best available SDL models in dealing with the problems described above. Software security best practices, an SDL model, and framework are presented in this book. Starting with an overview of the SDL, the text outlines a model for mapping SDL best practices to the software development life cycle (SDLC). It explains how to use this model to build and manage a mature SDL program. Exercises and an in-depth case study aid students in mastering the SDL model. Professionals skilled in secure software development and related tasks are in tremendous demand today. The industry continues to experience exponential demand that should continue to grow for the foreseeable future. This book can benefit professionals as much as students. As they integrate the book's ideas into their software security practices, their value increases to their organizations, management teams, community, and industry.
Power and Performance: Software Analysis and Optimization is a guide to solving performance problems in modern Linux systems. Power-efficient chips are no help if the software those chips run on is inefficient. Starting with the necessary architectural background as a foundation, the book demonstrates the proper usage of performance analysis tools in order to pinpoint the cause of performance problems, and includes best practices for handling common performance issues those tools identify. |
You may like...
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R3,923
Discovery Miles 39 230
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,639
Discovery Miles 126 390
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R3,925
Discovery Miles 39 250
|