![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
While standardization has empowered the software industry to substantially scale software development and to provide affordable software to a broad market, it often does not address smaller market segments, nor the needs and wishes of individual customers. Software product lines reconcile mass production and standardization with mass customization in software engineering. Ideally, based on a set of reusable parts, a software manufacturer can generate a software product based on the requirements of its customer. The concept of features is central to achieving this level of automation, because features bridge the gap between the requirements the customer has and the functionality a product provides. Thus features are a central concept in all phases of product-line development. The authors take a developer's viewpoint, focus on the development, maintenance, and implementation of product-line variability, and especially concentrate on automated product derivation based on a user's feature selection. The book consists of three parts. Part I provides a general introduction to feature-oriented software product lines, describing the product-line approach and introducing the product-line development process with its two elements of domain and application engineering. The pivotal part II covers a wide variety of implementation techniques including design patterns, frameworks, components, feature-oriented programming, and aspect-oriented programming, as well as tool-based approaches including preprocessors, build systems, version-control systems, and virtual separation of concerns. Finally, part III is devoted to advanced topics related to feature-oriented product lines like refactoring, feature interaction, and analysis tools specific to product lines. In addition, an appendix lists various helpful tools for software product-line development, along with a description of how they relate to the topics covered in this book. To tie the book together, the authors use two running examples that are well documented in the product-line literature: data management for embedded systems, and variations of graph data structures. They start every chapter by explicitly stating the respective learning goals and finish it with a set of exercises; additional teaching material is also available online. All these features make the book ideally suited for teaching - both for academic classes and for professionals interested in self-study.
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.
Environmental Informatics is a fast growing field which deals with all methods from computer science, environmental planning, ecology and related subjects. As well as being an interdisciplinary area, Environmental Informatics provides an interface between all involved professional groups. Monitoring the state of the environment, analysing existing data, presenting the data to scientists and the public, as well as providing decision support are only some of the topics involved. Environmental Informatics is therefore a good foundation for the computer-assisted protection of the environment.
Proceedings of the 2012 International Conference on Information Technology and Software Engineering presents selected articles from this major event, which was held in Beijing, December 8-10, 2012. This book presents the latest research trends, methods and experimental results in the fields of information technology and software engineering, covering various state-of-the-art research theories and approaches. The subjects range from intelligent computing to information processing, software engineering, Web, unified modeling language (UML), multimedia, communication technologies, system identification, graphics and visualizing, etc. The proceedings provide a major interdisciplinary forum for researchers and engineers to present the most innovative studies and advances, which can serve as an excellent reference work for researchers and graduate students working on information technology and software engineering. Prof. Wei Lu, Dr. Guoqiang Cai, Prof. Weibin Liu and Dr. Weiwei Xing all work at Beijing Jiaotong University.
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.
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.
Management and enables them to deal with the demands and complexities of modern, agile systems/software/hardware development teams. The book examines the project/program manager beyond the concepts of leadership and aims to connect to employees' sense of identity. The text examines human psychological concepts such as "locus of control," which will help the manager understand their team members' view and how best to manage their "world" contributions. The authors cover new management tools and philosophies for agile systems/software/hardware development teams, with a specific focus on how this relates to engineering and computer science. This book also includes practical case studies. Discusses management skills needed as they relate to the advances in software development practices Examines how to manage an agile development team that includes teams across geographically, ethnically, and culturally diverse backgrounds Embraces all of the aspects of modern management and leadership
Edsger Wybe Dijkstra (1930-2002) was one of the most influential researchers in the history of computer science, making fundamental contributions to both the theory and practice of computing. Early in his career, he proposed the single-source shortest path algorithm, now commonly referred to as Dijkstra's algorithm. He wrote (with Jaap Zonneveld) the first ALGOL 60 compiler, and designed and implemented with his colleagues the influential THE operating system. Dijkstra invented the field of concurrent algorithms, with concepts such as mutual exclusion, deadlock detection, and synchronization. A prolific writer and forceful proponent of the concept of structured programming, he convincingly argued against the use of the Go To statement. In 1972 he was awarded the ACM Turing Award for "fundamental contributions to programming as a high, intellectual challenge; for eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; for illuminating perception of problems at the foundations of program design." Subsequently he invented the concept of self-stabilization relevant to fault-tolerant computing. He also devised an elegant language for nondeterministic programming and its weakest precondition semantics, featured in his influential 1976 book A Discipline of Programming in which he advocated the development of programs in concert with their correctness proofs. In the later stages of his life, he devoted much attention to the development and presentation of mathematical proofs, providing further support to his long-held view that the programming process should be viewed as a mathematical activity. In this unique new book, 31 computer scientists, including five recipients of the Turing Award, present and discuss Dijkstra's numerous contributions to computing science and assess their impact. Several authors knew Dijkstra as a friend, teacher, lecturer, or colleague. Their biographical essays and tributes provide a fascinating multi-author picture of Dijkstra, from the early days of his career up to the end of his life.
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 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.
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".
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.
How do you build a product that delights users? You must first know who your users are and how they plan to use what you're building. With this practical book, you'll explore the often-misunderstood practice of user story mapping, and learn how it can help keep your team stay focused on users and their experience throughout the development process. You and your team will learn that user stories aren't a way to write better specifications, but a way to organize and have better conversations. This book will help you understand what kinds of conversations you should be having, when to have them, and what to keep track of when you do.Learn the key concepts used to create a great story mapUnderstand how user stories really work, and how to make good use of them in agile and lean projectsExamine the nuts and bolts of managing stories through the development cycleUse strategies that help you continue to learn before and after the product's release to customers and users "User Story Mapping" is ideal for agile and lean software development team members, product managers and UX practitioners in commercial product companies, and business analysts and project managers in IT organizations--whether you're new to this approach or want to understand more about it.
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.
With recent advances in natural language understanding techniques and far-field microphone arrays, natural language interfaces, such as voice assistants and chatbots, are emerging as a popular new way to interact with computers. They have made their way out of the industry research labs and into the pockets, desktops, cars and living rooms of the general public. But although such interfaces recognize bits of natural language, and even voice input, they generally lack conversational competence, or the ability to engage in natural conversation. Today's platforms provide sophisticated tools for analyzing language and retrieving knowledge, but they fail to provide adequate support for modeling interaction. The user experience (UX) designer or software developer must figure out how a human conversation is organized, usually relying on commonsense rather than on formal knowledge. Fortunately, practitioners can rely on conversation science. This book adapts formal knowledge from the field of Conversation Analysis (CA) to the design of natural language interfaces. It outlines the Natural Conversation Framework (NCF), developed at IBM Research, a systematic framework for designing interfaces that work like natural conversation. The NCF consists of four main components: 1) an interaction model of "expandable sequences," 2) a corresponding content format, 3) a pattern language with 100 generic UX patterns and 4) a navigation method of six basic user actions. The authors introduce UX designers to a new way of thinking about user experience design in the context of conversational interfaces, including a new vocabulary, new principles and new interaction patterns. User experience designers and graduate students in the HCI field as well as developers and conversation analysis students should find this book of interest.
The heart of any system that simulates the physical interaction
between objects is collision detection-the ability to detect when
two objects have come into contact. This system is also one of the
most difficult aspects of a physical simulation to implement
correctly, and invariably it is the main consumer of CPU cycles.
Practitioners, new to the field or otherwise, quickly discover that
the attempt to build a fast, accurate, and robust collision
detection system takes them down a long path fraught with perils
and pitfalls unlike most they have ever encountered. Without
in-depth knowledge and understanding of the issues associated with
engineering a collision detection system, the end of that path is
an abyss that has swallowed many a good programmer!
This book constitutes the refereed post-conference proceedings of the 17th IFIP WG 5.1 International Conference on Product Lifecycle Management, PLM 2020, held in Rapperswil, Switzerland, in July 2020. The conference was held virtually due to the COVID-19 crisis. The 60 revised full papers presented together with 2 technical industrial papers were carefully reviewed and selected from 80 submissions. The papers are organized in the following topical sections: smart factory; digital twins; Internet of Things (IoT, IIoT); analytics in the order fulfillment process; ontologies for interoperability; tools to support early design phases; new product development; business models; circular economy; maturity implementation and adoption; model based systems engineering; artificial intelligence in CAx, MBE, and PLM; building information modelling; and industrial technical contributions.
Poor performance is one of the main quality-related shortcomings that cause software projects to fail. Thus, the need to address performance concerns early during the software development process is fully acknowledged, and there is a growing interest in the research and software industry communities towards techniques, methods and tools that permit to manage system performance concerns as an integral part of software engineering. Model-based software performance analysis introduces performance concerns in the scope of software modeling, thus allowing the developer to carry on performance analysis throughout the software lifecycle. With this book, Cortellessa, Di Marco and Inverardi provide the cross-knowledge that allows developers to tackle software performance issues from the very early phases of software development. They explain the basic concepts of performance analysis and describe the most representative methodologies used to annotate and transform software models into performance models. To this end, they go all the way from performance primers through software and performance modeling notations to the latest transformation-based methodologies. As a result, their book is a self-contained reference text on software performance engineering, from which different target groups will benefit: professional software engineers and graduate students in software engineering will learn both basic concepts of performance modeling and new methodologies; while performance specialists will find out how to investigate software performance model building.
This book fills the critical need for an in-depth technical reference providing the methods and techniques for building and maintaining confidence in many varities of system software. The intent is to help develop reliable answers to such critical questions as: 1) Are we building the right software for the need? and 2) Are we building the software right? Software Verification and Validation: An Engineering and Scientific Approach is structured for research scientists and practitioners in industry. The book is also suitable as a secondary textbook for advanced-level students in computer science and engineering. |
![]() ![]() You may like...
Advances in 3D Image and Graphics…
Roumen Kountchev, Srikanta Patnaik, …
Hardcover
R5,681
Discovery Miles 56 810
Advances in Smart Communication and…
Rajeev Agrawal, Chandramani Kishore Singh, …
Hardcover
R10,475
Discovery Miles 104 750
Visual Signal Quality Assessment…
Chenwei Deng, Lin Ma, …
Hardcover
Silicon Photonics, Volume 99
Chennupati Jagadish, Sebastian Lourdudoss, …
Hardcover
R5,545
Discovery Miles 55 450
Imaging Spectroscopy for Scene Analysis
Antonio Robles-Kelly, Cong Phuoc Huynh
Hardcover
|