![]() |
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
For over a decade, software process improvement (SPI) has been promoted as an approach to improve systematically the way software is developed and managed. Mostly this research and the relevant experience reports have been focussed on large software companies. Conradi and his co-authors have collected the main results from four Norwegian industrial research and development projects on SPI carried out between 1996 and 2005, which, in contrast to other treatments, concentrated on small- and medium-sized companies, typically characterized by fast-changing environments and processes. The presentation is organized in five sections: general principles and methods of SPI, knowledge management for SPI, process modelling and electronic process guides, estimation methods, and object-oriented and component-based systems. A spectrum of empirical methods has been used, e.g. case studies, large-scale experiments, surveys and interviews, and action research. The book mainly targets researchers and graduate students in (empirical) software engineering, and software professionals working in development or quality assurance.
One of the most important reasons for the current intensity of interest in agent technology is that the concept of an agent, as an autonomous system capable of interacting with other agents in order to satisfy its design objectives, is a natural one for software designers. Just as we can understand many systems as being composed of essentially passive objects, which have a state and upon which we can perform operations, so we can understand many others as being made up of interacting semi-autonomous agents. This book brings together revised versions of papers presented at the First International Workshop on Agent-Oriented Software Engineering, AOSE 2000, held in Limerick, Ireland, in conjunction with ICSE 2000, and several invited papers. As a comprehensive and competent overview of agent-oriented software engineering, the book addresses software engineers interested in the new paradigm and technology as well as research and development professionals active in agent technology.
Addressing various aspects of object-oriented software techniques with respect to their impact on testing, this text argues that the testing of object-oriented software is not restricted to a single phase of software development. The book concentrates heavily on the testing of classes and of components or sub-systems, and a major part is devoted to this subject. C++ is used throughout this book that is intended for software practitioners, managers, researchers, students, or anyone interested in object-oriented technology and its impacts throughout the software engineering life-cycle.
This text helps the reader generate clear, effective documentation that is tailored to the information requirements of the end-user. Written for technical writers and their managers, quality assurance experts, and software engineers, the book describes a user-centered information design method (UCID) that should help ensure documentation conveys significant information for the user. The UCID shows how to: integrate the four major information components of a software system - user interface labels, messages, online and printed documentation; make sure these elements work together to improve usability; deploy iterative design and prototyping procedures that minimize flaws and save time and money; and guide technical writers effectively.
The Handbook of Research on Non-Functional Properties for Service-Oriented Systems: Future Directions unites different approaches and methods used to describe, map, and use non-functional properties and service level agreements. This handbook, which will be useful for both industry and academia, provides an overview of existing research and also sets clear directions for future work.
Object-oriented design methods are commonplace in computing systems development, but are often dismissed as 'boxes & arrows'. If systems developers are to gain full advantage from such methods, they should be able to achieve designs that are not merely the subject of heated argument, but can be improved by careful, rigorous & machine-supported analysis. This book describes an object-oriented design approach that combines the benefits of abstract modelling with the analytic power of formal methods, to give designs that can be rigorously validated & assured with automated support. Aimed at software architects, designers & developers as well as computer scientists, no prior knowledge of formal methods is assumed. The elements of functional modelling are introduced using numerous examples & exercises, industrial case studies & experience reports. Industry-strength tools support the text. Go to www.vdmbook.com to download free-of-charge VDMTools Lite, which gives the possibility to try out examples from the book
This book constitutes the thoroughly refereed post-conference proceedings of the 11th IFIP WG 6.11 Conference on e-Business, e-Services and e-Society, I3E 2011, held in Kaunas, Lithuania, in October 2011. The 25 revised papers presented were carefully reviewed and selected from numerous submissions. They are organized in the following topical sections: e-government and e-governance, e-services, digital goods and products, e-business process modeling and re-engineering, innovative e-business models and implementation, e-health and e-education, and innovative e-business models.
Research on real-time Java technology has been prolific over the past decade, leading to a large number of corresponding hardware and software solutions, and frameworks for distributed and embedded real-time Java systems. This book is aimed primarily at researchers in real-time embedded systems, particularly those who wish to understand the current state of the art in using Java in this domain. Much of the work in real-time distributed, embedded and real-time Java has focused on the Real-time Specification for Java (RTSJ) as the underlying base technology, and consequently many of the Chapters in this book address issues with, or solve problems using, this framework.Describes innovative techniques in: scheduling, memory management, quality of service and communication systems supporting real-time Java applications;Includes coverage of multiprocessor embedded systems and parallel programming;Discusses state-of-the-art resource management for embedded systems, including Java's real-time garbage collection and parallel collectors;Considers hardware support for the execution of Java programs including how programs can interact with functional accelerators;Includes coverage of Safety Critical Java for development of safety critical embedded systems."
Process calculi are among the most successful models of concurrent systems. Various behavior equivalences between processes are central notions in CCS (calculus of communicating systems) and other process calculi. In the real applications, specification and implementation are described as two processes, and correctness of programs is treated as a certain behavior equivalence between them. The purpose of this book is to establish a theory of approximate correctness and infinite evolution of concurrent programs by employing some notions and tools from point-set topology. This book is restricted to CCS for simplicity, but the main idea also applies to some other process calculi. The concept of bisimulation limits, useful for the understanding and analysis of infinite evolution of processes, is introduced. In addition, the notions of near bisimulations and bisimulation indexes, suitable in describing approximate correctness of concurrent programs, are proposed. The book will be of particular interest to researchers in the fields of theoretical computer science, especially theory of concurrency and hybrid systems, and graduate students in related disciplines. It will also be valuable to practical system designers developing concurrent and/or real-time systems.
This book presents the latest research findings and state-of-the-art solutions on optimization techniques and provides new research direction and developments. Both the theoretical and practical aspects of the book will be much beneficial to experts and students in optimization and operation research community. It selects high quality papers from The International Conference on Optimization: Techniques and Applications (ICOTA2013). The conference is an official conference series of POP (The Pacific Optimization Research Activity Group; there are over 500 active members). These state-of-the-art works in this book authored by recognized experts will make contributions to the development of optimization with its applications.
The book provides a platform for dealing with the flaws and failings of the soft computing paradigm through different manifestations. The different chapters highlight the necessity of the hybrid soft computing methodology in general with emphasis on several application perspectives in particular. Typical examples include (a) Study of Economic Load Dispatch by Various Hybrid Optimization Techniques, (b) An Application of Color Magnetic Resonance Brain Image Segmentation by Para Optimus LG Activation Function, (c) Hybrid Rough-PSO Approach in Remote Sensing Imagery Analysis, (d) A Study and Analysis of Hybrid Intelligent Techniques for Breast Cancer Detection using Breast Thermograms, and (e) Hybridization of 2D-3D Images for Human Face Recognition. The elaborate findings of the chapters enhance the exhibition of the hybrid soft computing paradigm in the field of intelligent computing.
Over the past two decades, software engineering has come a long way from object-based to object-oriented to component-based design and development. Invasive software composition is a new technique that unifies and extends recent software engineering concepts like generic programming, aspect-oriented development, architecture systems, or subject-oriented development. To improve reuse, this new method regards software components as grayboxes and integrates them during composition. Building on a minimal set of program transformations, composition operator libraries can be developed that parameterize, extend, connect, mediate, and aspect-weave components. The book is centered around the JAVA language and the freely available demonstrator library COMPOST. It provides a wealth of materials for researchers, students, and professional software architects alike.
Recent growth in knowledge management concepts has played a vital role in the improvement of organizational performance. These knowledge management approaches have been influential in achieving the goal of efficient production of software development processes. Knowledge-Based Processes in Software Development focuses on the inherent issues to help practitioners in gaining understanding of software development processes. The best practices highlighted in this publication will be essential to software professionals working in the industry as well as students and researchers in the domain of software engineering in order to successfully employ knowledge management procedures.
The growing demand for high quality, safety, and security of software systems can only be met by rigorous application of formal methods during software design. Tools for formal methods in general, however, do not provide a sufficient level of automatic processing. This book methodically investigates the potential of first-order logic automated theorem provers for applications in software engineering.Illustrated by complete case studies on verification of communication and security protocols and logic-based component reuse, the book characterizes proof tasks to allow an assessment of the provers capabilities. Necessary techniques and extensions, e.g., for handling inductive and modal proof tasks, or for controlling the prover, are covered in detail. The book demonstrates that state-of-the-art automated theorem provers are capable of automatically handling important tasks during the development of high-quality software and it provides many helpful techniques for increasing practical usability of the automated theorem prover for successful applications.
Basics of Software Engineering Experimentation is a practical guide to experimentation in a field which has long been underpinned by suppositions, assumptions, speculations and beliefs. It demonstrates to software engineers how Experimental Design and Analysis can be used to validate their beliefs and ideas. The book does not assume its readers have an in-depth knowledge of mathematics, specifying the conceptual essence of the techniques to use in the design and analysis of experiments and keeping the mathematical calculations clear and simple. Basics of Software Engineering Experimentation is practically oriented and is specially written for software engineers, all the examples being based on real and fictitious software engineering experiments.
Templates are used to generate all kinds of text, including computer code. The last decade, the use of templates gained a lot of popularity due to the increase of dynamic web applications. Templates are a tool for programmers, and implementations of template engines are most times based on practical experience rather than based on a theoretical background. This book reveals the mathematical background of templates and shows interesting findings for improving the practical use of templates. First, a framework to determine the necessary computational power for the template metalanguage is presented. The template metalanguage does not need to be Turing-complete to be useful. A non-Turing-complete metalanguage enforces separation of concerns between the view and model. Second, syntactical correctness of all languages of the templates and generated code is ensured. This includes the syntactical correctness of the template metalanguage and the output language. Third, case studies show that the achieved goals are applicable in practice. It is even shown that syntactical correctness helps to prevent cross-site scripting attacks in web applications. The target audience of this book is twofold. The first group exists of researcher interested in the mathematical background of templates. The second group exists of users of templates. This includes designers of template engines on one side and programmers and web designers using templates on the other side"
Problem solving is an essential part of every scientific discipline. It has two components: (1) problem identification and formulation, and (2) solution of the formulated problem. One can solve a problem on its own using ad hoc techniques or follow those techniques that have produced efficient solutions to similar problems. This requires the understanding of various algorithm design techniques, how and when to use them to formulate solutions and the context appropriate for each of them. This book advocates the study of algorithm design techniques by presenting most of the useful algorithm design techniques and illustrating them through numerous examples.
Many approaches have been proposed to enhance software productivity and reliability. These approaches typically fall into three categories: the engineering approach, the formal approach, and the knowledge-based approach. The optimal gain in software productivity cannot be obtained if one relies on only one of these approaches. Thus, the integration of different approaches has also become a major area of research. No approach can be said to be perfect if it fails to satisfy the following two criteria. Firstly, a good approach should support the full life cycle of software development. Secondly, a good approach should support the development of large-scale software for real use in many application domains. Such an approach can be referred to as a five-in-one approach. The authors of this book have, for the past eight years, conducted research in knowledge-based software engineering, of which the final goal is to develop a paradigm for software engineering which not only integrates the three approaches mentioned above, but also fulfils the two criteria on which the five-in-one approach is based. Domain Modeling- Based Software Engineering: A Formal Approach explores the results of this research. Domain Modeling-Based Software Engineering: A Formal Approach will be useful to researchers of knowledge-based software engineering, students and instructors of computer science, and software engineers who are working on large-scale projects of software development and want to use knowledge-based development methods in their work.
Advice involves recommendations on what to think; through thought, on what to choose; and via choices, on how to act. Advice is information that moves by communication, from advisors to the recipient of advice. Ivan Jureta offers a general way to analyze advice. The analysis applies regardless of what the advice is about and from whom it comes or to whom it needs to be given, and it concentrates on the production and consumption of advice independent of the field of application. It is made up of two intertwined parts, a conceptual analysis and an analysis of the rationale of advice. He premises that giving advice is a design problem and he treats advice as an artifact designed and used to influence decisions. What is unusual is the theoretical backdrop against which the author's discussions are set: ontology engineering, conceptual analysis, and artificial intelligence. While classical decision theory would be expected to play a key role, this is not the case here for one principal reason: the difficulty of having relevant numerical, quantitative estimates of probability and utility in most practical situations. Instead conceptual models and mathematical logic are the author's tools of choice. The book is primarily intended for graduate students and researchers of management science. They are offered a general method of analysis that applies to giving and receiving advice when the decision problems are not well structured, and when there is imprecise, unclear, incomplete, or conflicting qualitative information.
A practical step-by-step approach for improving the software development process within a company, using the Software Engineering Institute's Capability Maturity Model (CMM). The text explains common misconceptions associated with Software Business Improvement and CMM, using real-world examples. The book includes a reference table of key software metrics, which: help the reader evaluate measurements in relation to the functioning of his/her organisation; direct the software development to achieve higher levels of CMM in a timely manner; link measurement techniques to specific KPAs in a practical manner; and improve software process definition and improvement techniques with CMM as a guideline.
Since the early 1990s, genetic programming (GP) a discipline whose
goal is to enable the automatic generation of computer programs has
emerged as one of the most promising paradigms for fast, productive
software development. GP combines biological metaphors gleaned from
Darwin's theory of evolution with computer-science approaches drawn
from the field of machine learning to create programs that are
capable of adapting or recreating themselves for open-ended tasks.
The purpose of the 11th International Conference on Software Engineering Research, Management and Applications (SERA 2013) held on August 7 - 9, 2012 in Prague, Czech Republic was to bring together scientists, engineers, computer users, and students to share their experiences and exchange new ideas and research results about all aspects (theory, applications and tools) of Software Engineering Research, Management and Applications, and to discuss the practical challenges encountered along the way and the solutions adopted to solve them. The conference organizers selected 17 outstanding papers from those papers accepted for presentation at the conference in order to publish them in this volume. The papers were chosen based on review scores submitted by members of the program committee, and further rigorous rounds of review.
The book provides the reader with a clear understanding of what software reuse is, where the problems are, what benefits to expect, the activities, and different forms of software reuse. The reader is also given an overview of what sofware components are, different kinds of components and compositions, a taxonomy thereof, and examples of successful component reuse. An introduction to software engineering and software process models is also provided. Consequences and influences of systematic reuse of software components are depicted, and activities like domain engineering, component engineering and application engineering are described. The importance of documentation is taken into consideration as well. |
You may like...
Probabilistic Nodes Combination (PNC…
Dariusz Jacek Jakobczak
Hardcover
R4,406
Discovery Miles 44 060
Data Structures and Abstractions with…
Timothy Henry, Frank Carrano
Paperback
R2,394
Discovery Miles 23 940
Java Pocket Guide, 4e - Instant Help for…
Robert Liguori, Patricia Liguori
Paperback
R456
Discovery Miles 4 560
|