![]() |
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
Coloured Petri Nets (CPN) is a graphical language for modelling and validating concurrent and distributed systems, and other systems in which concurrency plays a major role. The development of such systems is particularly challenging because of inherent intricacies like possible nondeterminism and the immense number of possible execution sequences. In this textbook Jensen and Kristensen introduce the constructs of the CPN modelling language and present the related analysis methods in detail. They also provide a comprehensive road map for the practical use of CPN by showcasing selected industrial case studies that illustrate the practical use of CPN modelling and validation for design, specification, simulation, verification and implementation in various application domains. Their presentation primarily aims at readers interested in the practical use of CPN. Thus all concepts and constructs are first informally introduced through examples and then followed by formal definitions (which may be skipped). The book is ideally suitable for a one-semester course at an advanced undergraduate or graduate level, and through its strong application examples can also serve for self-study. An accompanying website offers additional material such as slides, exercises and project proposals. Book website: http: //www.cs.au.dk/CPnets/cpnbook/
The demand for large-scale dependable, systems, such as Air Traffic Management, industrial plants and space systems, is attracting efforts of many word-leading European companies and SMEs in the area, and is expected to increase in the near future. The adoption of Off-The-Shelf (OTS) items plays a key role in such a scenario. OTS items allow mastering complexity and reducing costs and time-to-market; however, achieving these goals by ensuring dependability requirements at the same time is challenging. CRITICAL STEP project establishes a strategic collaboration between academic and industrial partners, and proposes a framework to support the development of dependable, OTS-based, critical systems. The book introduces methods and tools adopted by the critical systems industry, and surveys key achievements of the CRITICAL STEP project along four directions: fault injection tools, V&V of critical systems, runtime monitoring and evaluation techniques, and security assessment.
More and more Agile projects are seeking architectural roots as they struggle with complexity and scale - and they're seeking lightweight ways to do it * Still seeking? In this book the authors help you to find your own path * Taking cues from Lean development, they can help steer your project toward practices with longstanding track records * Up-front architecture? Sure. You can deliver an architecture as code that compiles and that concretely guides development without bogging it down in a mass of documents and guesses about the implementation * Documentation? Even a whiteboard diagram, or a CRC card, is documentation: the goal isn't to avoid documentation, but to document just the right things in just the right amount * Process? This all works within the frameworks of Scrum, XP, and other Agile approaches
Nanoelectronic Devices for Hardware and Software Security has comprehensive coverage of the principles, basic concepts, structure, modeling, practices, and circuit applications of nanoelectronics in hardware/software security. It also covers the future research directions in this domain. In this evolving era, nanotechnology is converting semiconductor devices dimensions from micron technology to nanotechnology. Nanoelectronics would be the key enabler for innovation in nanoscale devices, circuits, and systems. The motive for this research book is to provide relevant theoretical frameworks that include device physics, modeling, circuit design, and the latest developments in experimental fabrication in the field of nanotechnology for hardware/software security. There are numerous challenges in the development of models for nanoscale devices (e.g., FinFET, gate-all-around devices, TFET, etc.), short channel effects, fringing effects, high leakage current, and power dissipation, among others. This book will help to identify areas where there are challenges and apply nanodevice and circuit techniques to address hardware/software security issues.
In any serious engineering discipline, it would be unthinkable to construct a large system without having a precise notion of what is to be built and without verifying how the system is expected to function. Software engineering is no different in this respect. Formal methods involve the use of mathematical notation and calculus in software development; such methods are difficult to apply to large-scale systems with practical constraints (e.g., limited developer skills, time and budget restrictions, changing requirements). Here Liu claims that formal engineering methods may bridge this gap. He advocates the incorporation of mathematical notation into the software engineering process, thus substantially improving the rigor, comprehensibility and effectiveness of the methods commonly used in industry. This book provides an introduction to the SOFL (Structured Object-Oriented Formal Language) method that was designed and industry-tested by the author. Written in a style suitable for lecture courses or for use by professionals, there are numerous exercises and a significant real-world case study, so the readers are provided with all the knowledge and examples needed to successfully apply the method in their own projects.
IT projects emerge from a business need. In practice, software developers must accomplish two big things before an IT project can begin: find out what you need to do (i.e., analyse business requirements) and plan out how to do it (i.e., project management). The biggest problem in IT projects is delivering the wrong product because IT people do not understand what business people require. This practical textbook teaches computer science students how to manage and deliver IT projects by linking business and IT requirements with project management in an incremental and straightforward approach. Business Analysis, Requirements, and Project Management: A Guide for Computing Students presents an approach to analysis management that scales the business perspective. It takes a business process view of a business proposal as a model and explains how to structure a technical problem into a recognisable pattern with problem frames. It shows how to identify core transactions and model them as use cases to create a requirements table useful to designers and coders. Linked to the analysis are three management tools: the product breakdown structure (PBS), the Gantt chart, and the Kanban board. The PBS is derived in part from the problem frame. The Gantt chart emerges from the PBS and ensures the key requirements are addressed by reference to use cases. The Kanban board is especially useful in Task Driven Development, which the text covers. This textbook consists of two interleaving parts and features a single case study. Part one addresses the business and requirements perspective. The second integrates core project management approaches and explains how both requirements and management are connected. The remainder of the book is appendices, the first of which provides solutions to the exercises presented in each chapter. The second appendix puts together much of the documentation for the case study into one place. The case study presents a real-word business scenario to expose students to professional practice.
The field of information technology continues to advance at a brisk pace, including the use of Remote Laboratory (RL) systems in education and research. To address the needs of remote laboratory development for such purposes, the authors present a new state-of-the-art unified framework for RL system development. Included are solutions to commonly encountered RL implementation issues such as third-party plugin, traversing firewalls, cross platform running, and scalability, etc. Additionally, the book introduces a new application architecture of remote lab for mobile-optimized RL application development for Mobile Learning (M-Learning). It also shows how to design and organize the remote experiments at different universities and make available a framework source code. The book is intended to serve as a complete guide for remote lab system design and implementation for an audience comprised of researchers, practitioners and students to enable them to rapidly and flexibly implement RL systems for a range of fields.
This book contains extended and revised versions of the best papers presented at the 29th IFIP WG 10.5/IEEE International Conference on Very Large Scale Integration, VLSI-SoC 2021, held in Singapore, in October 2021*. The 12 full papers included in this volume were carefully reviewed and selected from the 44 papers (out of 75 submissions) presented at the conference. The papers discuss the latest academic and industrial results and developments as well as future trends in the field of System-on-Chip (SoC) design, considering the challenges of nano-scale, state-of-the-art and emerging manufacturing technologies. In particular they address cutting-edge research fields like low-power design of RF, analog and mixed-signal circuits, EDA tools for the synthesis and verification of heterogenous SoCs, accelerators for cryptography and deep learning and on-chip Interconnection system, reliability and testing, and integration of 3D-ICs. *The conference was held virtually.
This is the first book organized around code clone analysis. To cover the broad studies of code clone analysis, this book selects past research results that are important to the progress of the field and updates them with new results and future directions. The first chapter provides an introduction for readers who are inexperienced in the foundation of code clone analysis, defines clones and related terms, and discusses the classification of clones. The chapters that follow are categorized into three main parts to present 1) major tools for code clone analysis, 2) fundamental topics such as evaluation benchmarks, clone visualization, code clone searches, and code similarities, and 3) applications to actual problems. Each chapter includes a valuable reference list that will help readers to achieve a comprehensive understanding of this diverse field and to catch up with the latest research results. Code clone analysis relies heavily on computer science theories such as pattern matching algorithms, computer language, and software metrics. Consequently, code clone analysis can be applied to a variety of real-world tasks in software development and maintenance such as bug finding and program refactoring. This book will also be useful in designing an effective curriculum that combines theory and application of code clone analysis in university software engineering courses.
How is it that one system is more effective, appealing, satisfying and/or more beautiful than another to its stakeholder community? This question drove Christopher Alexander's fifty-year quest to explain great physical architecture and gave birth to pattern-languages for building that underpin much of modern systems engineering. How is it that so many individual stakeholders consistently recognize the same quality, the same beauty in a system? This question led George Lakoff to research the role of conceptual metaphor in human understanding. What is essential to stakeholders' satisfaction with systems? Fred Brooks, in his publications, addressed this question. This monograph fuses these diverse streams of thought in proposing Thriving Systems Theory by translating Alexander's properties of physical design quality into the abstract domain of information systems and modeling. Metaphor-Driven Modeling incorporates the theory while examining its impact throughout the system life cycle: modeling, design and deployment. The result is holistic and innovative, a perspective on system quality invaluable to students, practitioners and researchers of software and systems engineering.
This brilliant textbook explains in detail the principles of conceptual modeling independently from particular methods and languages and shows how to apply them in real-world projects. The author covers all aspects of the engineering process from structural modeling over behavioral modeling to meta-modeling, and completes the presentation with an extensive case study based on the osCommerce system. Written for computer science students in classes on information systems modeling as well as for professionals feeling the need to formalize their experiences or to update their knowledge, Olive delivers here a comprehensive treatment of all aspects of the modeling process. His book is complemented by lots of exercises and additional online teaching material."
Job titles like Technical Architect and Chief Architect nowadays abound in software industry, yet many people suspect that architecture is one of the most overused and least understood terms in professional software development. Gorton s book tries to resolve this dilemma. It concisely describes the essential elements of knowledge and key skills required to be a software architect. The explanations encompass the essentials of architecture thinking, practices, and supporting technologies. They range from a general understanding of structure and quality attributes through technical issues like middleware components and service-oriented architectures to recent technologies like model-driven architecture, software product lines, aspect-oriented design, and the Semantic Web, which will presumably influence future software systems. This second edition contains new material covering enterprise architecture, agile development, enterprise service bus technologies, RESTful Web services, and a case study on how to use the MeDICi integration framework. All approaches are illustrated by an ongoing real-world example. So if you work as an architect or senior designer (or want to someday), or if you are a student in software engineering, here is a valuable and yet approachable knowledge source for you.
Modern systems are an intertwined mesh of human process, physical security, and technology. Attackers are aware of this, commonly leveraging a weakness in one form of security to gain control over an otherwise protected operation. To expose these weaknesses, we need a single unified model that can be used to describe all aspects of the system on equal terms. Designing Secure Systems takes a theory-based approach to concepts underlying all forms of systems - from padlocks, to phishing, to enterprise software architecture. We discuss how weakness in one part of a system creates vulnerability in another, all the while applying standards and frameworks used in the cybersecurity world. Our goal: to analyze the security of the entire system - including people, processes, and technology - using a single model. We begin by describing the core concepts of access, authorization, authentication, and exploitation. We then break authorization down into five interrelated components and describe how these aspects apply to physical, human process, and cybersecurity. Lastly, we discuss how to operate a secure system based on the NIST Cybersecurity Framework (CSF) concepts of "identify, protect, detect, respond, and recover." Other topics covered in this book include the NIST National Vulnerability Database (NVD), MITRE Common Vulnerability Scoring System (CVSS), Microsoft's Security Development Lifecycle (SDL), and the MITRE ATT&CK Framework.
The ?rst and foremost goal of this lecture series was to show the beauty, depth and usefulness of the key ideas in computer science. While working on the lecture notes, we came to understand that one can recognize the true spirit of a scienti?c discipline only by viewing its contributions in the framework of science as a whole. We present computer science here as a fundamental science that, interacting with other scienti?c disciplines, changed and changes our view on the world, that contributes to our understanding of the fundamental concepts of science and that sheds new light on and brings new meaning to several of these concepts. We show that computer science is a discipline that discovers spectacular, unexpected facts, that ?nds ways out in seemingly unsolvable s- uations, and that can do true wonders. The message of this book is that computer science is a fascinating research area with a big impact on the real world, full of spectacular ideas and great ch- lenges. It is an integral part of science and engineering with an above-average dynamic over the last 30 years and a high degree of interdisciplinarity. The goal of this book is not typical for popular science writing, whichoftenrestrictsitselftooutliningtheimportanceofaresearch area. Whenever possible we strive to bring full understanding of the concepts and results presented.
This extensively revised and updated new edition of "Specification of Software Systems" builds upon the original focus on "software specification" with added emphasis on the practice of formal methods for "specification and verification activities" for different types of software systems and at different stages of developing software systems. Topics and features: provides a wide coverage of formal specification techniques and a clear writing style, supported by end-of-chapter bibliographic notes for further reading; presents a logical structure, with sections devoted to specification fundamentals, basics of formalism, logic, set theory and relations, property-oriented specification methods, and model-based specification techniques; contains end-of-chapter exercises and numerous case studies, with potential course outlines suggested in the Preface; covers Object-Z, B-Method, and Calculus of Communicating Systems; offers material that can be taught with tool-supported laboratory projects.
Partnering with HMS: A Guide for App Developers is the first book to introduce readers to the Huawei Mobile Services (HMS) ecosystem. It gives developers a fundamental understanding of the ecosystem and how to leverage kit and tool capabilities to make their apps better. This book is also a quick start guide for kit integration and practical environment setup, detailing the functions and principles behind each kit. By demonstrating how to integrate kits, the authors teach these kits by action: Account Kit, IAP, Push Kit, Location Kit, Map Kit, Site Kit, Safety Detect, and FIDO. Readers are fully introduced to how they can use HMS open capabilities to develop quality apps, acquire users, and monetize their hard work. In addition, the ecosystem background - the business model and value chain that underpin the entire ecosystem as well as its privacy compliance framework - is crucial to operations and illustrated in this book.
The practice of test automation is invaluable for modern software testers. This comprehensive guide for managers covers test automation in-depth for medium- to large-scale implementations, from the benefits of test automation to defining, building and implementing a test automation approach that is fit-for-purpose, to acquiring and executing test execution tools and frameworks.
This is a how-to book for solving geometric problems robustly or error free in actual practice. The contents and accompanying source code are based on the feature requests and feedback received from industry professionals and academics who want both the descriptions and source code for implementations of geometric algorithms. The book provides a framework for geometric computing using several arithmetic systems and describes how to select the appropriate system for the problem at hand. Key Features: A framework of arithmetic systems that can be applied to many geometric algorithms to obtain robust or error-free implementations Detailed derivations for algorithms that lead to implementable code Teaching the readers how to use the book concepts in deriving algorithms in their fields of application The Geometric Tools Library, a repository of well-tested code at the Geometric Tools website, https://www.geometrictools.com, that implements the book concepts
'Evolutionary Computation for Optimization and Modelling' is an introduction to evolutionary computation, selectionist algorithms that operate on populations of structures. It includes over 100 experiments and over 700 homework problems that introduce the topic with an application-oriented approach.
Software Engineering Techniques Applied to Agricultural Systems presents cutting-edge software engineering techniques for designing and implementing better agricultural software systems based on the object-oriented paradigm and the Unified Modeling Language (UML). The focus is on the presentation of rigorous step-by-step approaches for modeling flexible agricultural and environmental systems, starting with a conceptual diagram representing elements of the system and their relationships. Furthermore, diagrams such as sequential and collaboration diagrams are used to explain the dynamic and static aspects of the software system. This second edition includes: a new chapter on Object Constraint Language (OCL), a new section dedicated to the Model-VIEW-Controller (MVC) design pattern, new chapters presenting details of two MDA-based tools - the Virtual Enterprise and Olivia Nova and a new chapter with exercises on conceptual modeling. It may be highly useful to undergraduate and graduate students as the first edition has proven to be a useful supplementary textbook for courses in mathematical programming in agriculture, ecology, information technology, agricultural operations research methods, agronomy and soil science and applied mathematical modeling. The book has broad appeal for anyone involved in software development projects in agriculture and to researchers in general who are interested in modeling complex systems. From the reviews of the first edition: "The book will be useful for those interested in gaining a quick understanding of current software development techniques and how they are applied in practice... this is a good introductory text on the application of OOAD, UML and design patters to the creation of agricultural systems. It is technically sound and well written." -Computing Reviews, September 2006
This title includes a number of Open Access chapters. Model-driven engineering (MDE) is the automatic production of software from simplified models of structure and functionality. It mainly involves the automation of the routine and technologically complex programming tasks, thus allowing developers to focus on the true value-adding functionality that the system needs to deliver. This book serves an overview of some of the core topics in MDE. The volume is broken into two sections offering a selection of papers that helps the reader not only understand the MDE principles and techniques, but also learn from practical examples. Also covered are the following topics: * MDE for software product lines * Formal methods for model transformation correctness * Metamodeling with Eclipse eCore * Metamodeling with UML profiles * Test cases generation This easily accessible reference volume offers a comprehensive guide to this rapidly expanding field. Edited by experienced writers with experience in both research and the practice of software engineering, Model-Driven Engineering of Information Systems: Principles, Techniques and Practice is an authoritative and easy-to-use reference, ideal for both researchers in the field and students who wish to gain an overview to this important field of study.
Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section's first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.
Software development has been a troubling since it first started. There are seven chronic problems that have plagued it from the beginning: Incomplete and ambiguous user requirements that grow by >2% per month. Major cost and schedule overruns for large applications > 35% higher than planned. Low defect removal efficiency (DRE) < 85% on large systems. Cancelled projects that are not completed: > 30% above 10,000 function points. Poor quality and low reliability after the software is delivered: > 5 bugs per FP. Breach of contract litigation against software outsource vendors. Expensive maintenance and enhancement costs after delivery. These are endemic problems for software executives, software engineers and software customers but they are not insurmountable. In Software Development Patterns and Antipatterns, software engineering and metrics pioneer Capers Jones presents technical solutions for all seven. The solutions involve moving from harmful patterns of software development to effective patterns of software development. The first section of the book examines common software development problems that have been observed in many companies and government agencies. The data on the problems comes from consulting studies, breach of contract lawsuits, and the literature on major software failures. This section considers the factors involved with cost overruns, schedule delays, canceled projects, poor quality, and expensive maintenance after deployment. The second section shows patterns that lead to software success. The data comes from actual companies. The section's first chapter on Corporate Software Risk Reduction in a Fortune 500 company was based on a major telecom company whose CEO was troubled by repeated software failures. The other chapters in this section deal with methods of achieving excellence, as well as measures that can prove excellence to C-level executives, and with continuing excellence through the maintenance cycle as well as for software development.
New computational design tools have evolved rapidly and been increasingly applied in the field of design in recent years, complimenting and even replacing the traditional design media and approaches. Design as both the process and product are changing due to the emergence and adoption of these new technologies. Understanding and assessing the impact of these new computational design environments on design and designers is important for advancing design in the contemporary context. Do these new computational environments support or hinder design creativity? How do those tools facilitate designers' thinking? Such knowledge is also important for the future development of design technologies. Research shows that design is never a mysterious non-understandable process, for example, one general view is that design process shares a common analysis-synthesis-evaluation model, during which designers interact between design problem and solution spaces. Understanding designers' thinking in different environments is the key to design research, education and practice. This book focuses on emerging computational design environments, whose impact on design and designers have not been comprehensively and systematically studied. It comprises three parts. The history and recent developments of computational design technologies are introduced in Part I. The main categories of technologies cover from computer-aided drafting and modelling tools, to visual programming and scripting tools for algorithmic design, to advanced interfaces and platforms for interactions between designers, between designers and computers, and between the virtual environment and the physical reality. To critically explore design thinking, especially in these new computational design environments, formal approaches to studying design thinking and design cognition are introduced and compared in Part II, drawing on literature and studies from the 70s to the current era. Part III concludes the book by exploring the impact of different computational design technologies on design and designers, using a series of case studies conducted by the author team building on their close collaboration over the past five years. The book offers new insights into designers' thinking in the rapidly evolving computational design environments, which have not been critically and systematically studied and reported in the current literature. The book is meant for design researchers, educators and students, professional practitioners and consultants, as well as people who are interested in computational design in general.
Software Quality Assurance: Integrating Testing, Security, and Audit focuses on the importance of software quality and security. It defines various types of testing, recognizes factors that propose value to software quality, and provides theoretical and real-world scenarios that offer value and contribute quality to projects and applications. The practical synopsis on common testing tools helps readers who are in testing jobs or those interested in pursuing careers as testers. It also helps test leaders, test managers, and others who are involved in planning, estimating, executing, and maintaining software. The book is divided into four sections: The first section addresses the basic concepts of software quality, validation and verification, and audits. It covers the major areas of software management, software life cycle, and life cycle processes. The second section is about testing. It discusses test plans and strategy and introduces a step-by-step test design process along with a sample test case. It also examines what a tester or test lead needs to do before and during test execution and how to report after completing the test execution. The third section deals with security breaches and defects that may occur. It discusses documentation and classification of incidences as well as how to handle an occurrence. The fourth and final section provides examples of security issues along with a security policy document and addresses the planning aspects of an information audit. This section also discusses the definition, measurement, and metrics of reliability based on standards and quality metrics methodology CMM models. It discusses the ISO 15504 standard, CMMs, PSP, and TSP and includes an appendix containing a software process improvement sample document. |
You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Designing the User Interface: Strategies…
Ben Shneiderman, Catherine Plaisant, …
Paperback
R2,037
Discovery Miles 20 370
Hardware Accelerator Systems for…
Shiho Kim, Ganesh Chandra Deka
Hardcover
R3,950
Discovery Miles 39 500
Research Anthology on Architectures…
Information R Management Association
Hardcover
R12,630
Discovery Miles 126 300
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,266
Discovery Miles 12 660
|