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
Developing correct and efficient software is far more complex for parallel and distributed systems than it is for sequential processors. Some of the reasons for this added complexity are: the lack of a universally acceptable parallel and distributed programming paradigm, the criticality of achieving high performance, and the difficulty of writing correct parallel and distributed programs. These factors collectively influence the current status of parallel and distributed software development tools efforts. Tools and Environments for Parallel and Distributed Systems addresses the above issues by describing working tools and environments, and gives a solid overview of some of the fundamental research being done worldwide. Topics covered in this collection are: mainstream program development tools, performance prediction tools and studies; debugging tools and research; and nontraditional tools. Audience: Suitable as a secondary text for graduate level courses in software engineering and parallel and distributed systems, and as a reference for researchers and practitioners in industry.
Computer Aided Software Engineering brings together in one place important contributions and up-to-date research results in this important area. Computer Aided Software Engineering serves as an excellent reference, providing insight into some of the most important research issues in the field.
3D Virtual Applications: Applications with Virtual Inhabited 3D Worlds deals with the use of virtual inhabited 3D spaces in different domains of society. (Other volumes deal with interaction, production methodology and space.) From focusing on virtual reality (a reality into which users and objects from the real world should be moved) we are increasingly focusing on augmented reality (i.e. on moving computers out into the reality of real users, objects and activities). This book deals with the use of virtual inhabited 3D spaces in both contexts. Based on the structuring of the application domains, this book looks at the use of VR and augmented reality in the following major application domains: - Production oriented applications - use of VR and augmented reality for control of complex production plants, for navigation support (ships, cars, aeroplanes) and for support of collaborative work processes - Communication support applications - virtual spaces are used for supporting communication in learning environments and for support of organisational communication. Also virtual spaces are used for supporting the navigation of people in public spaces, i.e. as maps, planning tools - Scientific applications - use of 3D models for medical research; use of dynamic models for representation of abstract concepts and ideas (data-mining applications); use of dynamic 3D models for simulating biological or social processes - Artistic and cultural applications - the construction of stages representing concepts and/or emotions
The inclusion of experts in communicability in the software industry has allowed timeframes to speed up in the commercialization of new technological products worldwide. However, this constant evolution of software in the face of the hardware revolution opens up a host of new horizons to maintain and increase the quality of the interactive systems following a set of standardized norms and rules for the production of interactive software. Currently, we see some efforts towards this goal, but they are still partial solutions, incomplete, and flawed from the theoretical as well as practical points of view. If the quality of the interactive design is analyzed, it is left to professionals to generate systems that are efficient, reliable, user-friendly, and cutting-edge. The Handbook of Research on Software Quality Innovation in Interactive Systems analyzes the quality of the software applied to the interactive systems and considers the constant advances in the software industry. This book reviews the past and present of information and communication technologies with a projection towards the future, along with analyses of software, software design, phrases to use, and the purposes for software applications in interactive systems. This book is ideal for students, professors, researchers, programmers, analysists of systems, computer engineers, interactive designers, managers of software quality, and evaluators of interactive systems.
The research and its outcomes presented in this collection focus on various aspects of high-performance computing (HPC) software and its development which is confronted with various challenges as today's supercomputer technology heads towards exascale computing. The individual chapters address one or more of the research directions (1) computational algorithms, (2) system software, (3) application software, (4) data management and exploration, (5) programming, and (6) software tools. The collection thereby highlights pioneering research findings as well as innovative concepts in exascale software development that have been conducted under the umbrella of the priority programme "Software for Exascale Computing" (SPPEXA) of the German Research Foundation (DFG) and that have been presented at the SPPEXA Symposium, Jan 25-27 2016, in Munich. The book has an interdisciplinary appeal: scholars from computational sub-fields in computer science, mathematics, physics, or engineering will find it of particular interest.
Requirements engineering has since long acknowledged the importance of the notion that system requirements are stakeholder goals-rather than system functions-and ought to be elicited, modeled and analyzed accordingly. In this book, Nurcan and her co-editors collected twenty contributions from leading researchers in requirements engineering with the intention to comprehensively present an overview of the different perspectives that exist today, in 2010, on the concept of intention in the information systems community. These original papers honor Colette Rolland for her contributions to this field, as she was probably the first to emphasize that 'intention' has to be considered as a first-class concept in information systems engineering. Written by long-term collaborators (and most often friends) of Colette Rolland, this volume covers topics like goal-oriented requirements engineering, model-driven development, method engineering, and enterprise modeling. As such, it is a tour d'horizon of Colette Rolland's lifework, and is presented to her on the occasion of her retirement at CaISE 2010 in Hammamet, the conference she once cofounded and which she helped to grow and prosper for more than 20 years.
Non-Functional Requirements in Software Engineering presents a systematic and pragmatic approach to `building quality into' software systems. Systems must exhibit software quality attributes, such as accuracy, performance, security and modifiability. However, such non-functional requirements (NFRs) are difficult to address in many projects, even though there are many techniques to meet functional requirements in order to provide desired functionality. This is particularly true since the NFRs for each system typically interact with each other, have a broad impact on the system and may be subjective. To enable developers to systematically deal with a system's diverse NFRs, this book presents the NFR Framework. Structured graphical facilities are offered for stating NFRs and managing them by refining and inter-relating NFRs, justifying decisions, and determining their impact. Since NFRs might not be absolutely achieved, they may simply be satisfied sufficiently (`satisficed'). To reflect this, NFRs are represented as `softgoals', whose interdependencies, such as tradeoffs and synergy, are captured in graphs. The impact of decisions is qualitatively propagated through the graph to determine how well a chosen target system satisfices its NFRs. Throughout development, developers direct the process, using their expertise while being aided by catalogues of knowledge about NFRs, development techniques and tradeoffs, which can all be explored, reused and customized. Non-Functional Requirements in Software Engineering demonstrates the applicability of the NFR Framework to a variety of NFRs, domains, system characteristics and application areas. This will help readers apply the Framework to NFRs and domains of particular interest to them. Detailed treatments of particular NFRs - accuracy, security and performance requirements - along with treatments of NFRs for information systems are presented as specializations of the NFR Framework. Case studies of NFRs for a variety of information systems include credit card and administrative systems. The use of the Framework for particular application areas is illustrated for software architecture as well as enterprise modelling. Feedback from domain experts in industry and government provides an initial evaluation of the Framework and some case studies. Drawing on research results from several theses and refereed papers, this book's presentation, terminology and graphical notation have been integrated and illustrated with many figures. Non-Functional Requirements in Software Engineering is an excellent resource for software engineering practitioners, researchers and students.
Welcome to the 6th International Conference on Open Source Systems of the IFIP Working Group 2. 13. This year was the ?rst time this international conf- ence was held in North America. We had a large number of high-quality papers, highlyrelevantpanelsandworkshops, acontinuationofthepopulardoctoralc- sortium, and multiple distinguished invited speakers. The success of OSS 2010 was only possible because an Organizing Committee, a Program Committee, Workshop and Doctoral Committees, and authors of research manuscripts from over 25 countries contributed their time and interest to OSS 2010. In the spirit of the communities we study, you self-organized, volunteered, and contributed to this important research forum studying free, libre, open source software and systems. We thank you Despite our modest success, we have room to improve and grow our conf- ence and community. At OSS 2010 we saw little or no participation from large portions of the world, including Latin America, Africa, China, and India. But opportunitiestoexpandarepossible. InJapan, weseeahotspotofparticipation led by Tetsuo Noda and his colleagues, both with full-paper submissions and a workshopon"OpenSourcePolicyandPromotionofITIndustries inEastAsia. " The location of OSS 2011 in Salvador, Brazil, will hopefully result in signi?cant participation from researchers in Brazil - already a strong user of OSS - and otherSouthAmericancountries. UndertheleadershipofMeganSquire, Publicity Chair, we recruited RegionalPublicity Co-chairscovering Japan (Tetsuo Noda), Africa(SulaymanSowe), the MiddleEastandSouthAsia(FaheenAhmed), R- sia and Eastern Europe (Alexey Khoroshilov), Western Europe (Yeliz Eseryel), UK and Ireland (Andrea Capiluppi), and the Nordic countries (Bj] orn Lundell)."
Digital Image Processing with C++ presents the theory of digital image processing, and implementations of algorithms using a dedicated library. Processing a digital image means transforming its content (denoising, stylizing, etc.), or extracting information to solve a given problem (object recognition, measurement, motion estimation, etc.). This book presents the mathematical theories underlying digital image processing, as well as their practical implementation through examples of algorithms implemented in the C++ language, using the free and easy-to-use CImg library. Chapters cover in a broad way the field of digital image processing and proposes practical and functional implementations of each method theoretically described. The main topics covered include filtering in spatial and frequency domains, mathematical morphology, feature extraction and applications to segmentation, motion estimation, multispectral image processing and 3D visualization. Students or developers wishing to discover or specialize in this discipline, teachers and researchers wishing to quickly prototype new algorithms, or develop courses, will all find in this book material to discover image processing or deepen their knowledge in this field.
This unique volume explores cutting-edge management approaches to developing complex software that is efficient, scalable, sustainable, and suitable for distributed environments. Practical insights are offered by an international selection of pre-eminent authorities, including case studies, best practices, and balanced corporate analyses. Emphasis is placed on the use of the latest software technologies and frameworks for life-cycle methods, including the design, implementation and testing stages of software development. Topics and features: * Reviews approaches for reusability, cost and time estimation, and for functional size measurement of distributed software applications * Discusses the core characteristics of a large-scale defense system, and the design of software project management (SPM) as a service * Introduces the 3PR framework, research on crowdsourcing software development, and an innovative approach to modeling large-scale multi-agent software systems * Examines a system architecture for ambient assisted living, and an approach to cloud migration and management assessment * Describes a software error proneness mechanism, a novel Scrum process for use in the defense domain, and an ontology annotation for SPM in distributed environments* Investigates the benefits of agile project management for higher education institutions, and SPM that combines software and data engineering This important text/reference is essential reading for project managers and software engineers involved in developing software for distributed computing environments. Students and researchers interested in SPM technologies and frameworks will also find the work to be an invaluable resource. Prof. Zaigham Mahmood is a Senior Technology Consultant at Debesis Education UK and an Associate Lecturer (Research) at the University of Derby, UK. He also holds positions as Foreign Professor at NUST and IIU in Islamabad, Pakistan, and Professor Extraordinaire at the North West University Potchefstroom, South Africa.
Business rules are everywhere. Every enterprise process, task, activity, or function is governed by rules. However, some of these rules are implicit and thus poorly enforced, others are written but not enforced, and still others are perhaps poorly written and obscurely enforced. The business rule approach looks for ways to elicit, communicate, and manage business rules in a way that all stakeholders can understand, and to enforce them within the IT infrastructure in a way that supports their traceability and facilitates their maintenance. Boyer and Mili will help you to adopt the business rules approach effectively. While most business rule development methodologies put a heavy emphasis on up-front business modeling and analysis, agile business rule development (ABRD) as introduced in this book is incremental, iterative, and test-driven. Rather than spending weeks discovering and analyzing rules for a complete business function, ABRD puts the emphasis on producing executable, tested rule sets early in the project without jeopardizing the quality, longevity, and maintainability of the end result. The authors presentation covers all four aspects required for a successful application of the business rules approach: (1) foundations, to understand what business rules are (and are not) and what they can do for you; (2) methodology, to understand how to apply the business rules approach; (3) architecture, to understand how rule automation impacts your application; (4) implementation, to actually deliver the technical solution within the context of a particular business rule management system (BRMS). Throughout the book, the authors use an insurance case study that deals with claim processing. Boyer and Mili cater to different audiences: Project managers will find a pragmatic, proven methodology for delivering and maintaining business rule applications. Business analysts and rule authors will benefit from guidelines and best practices for rule discovery and analysis. Application architects and software developers will appreciate an exploration of the design space for business rule applications, proven architectural and design patterns, and coding guidelines for using JRules.
This book provides the most complete formal specification of the semantics of the Business Process Model and Notation 2.0 standard (BPMN) available to date, in a style that is easily understandable for a wide range of readers - not only for experts in formal methods, but e.g. also for developers of modeling tools, software architects, or graduate students specializing in business process management. BPMN - issued by the Object Management Group - is a widely used standard for business process modeling. However, major drawbacks of BPMN include its limited support for organizational modeling, its only implicit expression of modalities, and its lack of integrated user interaction and data modeling. Further, in many cases the syntactical and, in particular, semantic definitions of BPMN are inaccurate, incomplete or inconsistent. The book addresses concrete issues concerning the execution semantics of business processes and provides a formal definition of BPMN process diagrams, which can serve as a sound basis for further extensions, i.e., in the form of horizontal refinements of the core language. To this end, the Abstract State Machine (ASMs) method is used to formalize the semantics of BPMN. ASMs have demonstrated their value in various domains, e.g. specifying the semantics of programming or modeling languages, verifying the specification of the Java Virtual Machine, or formalizing the ITIL change management process. This kind of improvement promotes more consistency in the interpretation of comprehensive models, as well as real exchangeability of models between different tools. In the outlook at the end of the book, the authors conclude with proposing extensions that address actor modeling (including an intuitive way to denote permissions and obligations), integration of user-centric views, a refined communication concept, and data integration.
The art, craft, discipline, logic, practice, and science of developing large-scale software products needs a believable, professional base. The textbooks in this three-volume set combine informal, engineeringly sound practice with the rigour of formal, mathematics-based approaches. Volume 3 is based on the maxim: "Before software can be designed its requirements must be well understood, and before the requirements can be expressed properly the domain of the application must be well understood." This book covers the process from the development of domain descriptions, via the derivation of requirements prescriptions from domain models, to the refinement of requirements into software designs, i.e., architectures and component design. Emphasis is placed on what goes into proper domain descriptions and requirements prescriptions, how one acquires and analyses the domain knowledge and requirements expectations, and how one validates and verifies domain and requirements models. The reader can take an informal route through Vol. 3, and this would be suitable for undergraduate courses on software engineering. Advanced students, lecturers, and researchers may instead follow the formal route through Vol. 3, and in this case Vol. 1 is a prerequisite text. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.
A best-seller in its French edition, the construction of this book is original and its success in the French market demonstrates its appeal. It is based on three principles: 1. An organization of the chapters by families of algorithms : exhaustive search, divide and conquer, etc. At the contrary, there is no chapter only devoted to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. 2. For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. 3. For its most part, the book details 150 problems, spanning on seven families of algorithms. For each problem, a precise and progressive statement is given. More important, a complete solution is detailed, with respect to the design principles that have been presented ; often, some classical errors are pointed at. Roughly speaking, two thirds of the book are devoted to the detailed rational construction of the solutions.
In today s world, services and data are integrated in ever new constellations, requiring the easy, flexible and scalable integration of autonomous, heterogeneous components into complex systems at any time. Event-based architectures inherently decouple system components. Event-based components are not designed to work with specific other components in a traditional request/reply mode, but separate communication from computation through asynchronous communication mechanisms via a dedicated notification service. Muhl, Fiege, and Pietzuch provide the reader with an in-depth description of event-based systems. They cover the complete spectrum of topics, ranging from a treatment of local event matching and distributed event forwarding algorithms, through a more practical discussion of software engineering issues raised by the event-based style, to a presentation of state-of-the-art research topics in event-based systems, such as composite event detection and security. Their presentation gives researchers a comprehensive overview of the area and lots of hints for future research. In addition, they show the power of event-based architectures in modern system design, thus encouraging professionals to exploit this technique in next generation large-scale distributed applications like information dissemination, network monitoring, enterprise application integration, or mobile systems.
Software and Systems Traceability provides a comprehensive description of the practices and theories of software traceability across all phases of the software development lifecycle. The term software traceability is derived from the concept of requirements traceability. Requirements traceability is the ability to track a requirement all the way from its origins to the downstream work products that implement that requirement in a software system. Software traceability is defined as the ability to relate the various types of software artefacts created during the development of software systems. Traceability relations can improve the quality of a product being developed, and reduce the time and cost of development. More specifically, traceability relations can support evolution of software systems, reuse of parts of a system by comparing components of new and existing systems, validation that a system meets its requirements, understanding of the rationale for certain design and implementation decisions, and analysis of the implications of changes in the system.
Any organization with valuable data has been or will be attacked, probably successfully, at some point and with some damage. And, don't all digitally connected organizations have at least some data that can be considered "valuable"? Cyber security is a big, messy, multivariate, multidimensional arena. A reasonable "defense-in-depth" requires many technologies; smart, highly skilled people; and deep and broad analysis, all of which must come together into some sort of functioning whole, which is often termed a security architecture. Secrets of a Cyber Security Architect is about security architecture in practice. Expert security architects have dozens of tricks of their trade in their kips. In this book, author Brook S. E. Schoenfield shares his tips and tricks, as well as myriad tried and true bits of wisdom that his colleagues have shared with him. Creating and implementing a cyber security architecture can be hard, complex, and certainly frustrating work. This book is written to ease this pain and show how to express security requirements in ways that make the requirements more palatable and, thus, get them accomplished. It also explains how to surmount individual, team, and organizational resistance. The book covers: What security architecture is and the areas of expertise a security architect needs in practice The relationship between attack methods and the art of building cyber defenses Why to use attacks and how to derive a set of mitigations and defenses Approaches, tricks, and manipulations proven successful for practicing security architecture Starting, maturing, and running effective security architecture programs Secrets of the trade for the practicing security architecture Tricks to surmount typical problems Filled with practical insight, Secrets of a Cyber Security Architect is the desk reference every security architect needs to thwart the constant threats and dangers confronting every digitally connected organization.
Soft computing embraces methodologies for the development of intelligent systems that have been successfully applied to a large number of real-word problems. This collection of keynote papers, presented at the 7th On-line World Conference on Soft Computing in Engineering Design and Manufacturing, provides a comprehensive overview of recent advances in fuzzy, neural and evolutionary computing techniques and applications in engineering design and manufacturing. Features:- New and highly advanced research results at the forefront of soft computing in engineering design and manufacturing. - Keynote papers by world-renowned researchers in the field. - A good overview of current soft computing research around the world. A collection of methodologies aimed at researchers and professional design and manufacturing engineers who develop and apply intelligent systems in computer engineering.
M. CARPENTIER Director General DG XIII, Telecommunications, Information Industries and Innovation of the Commission of the European Communities It is with great pleasure that I introduce and recommend this collection of guidelines produced by EWICS TC7. This Technical Committee has consistently attracted technical experts of high quality from all over Europe and the standard of the Committee's work has reflected this. The Committee has been sponsored by the Commission of the European Communities since 1978. During this period, there has been the opportunity to observe the enthusiasm and dedication in the activities of the group, the expertise and effort invested in its work, the discipline in meeting objectives and the quality of the resulting guidelines. It is no surprise that these guidelines have influenced the work of international standardisation bodies. Now the first six of EWICS TCTs guidelines are being made available as a book. I am convinced that all computer system developers who use them will greatly enhance their chances of achieving quality systems. v Acknowledgements In the preparation of this book, the editoLisgrateful to P. Bishop, G. Covington II, C. Goring, and W. Quirk for their help in editing the guidelines. In addition, he would like to thank S. Bologna, W. Ehrenberger, M. Ould, J. Rata, L. Sintonen and J. Zalewski for reviewing the chapters and providing additional material.
The great challenge of reverse engineering is recovering design information from legacy code: the concept recovery problem. This monograph describes our research effort in attacking this problem. It discusses our theory of how a constraint-based approach to program plan recognition can efficiently extract design concepts from source code, and it details experiments in concept recovery that support our claims of scalability. Importantly, we present our models and experiments in sufficient detail so that they can be easily replicated. This book is intended for researchers or software developers concerned with reverse engineering or reengineering legacy systems. However, it may also interest those researchers who are interested using plan recognition techniques or constraint-based reasoning. We expect the reader to have a reasonable computer science background (i.e., familiarity with the basics of programming and algorithm analysis), but we do not require familiarity with the fields of reverse engineering or artificial intelligence (AI). To this end, we carefully explain all the AI techniques we use. This book is designed as a reference for advanced undergraduate or graduate seminar courses in software engineering, reverse engineering, or reengineering. It can also serve as a supplementary textbook for software engineering-related courses, such as those on program understanding or design recovery, for AI-related courses, such as those on plan recognition or constraint satisfaction, and for courses that cover both topics, such as those on AI applications to software engineering. ORGANIZATION The book comprises eight chapters.
A collection of the most up-to-date research-oriented chapters on information systems development and database, this book provides an understanding of the capabilities and features of new ideas and concepts in information systems development, databases, and forthcoming technologies.
Computers are currently used in a variety of critical applications, including systems for nuclear reactor control, flight control (both aircraft and spacecraft), and air traffic control. Moreover, experience has shown that the dependability of such systems is particularly sensitive to that of its software components, both the system software of the embedded computers and the application software they support. Software Performability: From Concepts to Applications addresses the construction and solution of analytic performability models for critical-application software. The book includes a review of general performability concepts along with notions which are peculiar to software performability. Since fault tolerance is widely recognized as a viable means for improving the dependability of computer system (beyond what can be achieved by fault prevention), the examples considered are fault-tolerant software systems that incorporate particular methods of design diversity and fault recovery. Software Performability: From Concepts to Applications will be of direct benefit to both practitioners and researchers in the area of performance and dependability evaluation, fault-tolerant computing, and dependable systems for critical applications. For practitioners, it supplies a basis for defining combined performance-dependability criteria (in the form of objective functions) that can be used to enhance the performability (performance/dependability) of existing software designs. For those with research interests in model-based evaluation, the book provides an analytic framework and a variety of performability modeling examples in an application context of recognized importance. The material contained in this book will both stimulate future research on related topics and, for teaching purposes, serve as a reference text in courses on computer system evaluation, fault-tolerant computing, and dependable high-performance computer systems.
Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform--with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four
dependency-breaking techniques that help you work with program
elements in isolation and make safer changes.
With this book, Onn Shehory and Arnon Sturm, together with further contributors, introduce the reader to various facets of agent-oriented software engineering (AOSE). They provide a selected collection of state-of-the-art findings, which combines research from information systems, artificial intelligence, distributed systems and software engineering and covers essential development aspects of agent-based systems. The book chapters are organized into five parts. The first part introduces the AOSE domain in general, including introduction to agents and the peculiarities of software engineering for developing MAS. The second part describes general aspects of AOSE, like architectural models, design patterns and communication. Next, part three discusses AOSE methodologies and associated research directions and elaborates on Prometheus, O-MaSE and INGENIAS. Part four then addresses agent-oriented programming languages. Finally, the fifth part presents studies related to the implementation of agents and multi-agent systems. The book not only provides a comprehensive review of design approaches for specifying agent-based systems, but also covers implementation aspects such as communication, standards and tools and environments for developing agent-based systems. It is thus of interest to researchers, practitioners and students who are interested in exploring the agent paradigm for developing software systems. |
You may like...
Principles of Security and Trust - 7th…
Lujo Bauer, Ralf Kusters
Hardcover
R1,620
Discovery Miles 16 200
Writing Better Requirements - Writing…
Ian Alexander, Richard Stevens
Paperback
R2,122
Discovery Miles 21 220
|