![]() |
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
Software product lines are emerging as a critical new paradigm for software development. Product lines are enabling organizations to achieve impressive time-to-market gains and cost reductions. With the increasing number of product lines and product-line researchers and practitioners, the time is right for a comprehensive examination of the issues surrounding the software product line approach. The Software Engineering Institute at Carnegie Mellon University is proud to sponsor the first conference on this important subject. This book comprises the proceedings of the First Software Product Line Conference (SPLC1), held August 28-31, 2000, in Denver, Colorado, USA. The twenty-seven papers of the conference technical program present research results and experience reports that cover all aspects of software product lines. Topics include business issues, enabling technologies, organizational issues, and life-cycle issues. Emphasis is placed on experiences in the development and fielding of product lines of complex systems, especially those that expose problems in the design, development, or evolution of software product lines. The book will be essential reading for researchers and practitioners alike.
Scientific applications involve very large computations that strain the resources of whatever computers are available. Such computations implement sophisticated mathematics, require deep scientific knowledge, depend on subtle interplay of different approximations, and may be subject to instabilities and sensitivity to external input. Software able to succeed in this domain invariably embeds significant domain knowledge that should be tapped for future use. Unfortunately, most existing scientific software is designed in an ad hoc way, resulting in monolithic codes understood by only a few developers. Software architecture refers to the way software is structured to promote objectives such as reusability, maintainability, extensibility, and feasibility of independent implementation. Such issues have become increasingly important in the scientific domain, as software gets larger and more complex, constructed by teams of people, and evolved over decades. In the context of scientific computation, the challenge facing mathematical software practitioners is to design, develop, and supply computational components which deliver these objectives when embedded in end-user application codes. The Architecture of Scientific Software addresses emerging methodologies and tools for the rational design of scientific software, including component integration frameworks, network-based computing, formal methods of abstraction, application programmer interface design, and the role of object-oriented languages. This book comprises the proceedings of the International Federation for Information Processing (IFIP) Conference on the Architecture of Scientific Software, which was held in Ottawa, Canada, in October 2000. It will prove invaluable reading for developers of scientific software, as well as for researchers in computational sciences and engineering.
With the increasing proliferation of information-technology and, especially, Web-based approaches to the implementation of systems and services, researchers, educators, and practitioners worldwide are experiencing a rising need for authoritative references to enhance their understanding of the most current and effective engineering practices leading to robust and successful solutions.""Integrated Approaches in Information Technology and Web Engineering: Advancing Organizational Knowledge Sharing"" presents comprehensive, research-driven insights into the field of Web engineering. This book collects over 30 authoritative articles from distinguished international researchers in information technology and Web engineering, creating an invaluable resource for library reference collections that will equip researchers and practitioners in academia and industry alike with the knowledge base to drive the next generation of innovations.
Take the pain out of managing serverless applications. Knative, a collection of Kubernetes extensions curated by Google, simplifies building and running serverless systems. Knative in Action guides you through the Knative toolkit, showing you how to launch, modify, and monitor event-based apps built using cloud-hosted functions like AWS Lambda. You'll learn how to use Knative Serving to develop software that is easily deployed and autoscaled, how to use Knative Eventing to wire together disparate systems into a consistent whole, and how to integrate Knative into your shipping pipeline. about the technologyWith Knative, managing a serverless application's full lifecycle is a snap. Knative builds on Kubernetes orchestration features, making it easy to deploy and run serverless apps. It handles low-level chores-such as starting and stopping instances-so you can concentrate on features and behavior. about the book Knative in Action teaches you to build complex and efficient serverless applications. You'll dive into Knative's unique design principles and grasp cloud native concepts like handling latency-sensitive workloads. You'll deliver updates with Knative Serving and interlink apps, services, and systems with Knative Eventing. To keep you moving forward, every example includes deployment advice and tips for debugging. what's inside Deploy a service with Knative Serving Connect systems with Knative Eventing Autoscale responses for different traffic surges Develop, ship, and operate software about the readerFor software developers comfortable with CLI tools and an OO language like Java or Go. about the author Jacques Chester has worked in Pivotal and VMWare R&D since 2014, contributing to Knative and other projects.
This book presents a coherent description of the theoretical and practical aspects of Coloured Petri Nets (CP-nets or CPN). It shows how CP-nets have been de veloped - from being a promising theoretical model to being a full-fledged lan guage for the design, specification, simulation, validation and implementation of large software systems (and other systems in which human beings and/or com puters communicate by means of some more or less formal rules). The book contains the formal definition of CP-nets and the mathematical theory behind their analysis methods. However, it has been the intention to write the book in such a way that it also becomes attractive to readers who are more interested in applications than the underlying mathematics. This means that a large part of the book is written in a style which is closer to an engineering textbook (or a users' manual) than it is to a typical textbook in theoretical computer science. The book consists of three separate volumes. The first volume defines the net model (i. e. , hierarchical CP-nets) and the basic concepts (e. g. , the different behavioural properties such as deadlocks, fair ness and home markings). It gives a detailed presentation of many small exam ples and a brief overview of some industrial applications. It introduces the for mal analysis methods. Finally, it contains a description of a set of CPN tools which support the practical use of CP-nets.
This book draws new attention to domain-specific conceptual modeling by presenting the work of thought leaders who have designed and deployed specific modeling methods. It provides hands-on guidance on how to build models in a particular domain, such as requirements engineering, business process modeling or enterprise architecture. In addition to these results, it also puts forward ideas for future developments. All this is enriched with exercises, case studies, detailed references and further related information. All domain-specific methods described in this volume also have a tool implementation within the OMiLAB Collaborative Environment - a dedicated research and experimentation space for modeling method engineering at the University of Vienna, Austria - making these advances accessible to a wider community of further developers and users. The collection of works presented here will benefit experts and practitioners from academia and industry alike, including members of the conceptual modeling community as well as lecturers and students.
Engineering tasks are supposed to achieve defined goals under certain project constraints. Example goals of software engineering tasks include achieving a certain functionality together with some level of reliability or performance. Example constraints of software engineering tasks include budget and time limitations or experience limitations of the developers at hand. Planning of an engineering project requires the selection of techniques, methods and tools suited to achieve stated goals under given project constraints. This assumes sufficient knowledge regarding the process-product relationships (or effects) of candidate techniques, methods and tools. Planning of software projects suffers greatly from lack of knowledge regarding the process-product relationships of candidate techniques, methods and tools. Especially in the area of testing a project planner is confronted with an abundance of testing techniques, but very little knowledge regarding their effects under varying project conditions. This book offers a novel approach to addressing this problem: First, based on a comprehensive initial characterization scheme (see chapter 7) an overview of existing testing techniques and their effects under varying conditions is provided to guide the selection of testing approaches. Second, the optimisation of this knowledge base is suggested based on experience from experts, real projects and scientific experiments (chapters 8, 9, and 10). This book is of equal interest to practitioners, researchers and students. Practitioners interested in identifying ways to organize their company-specific knowledge about testing could start with the schema provided in this book, and optimise it further by applying similar strategies as offered in chapters 8 and 9.
Software testing is traditionally seen as a difficult and time consuming activity that is hard to embed in the software development process. This book provides a different view. It explains to stakeholders how testing can add value to software development and doing business, and provides the tester with practical information. TestGoal is not just another methodology. Several good testing methodologies exist. But, like any other profession, also testing encompasses more than the simple application of a methodology. After all, strict adherence to a specific methodology is no guarantee for success. Success stems from the mindset, enthusiasm, knowledge and skill of the tester. These factors determine whether a methodology is applied successfully and whether testing takes on a result-driven character. And that's what TestGoal is about: a result-driven attitude, testing principles and expertise as fundament, and a hands-on six step plan to enable result driven testing. Derk-Jan de Grood and his colleagues from Collis, an international software testing company, know about the main pitfalls in test projects from their extensive professional experience. TestGoal has emerged from the office floor and captures over a decade of best practice. TestGoal is made by professionals for professionals, and it combines the mindset, knowledge, and skills required to add value with testing and make software development more successful. This book explains in a clear language how you can make testing result-driven. It explains why testing is important and describes all of the activities involved in testing. It is enriched with recognizable examples, practical tips and useful checklists. This makes it a "GO kit" that enables testers to immediately get started and add value to their organization.
This book presents real-world decision support systems, i.e., systems that have been running for some time and as such have been tested in real environments and complex situations; the cases are from various application domains and highlight the best practices in each stage of the system's life cycle, from the initial requirements analysis and design phases to the final stages of the project. Each chapter provides decision-makers with recommendations and insights into lessons learned so that failures can be avoided and successes repeated. For this reason unsuccessful cases, which at some point of their life cycle were deemed as failures for one reason or another, are also included. All decision support systems are presented in a constructive, coherent and deductive manner to enhance the learning effect. It complements the many works that focus on theoretical aspects or individual module design and development by offering 'good' and 'bad' practices when developing and using decision support systems. Combining high-quality research with real-world implementations, it is of interest to researchers and professionals in industry alike.
To achieve consistent software project success under the pressures of today's software development environment, software organizations require achievable plans including viable estimates of schedule, resources, and risks. To estimate realistically, you must understand how to apply sound estimation processes, tools, and data. Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves is a practical, hands-on discussion of the software estimation, planning, and control process. This includes critical factors that impact estimates, methods for selecting and applying appropriate measures to projects, proper software sizing, and processes to identify and manage risk. The authors use their expertise in sizing, estimation, process engineering, and risk management to clearly demonstrate problems that make many estimates crumble and solutions that provide successful project plans. The book offers insight not available anywhere else, enabling you to recognize and avoid downstream impacts resulting from poor estimates.
This book presents a comprehensive survey of the Vesta system for software configuration management (SCM). Vesta, unlike other SCM systems, is specifically designed to handle very large software projects comprising tens of millions of lines of code and beyond. Researchers in the field of software engineering and specialists in the construction of software development tools will especially benefit from this work, but it will also appeal to those responsible for designing and deploying configuration management solutions for large software systems. Three important but hard-to-achieve properties lie at the heart of Vesta's unique approach to software configuration management: Every build is repeatable Every build is incremental Every build is consistent To realize these properties in a practical SCM system, Vesta provides a novel repository to store the versions of the files that make up an evolving software system and a flexible language for writing modular configuration descriptions that define how the system is put together. This book explains in depth these facilities and the suite of tools that supports them, together with a methodology for applying them in practice. Readers who seek more information about Vesta may download the entire system as well as other publications, reference documents, and user documentation from the Vesta home page at http: //www.vestasys.org.
Updated to cover UML 2.0, this student textbook provides a practical understanding of software design and development using UML. Case studies are used to illustrate good practice.
A wide range of modern computer applications require the performance and flexibility of parallel and distributed systems. Better software support is required if the technical advances in these systems are to be fully exploited by commerce and industry. This involves the provision of specialised techniques and tools as well as the integration of standard software engineering methods. This book will reflect current advances in this area, and will address issues of theory and practice with contributions from academia and industry. It is the aim of the book to provide a focus for information on this developing which will be of use to both researchers and practitioners.
Software engineering research can trace its roots to a few highly influential individuals. Among that select group is Leon J. Osterweil, who has been a major force in driving software engineering from its infancy to its modern reality. For more than three decades, Prof. Osterweil's work has fundamentally defined or significantly impacted major directions in software analysis, development tools and environments, and software process--all critical parts of software engineering as it is practiced today. His exceptional contributions to the field have been recognized with numerous awards and honors through his career, including the ACM SIGSOFT Outstanding Research Award, in recognition of his extensive and sustained research impact, and the ACM SIGSOFT Influential Educator Award, in recognition of his career-long achievements as an educator and mentor. In honor of Prof. Osterweil's profound accomplishments, this book was prepared for a special honorary event held during the 2011 International Conference on Software Engineering (ICSE). It contains some of his most important published works to date, together with several new articles written by leading authorities in the field, exploring the broad impact of his work in the past and how it will further impact software engineering research in the future. These papers, part of the core software engineering legacy and now available in one commented volume for the first time, are grouped into three sections: flow analysis for software dependability, the software lifecycle, and software process.
Software testing is rapidly evolving as a critical sub-discipline of software engineering. The industry needs professionals educated in the modern methods and tools of software testing and quality assurance. Based on the needs of software professionals, "Practical Software Testing" takes a unique approach to teaching readers how to effectively plan for testing, design test cases, test at multiple levels, organize a testing team, and optimize use of testing tools. It introduces testing concepts that are managerial-, technical-, and process-oriented, using the Testing Maturity Model (TMM) as a framework. Features: *includes a sample test plan, comprehensive exercises, and definitions for software testing and quality *introduces both technical and managerial aspects of testing in a clear and precise style, for integrated learning *balanced perspective and comprehensive view of all testing aspects *uses the TMM framework to introduce testing in a systematic, evolutionary way, and describes industrial TMM applications *covers testing topics with either procedurally based or object-oriented programming code With its accessible, practical, and well-focused framework, this new resource provides an integrated presentation of software-testing processes and practices. Professionals and practitioners in software testing, software quality assurance, or software validation and verification will benefit greatly from using this essential resource.
Voice recognition is here at last. Alexa and other voice assistants have now become widespread and mainstream. Is your app ready for voice interaction? Learn how to develop your own voice applications for Amazon Alexa. Start with techniques for building conversational user interfaces and dialog management. Integrate with existing applications and visual interfaces to complement voice-first applications. The future of human-computer interaction is voice, and we'll help you get ready for it. For decades, voice-enabled computers have only existed in the realm of science fiction. But now the Alexa Skills Kit (ASK) lets you develop your own voice-first applications. Leverage ASK to create engaging and natural user interfaces for your applications, enabling them to listen to users and talk back. You'll see how to use voice and sound as first-class components of user-interface design. We'll start with the essentials of building Alexa voice applications, called skills, including useful tools for creating, testing, and deploying your skills. From there, you can define parameters and dialogs that will prompt users for input in a natural, conversational style. Integrate your Alexa skills with Amazon services and other backend services to create a custom user experience. Discover how to tailor Alexa's voice and language to create more engaging responses and speak in the user's own language. Complement the voice-first experience with visual interfaces for users on screen-based devices. Add options for users to buy upgrades or other products from your application. Once all the pieces are in place, learn how to publish your Alexa skill for everyone to use. Create the future of user interfaces using the Alexa Skills Kit today. What You Need: You will need a computer capable of running the latest version of Node.js, a Git client, and internet access.
The use of cyber-physical systems in recent computing, communication, and control methods to design and operate intelligent and autonomous systems using cutting-edge technologies has led to many advances. By studying emerging trends in these systems, programming techniques can be optimized and strengthened to create a higher level of effectiveness. Cyber-Physical Systems for Next-Generation Networks provides emerging research on using cyber-physical systems (CPS) as a method to control design and operation of intelligent systems through next-generation networks. While highlighting issues such as increasing CPS complexity due to components within physical and industrial systems, this publication explores information on real-time sensing, reasoning, and adaptation for cyber-physical systems while gaining an understanding of evolutionary computing for it. This book is a valuable resource for engineers, academicians, researchers, and graduate-level students seeking current research on CPS in cutting-edge technologies.
On behalf of the Organizing Committee for this event, we are glad to welcome you to IWASE 2006, the First International Workshop on Advanced Software Engineering. We hope you will enjoy the traditional Chilean hospitality and, of course, please tell us how we can make your visit a pleasant and useful experience. The goal of this Workshop is to create a new forum for researchers, professionals and educators to discuss advanced software engineering topics. A distinctive feature of this Workshop is its attempt to foster interactions between the Latin-American software engineering community and computer scientists around the world. This is an opportunity to discuss with other researchers or simply to meet new colleagues. IWASE 2006 has been organized to facilitate strong interactions among those attending it and to offer ample time for discussing each paper. IWASE 2006 attracted 28 submissions from 14 countries, 8 of them outside Latin-America. Each of the 28 articles was reviewed by at least three members of the Program Committee. As a result of this rigorous reviewing process, 13 papers were accepted: nine fiill papers and four work-in-progress papers. These papers were grouped in four tracks; software architecture, software modeling, software development process and experiences in software development.
Soft computing is playing an increasing role in the study of complex systems in science and engineering. There is a large spectrum of successful applications of soft computing in very different applications domains such as aerospace, communication, consumer appliances, electric power systems, process engineering, transportation, and manufacturing automation and robotics. It has taken a while to bring the early ideas of soft computing to an area and a discipline that seems to be more than appropriate for that. Here it is! This book studies SOFT computing in SOFTware engineering environment. The book is HARD in terms of its results. It covers a range of core topics from software engineering that are soft from its very nature: selection of components, software design, software reuse, software cost estimation and software processes. Soft computing differs from conventional (hard) computing in its ability to be tolerant of imprecision, uncertainty, partial truth, and approximation. The guiding principle of soft computing is: Exploit the tolerance for imprecision, uncertainty, partial truth, and approximation to achieve tractability, robustness and low solution cost. The role model for soft computing is the human mind. This seems to be a natural fit with software engineering, a human-based development activity based on sound engineering principles. A recent survey by researchers reveals that "Software Engineering research tends to be quite self-contained, not relying on other disciplines for its thinking".
This updated and reorganized Fifth edition of Software Testing: A Craftsman's Approach continues to be a valuable reference for software testers, developers, and engineers, by applying the strong mathematics content of previous editions to a coherent treatment of software testing. Responding to instructor and student survey input, the authors have streamlined chapters and examples. The Fifth Edition: Has a new chapter on feature interaction testing that explores the feature interaction problem and explains how to reduce tests Uses Java instead of pseudo-code for all examples including structured and object-oriented ones Presents model-based development and provides an explanation of how to conduct testing within model-based development environments Explains testing in waterfall, iterative, and agile software development projects Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing Thoroughly revised and updated, Software Testing: A Craftsman's Approach, Fifth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing.
Software engineering has advanced rapidly in recent years in parallel with the complexity and scale of software systems. New requirements in software systems yield innovative approaches that are developed either through introducing new paradigms or extending the capabilities of well-established approaches. Modern Software Engineering Concepts and Practices: Advanced Approaches provides emerging theoretical approaches and their practices. This book includes case studies and real-world practices and presents a range of advanced approaches to reflect various perspectives in the discipline.
Requirements engineering is one of the most complex and at the same time most crucial aspects of software engineering. It typically involves different stakeholders with different backgrounds. Constant changes in both the problem and the solution domain make the work of the stakeholders extremely dynamic. New problems are discovered, additional information is needed, alternative solutions are proposed, several options are evaluated, and new hands-on experience is gained on a daily basis. The knowledge needed to define and implement requirements is immense, often interdisciplinary and constantly expanding. It typically includes engineering, management and collaboration information, as well as psychological aspects and best practices. This book discusses systematic means for managing requirements knowledge and its owners as valuable assets. It focuses on potentials and benefits of "lightweight," modern knowledge technologies such as semantic Wikis, machine learning, and recommender systems applied to requirements engineering. The 17 chapters are authored by some of the most renowned researchers in the field, distilling the discussions held over the last five years at the MARK workshop series. They present novel ideas, emerging methodologies, frameworks, tools and key industrial experience in capturing, representing, sharing, and reusing knowledge in requirements engineering. While the book primarily addresses researchers and graduate students, practitioners will also benefit from the reports and approaches presented in this comprehensive work. |
You may like...
Business Math Using Excel (R)
Sharon Burton, Nelda Shelton
Spiral bound
Recent Progress and Modern Challenges in…
Roderick Melnik, Roman Makarov, …
Hardcover
R3,888
Discovery Miles 38 880
Artificial Intelligence for Signal…
Abhinav Sharma, Arpit Jain, …
Hardcover
R4,233
Discovery Miles 42 330
Mathematical Models, Methods and…
Abul Hasan Siddiqi, Pammy Manchanda, …
Hardcover
R3,423
Discovery Miles 34 230
Time and Relational Theory - Temporal…
C.J. Date, Hugh Darwen, …
Paperback
R1,244
Discovery Miles 12 440
|