![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming
This book presents source code modularization as a key activity in reverse engineering to extract the software architecture from the existing source code. To this end, it provides detailed techniques for source code modularization and discusses their effects on different software quality attributes. Nonetheless, it is not a mere survey of source code modularization algorithms, but rather a consistent and unifying theoretical modularization framework, and as such is the first publication that comprehensively examines the models and techniques for source code modularization. It enables readers to gain a thorough understanding of topics like software artifacts proximity, hierarchical and partitional modularization algorithms, search- and algebraic-based software modularization, software modularization evaluation techniques and software quality attributes and modularization. This book introduces students and software professionals to the fundamental ideas of source code modularization concepts, similarity/dissimilarity metrics, modularization metrics, and quality assurance. Further, it allows undergraduate and graduate students in software engineering, computer science, and computer engineering with no prior experience in the software industry to explore the subject in a step-by-step manner. Practitioners benefit from the structured presentation and comprehensive nature of the materials, while the large number of bibliographic references makes this book a valuable resource for researchers working on source code modularization.
Middleware is the bridge that connects distributed applications
across different physical locations, with different hardware
platforms, network technologies, operating systems, and programming
languages. This book describes middleware from two different
perspectives: from the viewpoint of the systems programmer and from
the viewpoint of the applications programmer. It focuses on the use
of open source solutions for creating middleware and the tools for
developing distributed applications. The design principles
presented are universal and apply to all middleware platforms,
including CORBA and Web Services. The authors have created an
open-source implementation of CORBA, called MICO, which is freely
available on the web. MICO is one of the most successful of all
open source projects and is widely used by demanding companies and
institutions, and has also been adopted by many in the Linux
community.
This text on geometry is devoted to various central geometrical topics including: graphs of functions, transformations, (non-)Euclidean geometries, curves and surfaces as well as their applications in a variety of disciplines. This book presents elementary methods for analytical modeling and demonstrates the potential for symbolic computational tools to support the development of analytical solutions. The author systematically examines several powerful tools of MATLAB (R) including 2D and 3D animation of geometric images with shadows and colors and transformations using matrices. With over 150 stimulating exercises and problems, this text integrates traditional differential and non-Euclidean geometries with more current computer systems in a practical and user-friendly format. This text is an excellent classroom resource or self-study reference for undergraduate students in a variety of disciplines.
Evolutionary algorithms (EAs) is now a mature problem-solving family of heuristics that has found its way into many important real-life problems and into leading-edge scientific research. Spatially structured EAs have different properties than standard, mixing EAs. By virtue of the structured disposition of the population members they bring about new dynamical features that can be harnessed to solve difficult problems faster and more efficiently. This book describes the state of the art in spatially structured EAs by using graph concepts as a unifying theme. The models, their analysis, and their empirical behavior are presented in detail. Moreover, there is new material on non-standard networked population structures such as small-world networks. The book should be of interest to advanced undergraduate and graduate students working in evolutionary computation, machine learning, and optimization. It should also be useful to researchers and professionals working in fields where the topological structures of populations and their evolution plays a role.
The Deitels' groundbreaking How to Program series offers unparalleled breadth and depth of programming fundamentals, object-oriented programming concepts and intermediate-level topics for further study. Java How to Program, Late Objects, 11th Edition, presents leading-edge computing technologies using the Deitel signature live-code approach, which demonstrates concepts in hundreds of complete working programs. The 11th Edition presents updated coverage of Java SE 8 and new Java SE 9 capabilities, including JShell, the Java Module System, and other key Java 9 topics.
Defining a formal domain ontology is generally considered a useful, not to say necessary step in almost every software project. This is because software deals with ideas rather than with self-evident physical artefacts. However, this development step is hardly ever done, as ontologies rely on well-defined and semantically powerful AI concepts such as description logics or rule-based systems, and most software engineers are largely unfamiliar with these. Ga evic and his co-authors try to fill this gap by covering the subject of MDA application for ontology development on the Semantic Web. Part I of their book describes existing technologies, tools, and standards like XML, RDF, OWL, MDA, and UML. Part II presents the first detailed description of OMG s new ODM (Ontology Definition Metamodel) initiative, a specification which is expected to be in the form of an OMG language like UML. Finally, Part III is dedicated to applications and practical aspects of developing ontologies using MDA-based languages. The book is supported by a website showing many ontologies, UML and other MDA-based models, and the transformations between them. "The book is equally suited to those who merely want to be informed of the relevant technological landscape, to practitioners dealing with concrete problems, and to researchers seeking pointers to potentially fruitful areas of research. The writing is technical yet clear and accessible, illustrated throughout with useful and easily digestible examples." from the Foreword by Bran Selic, IBM Rational Software, Canada. "I do not know another book that offers such a high quality insight into UML and ontologies." Steffen Staab, U Koblenz, Germany"
This work, a tribute to renowned researcher Robert Paige, is a collection of revised papers published in his honor in the Higher-Order and Symbolic Computation Journal in 2003 and 2005. Among them there are two key papers: a retrospective view of his research lines, and a proposal for future studies in the area of the automatic program derivation. The book also includes some papers by members of the IFIP Working Group 2.1 of which Bob was an active member.
This book presents fundamental theoretical results for designing object-oriented programming languages for controlling swarms. It studies the logics of swarm behaviours. According to behaviourism, all behaviours can be controlled or even managed by stimuli in the environment: attractants (motivational reinforcement) and repellents (motivational punishment). At the same time, there are two main stages in reactions to stimuli: sensing (perceiving signals) and motoring (appropriate direct reactions to signals). This book examines the strict limits of behaviourism from the point of view of symbolic logic and algebraic mathematics: how far can animal behaviours be controlled by the topology of stimuli? On the one hand, we can try to design reversible logic gates in which the number of inputs is the same as the number of outputs. In this case, the behaviouristic stimuli are inputs in swarm computing and appropriate reactions at the motoring stage are its outputs. On the other hand, the problem is that even at the sensing stage each unicellular organism can be regarded as a logic gate in which the number of outputs (means of perceiving signals) greatly exceeds the number of inputs (signals).
Nowadays, there is software everywhere in our life. It controls cars, airplanes, factories, medical implants. Without software, banking, logistics and transportation, media, and even scientific research would not function in the accustomed way. Building and maintaining software is a knowledge-intensive endeavour and requires that specific experiences are handled successfully. However, neither knowledge nor experience can be collected, stored, and shipped like physical goods, instead these delicate resources require dedicated techniques. Knowledge and experience are often called company assets, yet this is only part of the truth: it is only software engineers and other creative employees who will effectively exploit an organisation's knowledge and experience. Kurt Schneider's textbook is written for those who want to make better use of their own knowledge and experience - either personally or within their group or company. Everyone related to software development will benefit from his detailed explanations and case studies: project managers, software engineers, quality assurance responsibles, and knowledge managers. His presentation is based on years of both practical experience, with companies such as Boeing, Daimler, and Nokia, and research in renowned environments, such as the Fraunhofer Institute. Each chapter is self-contained, it clearly states its learning objectives, gives in-depth presentations, shows the techniques' practical relevance in application scenarios, lists detailed references for further reading, and is finally completed by exercises that review the material presented and also challenge further, critical examinations. The overall result is a textbook that is equally suitable as a personal resource for self-directed learning and as the basis for a one-semester course on software engineering and knowledge management.
A Modular Calculus for the Average Cost of Data Structuring introduces MOQA, a new domain-specific programming language which guarantees the average-case time analysis of its programs to be modular.Time in this context refers to a broad notion of cost, which can be used to estimate the actual running time, but also other quantitative information such as power consumption, while modularity means that the average time of a program can be easily computed from the times of its constituents--something that no programming language of this scope has been able to guarantee so far. MOQA principles can be incorporated in any standard programming language. MOQA supports tracking of data and their distributions throughout computations, based on the notion of random bag preservation. This allows a unified approach to average-case time analysis, and resolves fundamental bottleneck problems in the area. The main techniques are illustrated in an accompanying Flash tutorial, where the visual nature of this method can provide new teaching ideas for algorithms courses. This volume, with forewords by Greg Bollella and Dana Scott, presents novel programs based on the new advances in this area, including the first randomness-preserving version of Heapsort. Programs are provided, along with derivations of their average-case time, to illustrate the radically different approach to average-case timing. The automated static timing tool applies the Modular Calculus to extract the average-case running time of programs directly from their MOQA code. A Modular Calculus for the Average Cost of Data Structuring is designed for a professional audience composed of researchers and practitioners in industry, with an interest in algorithmic analysis and also static timing and power analysis--areas of growing importance. It is also suitable as an advanced-level text or reference book for students in computer science, electrical engineering and mathematics. Michel Schellekens obtained his PhD from Carnegie Mellon University, following which he worked as a Marie Curie Fellow at Imperial College London. Currently he is an Associate Professor at the Department of Computer Science in University College Cork - National University of Ireland, Cork, where he leads the Centre for Efficiency-Oriented Languages (CEOL) as a Science Foundation Ireland Principal Investigator.
During maintenance of a software system, not all questions can be answered directly by resorting to otherwise reliable and accurate source code. Reverse engineering aims at extracting abstract, goal-oriented views of the system, able to summarize relevant properties of the program's computations. Reverse Engineering of Object-Oriented Code provides a comprehensive overview of several techniques that have been recently investigated in the field of reverse engineering. The book describes the algorithms involved in recovering UML diagrams from the code and the techniques that can be adopted for their visualization. This is important because the UML has become the standard for representing design diagrams in object-oriented development. A state-of-the-art exposition on how to design object-oriented code and accompanying algorithms that can be reverse engineered for greater flexibility in future code maintenance and alteration. Essential object-oriented concepts and programming methods for software engineers and researchers.
The one resource needed to create reliable software
Many decisions are required throughout the software development process. These decisions, and to some extent the decision-making process itself, can best be documented as the rationale for the system, which will reveal not only what was done during development but the reasons behind the choices made and alternatives considered and rejected. This information becomes increasingly critical as software development becomes more distributed and encompasses the corporate knowledge both used and refined during the development process. The capture of rationale helps to ensure that decisions are well thought out and justified and the use of rationale can help avoid the mistakes of the past during both the development of the current system and when software products (architecture and design, as well as code) are reused in future systems. Burge, Carroll, McCall, and Mistrik describe in detail the capture and use of design rationale in software engineering to improve the quality of software. Their book is the first comprehensive and unified treatment of rationale usage in software engineering. It provides a consistent conceptual framework and a unified terminology for comparing, contrasting and combining the myriad approaches to rationale in software engineering. It is both an excellent introductory text for those new to the field and a uniquely valuable reference for experienced rationale researchers. The book covers the use of rationale for decision making throughout the software lifecycle, starting from the first decisions in a project and continuing through requirements definition, design, implementation, testing, maintenance, redesign and reuse."
The IT community has always struggled with questions concerning the value of an organizationa (TM)s investment in software and hardware. It is the goal of value-based software engineering (VBSE) to develop models and measures of value which are of use for managers, developers and users as they make tradeoff decisions between, for example, quality and cost or functionality and schedule a" such decisions must be economically feasible and comprehensible to the stakeholders with differing value perspectives. VBSE has its roots in work on software engineering economics, pioneered by Barry Boehm in the early 1980s. However, the emergence of a wider scope that defines VBSE is more recent. VBSE extends the merely technical ISO software engineering definition with elements not only from economics, but also from cognitive science, finance, management science, behavioural sciences, and decision sciences, giving rise to a truly multi-disciplinary framework. Biffl and his co-editors invited leading researchers and structured their contributions into three parts, following an introduction into the area by Boehm himself. They first detail the foundations of VBSE, followed by a presentation of state-of-the-art methods and techniques. The third part demonstrates the benefits of VBSE through concrete examples and case studies. This book deviates from the more anecdotal style of many management-oriented software engineering books and so appeals particularly to all readers who are interested in solid foundations for high-level aspects of software engineering decision making, i.e. to product or project managers driven by economics and to software engineering researchers and students.
Broadband Satellite Communication Systems and the Challenges of Mobility is an essential reference for both academic and professional researchers in the field of telecommunications, computer networking and wireless networks. Recently the request of multimedia services has been rapidly increasing and satellite networks appear to be attractive for a fast service deployment and for extending the typical service area of terrestrial systems. In comparison with traditional wide area networks, a characteristic of satellite communication systems is their ability in broadcasting and multicasting multimedia information flows anywhere over the satellite coverage. The papers presented in this volume highlight key areas such as Satellite Network Architectures, Services and Applications; Mobile Satellite Systems and Services; and Hybrid Satellite and Terrestrial Networks. Mobility will inevitably be one of the main characteristics of future networks, terminals and applications and, thus, extending and integrating fixed network protocols and services to mobile systems represents one of the main issues of present networking. The secondary focus of this volume is on challenges of mobility, that is, on technologies, protocols and services for the support of seamless and nomadic user access to new classes of applications in person-to-person, device-to-device and device-to-person environments. The book comprises recent results of research and development in the following areas; Seamless mobility; Mobile ad hoc and sensor networks; Analysis, simulation and measurements of mobile and wireless systems; Integration and inter-working of wired and wireless networks; QoS in mobile and wireless networks; Future trends and issues concerning mobility. This state -of-the-art volume contains a collection of papers from two of the workshops of the 18th IFIP World Computer Congress, held August 22-27, 2004, in Toulouse, France: the Workshop on Broadband Satellite Communication Systems, and the Workshop on the Challenges of Mobility.
Current thinking about how to improve strategic planning (now upgraded to strategic thinking) and decision making by managers at all levels is to employ some aspect of information systems technology. Although this approach has worked well for most organizations, chief executives are now asking their managers to do what they do best but to do it better. But how? Future thinking about improving strategic thinking and decision making involves integrating creativity with the latest in information systems. Hence, the power of the computer can be an important means to assist managers in doing what they do better when employing a creative computer software approach. Initially, the text looks at a number of areas that are impacted by creativity, with special emphasis on creative computer software. Management decision making is examined from a problem-finding or a forward-looking viewpoint that can benefit from utilizing creative computer software. Not only is this software useful for organizing ideas, but also for getting managers involved in networking ideas in different locations of a company. But more importantly, this software centers on the generation of new ideas. To demonstrate the generation of these ideas, the final part of the text gives a number of real-world applications of creative computer software. Particular emphasis is placed on Idea Fisher 4.0, an effective software package for generating new products and services.
Agile software development has become an umbrella term for a number of changes in how software developers plan and coordinate their work, how they communicate with customers and external stakeholders, and how software development is organized in small, medium, and large companies, from the telecom and healthcare sectors to games and interactive media. Still, after a decade of research, agile software development is the source of continued debate due to its multifaceted nature and insufficient synthesis of research results. Dingsoyr, Dyba, and Moe now present a comprehensive snapshot of the knowledge gained over many years of research by those working closely with or in the industry. It shows the current state of research on agile software development through an introduction and ten invited contributions on the main research fields, each written by renowned experts. These chapters cover three main issues: foundations and background of agile development, agile methods in practice, and principal challenges and new frontiers. They show the important results in each subfield, and in addition they explain what these results mean to practitioners as well as for future research in the field. The book is aimed at reflective practitioners and researchers alike, and it also can serve as the basis for graduate courses at universities.
This volume provides an overview of current work in software engineering techniques that can enhance the quality of software. The chapters of this volume, organized by key topic area, create an agenda for the IFIP Working Conference on Software Engineering Techniques, SET 2006. The seven sections of the volume address the following areas: software architectures, modeling, project management, software quality, analysis and verification methods, data management, and software maintenance.
This book provides the basic theory, techniques, and algorithms of modern cryptography that are applicable to network and cyberspace security. It consists of the following nine main chapters: Chapter 1 provides the basic concepts and ideas of cyberspace and cyberspace security, Chapters 2 and 3 provide an introduction to mathematical and computational preliminaries, respectively. Chapters 4 discusses the basic ideas and system of secret-key cryptography, whereas Chapters 5, 6, and 7 discuss the basic ideas and systems of public-key cryptography based on integer factorization, discrete logarithms, and elliptic curves, respectively. Quantum-safe cryptography is presented in Chapter 8 and offensive cryptography, particularly cryptovirology, is covered in Chapter 9. This book can be used as a secondary text for final-year undergraduate students and first-year postgraduate students for courses in Computer, Network, and Cyberspace Security. Researchers and practitioners working in cyberspace security and network security will also find this book useful as a reference.
It's a plain fact: regardless of how smart, creative, and
innovative your organization is, there are more smart, creative,
and innovative people outside your organization than inside. Open
source offers the possibility of bringing more innovation into your
business by building a creative community that reaches beyond the
barriers of the business. The key is developing a web-driven
community where new types of collaboration and creativity can
flourish. Since 1998 Ron Goldman and Richard Gabriel have been
helping groups at Sun Microsystems understand open source and
advising them on how to build successful communities around open
source projects. In this book the authors present lessons learned
from their own experiences with open source, as well as those from
other well-known projects such as Linux, Apache, and Mozilla.
Agent-based modeling/simulation is an emerging field that uses bottom-up and experimental analysis in the social sciences. Selected research from that presented at the Third International Workshop on Agent-Based Approaches in Economic and Social Complex Systems 2004, held in May 2004 in Kyoto, Japan, is included in this book. The aim of the workshop was to employ the bottom-up approach to social and economic problems by modeling, simulation, and analysis using a software agent. This research area is an emerging interdisciplinary field among the social sciences and computer science, attracting broad attention because it introduces a simulation-based experimental approach to problems that are becoming increasingly complex in an era of globalization and innovation in information technology. The state-of-the-art research and findings presented in this book will be indispensable tools for anyone involved in this rapidly growing discipline.
Managing risk is essential for every organization. However, significant opportunities may be lost by concentrating on the negative aspects of risk without bearing in mind the positive attributes. The objective of Project Risk Management: Managing Software Development Risk is to provide a distinct approach to a broad range of risks and rewards associated with the design, development, implementation and deployment of software systems. The traditional perspective of software development risk is to view risk as a negative characteristic associated with the impact of potential threats. The perspective of this book is to explore a more discerning view of software development risks, including the positive aspects of risk associated with potential beneficial opportunities. A balanced approach requires that software project managers approach negative risks with a view to reduce the likelihood and impact on a software project, and approach positive risks with a view to increase the likelihood of exploiting opportunities. Project Risk Management: Managing Software Development Risk explores software development risk both from a technological and business perspective. Issues regarding strategies for software development are discussed and topics including risks related to technical performance, outsourcing, cybersecurity, scheduling, quality, costs, opportunities and competition are presented. Bringing together concepts across the broad spectrum of software engineering with a project management perspective, this volume represents both a professional and scholarly perspective on the topic. |
You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R3,940
Discovery Miles 39 400
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, …
Paperback
(1)R751 Discovery Miles 7 510
|