![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
Software Engineering: A Methodical Approach (Second Edition) provides a comprehensive, but concise introduction to software engineering. It adopts a methodical approach to solving software engineering problems, proven over several years of teaching, with outstanding results. The book covers concepts, principles, design, construction, implementation, and management issues of software engineering. Each chapter is organized systematically into brief, reader-friendly sections, with itemization of the important points to be remembered. Diagrams and illustrations also sum up the salient points to enhance learning. Additionally, the book includes the author's original methodologies that add clarity and creativity to the software engineering experience. New in the Second Edition are chapters on software engineering projects, management support systems, software engineering frameworks and patterns as a significant building block for the design and construction of contemporary software systems, and emerging software engineering frontiers. The text starts with an introduction of software engineering and the role of the software engineer. The following chapters examine in-depth software analysis, design, development, implementation, and management. Covering object-oriented methodologies and the principles of object-oriented information engineering, the book reinforces an object-oriented approach to the early phases of the software development life cycle. It covers various diagramming techniques and emphasizes object classification and object behavior. The text features comprehensive treatments of: Project management aids that are commonly used in software engineering An overview of the software design phase, including a discussion of the software design process, design strategies, architectural design, interface design, database design, and design and development standards User interface design Operations design Design considerations including system catalog, product documentation, user message management, design for real-time software, design for reuse, system security, and the agile effect Human resource management from a software engineering perspective Software economics Software implementation issues that range from operating environments to the marketing of software Software maintenance, legacy systems, and re-engineering This textbook can be used as a one-semester or two-semester course in software engineering, augmented with an appropriate CASE or RAD tool. It emphasizes a practical, methodical approach to software engineering, avoiding an overkill of theoretical calculations where possible. The primary objective is to help students gain a solid grasp of the activities in the software development life cycle to be confident about taking on new software engineering projects.
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.
Microservices architecture (MSA) is increasingly popular with software architects and engineers as it accelerates software solution design, development, and deployment in a risk-free manner. Placing a software system into a production environment is elegantly simplified and sped up with the use of MSA development platforms, runtime environments, acceleration engines, design patterns, integrated frameworks, and related tools. The MSA ecosystem is expanding with third-party products that automate as many tasks as possible. MSA is being positioned as the enterprise-grade and agile-application design method. This book covers in-depth the features and facilities that make up the MSA ecosystem. Beginning with an overview of Service-Oriented Architecture (SOA) that covers the Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM), and Remote Method Invocation (RMI), the book explains the basic essentials of MSA and the continuous delivery of applications to customers. The book gives software developers insight into: Current and emerging communication models Key architectural elements of MSA-based applications Designing efficient APIs for microservices MSA middleware platforms such as REST, SOAP, Apache Thrift, and gRPC Microservice discovery and the API gateway Service orchestration and choreography for composing individual services to achieve a useful business process Database transactions in MSA-centric applications Design, composition, security, and deployment patterns MSA security Modernizing legacy applications The book concludes with a chapter on composing and building powerful microservices. With the exponential growth of IoT devices, microservices are being developed and deployed on resource-constrained but resource-intensive devices in order to provide people-centric applications. The book discusses the challenges of these applications. Finally, the book looks at the role of microservices in smart environments and upcoming trends including ubiquitous yet disappearing microservices.
This book addresses the challenges in the software engineering of variability-intensive systems. Variability-intensive systems can support different usage scenarios by accommodating different and unforeseen features and qualities. The book features academic and industrial contributions that discuss the challenges in developing, maintaining and evolving systems, cloud and mobile services for variability-intensive software systems and the scalability requirements they imply. The book explores software engineering approaches that can efficiently deal with variability-intensive systems as well as applications and use cases benefiting from variability-intensive systems.
"... an engaging book that will empower readers in both large and small software development and engineering organizations to build security into their products. ... Readers are armed with firm solutions for the fight against cyber threats."-Dr. Dena Haritos Tsamitis. Carnegie Mellon University"... a must read for security specialists, software developers and software engineers. ... should be part of every security professional's library." -Dr. Larry Ponemon, Ponemon Institute"... the definitive how-to guide for software security professionals. Dr. Ransome, Anmol Misra, and Brook Schoenfield deftly outline the procedures and policies needed to integrate real security into the software development process. ...A must-have for anyone on the front lines of the Cyber War ..." -Cedric Leighton, Colonel, USAF (Ret.), Cedric Leighton Associates"Dr. Ransome, Anmol Misra, and Brook Schoenfield give you a magic formula in this book - the methodology and process to build security into the entire software development life cycle so that the software is secured at the source! "-Eric S. Yuan, Zoom Video CommunicationsThere is much publicity regarding network security, but the real cyber Achilles' heel is insecure software. Millions of software vulnerabilities create a cyber house of cards, in which we conduct our digital lives. In response, security people build ever more elaborate cyber fortresses to protect this vulnerable software. Despite their efforts, cyber fortifications consistently fail to protect our digital treasures. Why? The security industry has failed to engage fully with the creative, innovative people who write software. Core Software Security expounds developer-centric software security, a holistic process to engage creativity for security. As long as software is developed by humans, it requires the human element to fix it. Developer-centric security is not only feasible but also cost effective and operationally relevant. The methodology builds security into software development, which lies at the heart of our cyber infrastructure. Whatever development method is employed, software must be secured at the source. Book Highlights: Supplies a practitioner's view of the SDL Considers Agile as a security enabler Covers the privacy elements in an SDL Outlines a holistic business-savvy SDL framework that includes people, process, and technology Highlights the key success factors, deliverables, and metrics for each phase of the SDL Examines cost efficiencies, optimized performance, and organizational structure of a developer-centric software security program and PSIRT Includes a chapter by noted security architect Brook Schoenfield who shares his insights and experiences in applying the book's SDL framework View the authors' website at http://www.androidinsecurity.com/
Rediscover how fun web development can be with Hugo, the static site generator and web framework that lets you build content sites quickly using the skills you already have. Design layouts with HTML and share common components across pages. Create Markdown templates that let you create new content quickly. Consume and generate JSON, enhance layouts with logic, and generate a site that works on any platform with no runtime dependencies or database. Hugo gives you everything you need to build your next content site and have fun doing it. Database-driven sites bring complexity you might not need, but building a site by hand is too much work. Hugo is a static site generator and web development framework that creates content sites quickly without the overhead or dependencies of a dyanmic web framework. With Hugo, you use HTML templates and Markdown to build static sites you can host anywhere, letting you use the skills you already have. Develop your own theme using standard HTML and CSS, using Hugo's powerful templating features to organize your site's components. Create your site's content with HTML or Markdown and use Hugo's content templating features to build new content quickly. Build a fully-featured blog with archive pages, tagging, and pagination, and integrate an external commenting system to provide interactivity. Use data from front-matter, site-wide configuration, and external JSON sources to add content, and generate JSON others can use. Integrate JavaScript with your site to create a search engine. Get Hugo working with Webpack so you can leverage the wider web development ecosystem, and explore ways to publish your site to various services. Finally, learn how you can move your existing content site to Hugo. Dive in and build your next site with Hugo!
This book describes capacity building in strategic and non-strategic machine tool technology. It includes machine building in sectors such as machine tools, automobiles, home appliances, energy, and biomedical engineering, along with case studies. The book offers guidelines for capacity building in academia, covering how to promote enterprises of functional reverse engineering enterprises. It also discusses machine tool development, engineering design, prototyping of strategic, and non-strategies machine tools, as well as presenting communication strategies and IoT, along with case studies. Professionals from the CNC (Computer Numeric Control) machine tools industry, industrial and manufacturing engineers, and students and faculty in engineering disciplines will find interest in this book.
Research and Evidence in Software Engineering: From Empirical Studies to Open Source Artifacts introduces advanced software engineering to software engineers, scientists, postdoctoral researchers, academicians, software consultants, management executives, doctoral students, and advanced level postgraduate computer science students. This book contains research articles addressing numerous software engineering research challenges associated with various software development-related activities, including programming, testing, measurements, human factors (social software engineering), specification, quality, program analysis, software project management, and more. It provides relevant theoretical frameworks, empirical research findings, and evaluated solutions addressing the research challenges associated with the above-mentioned software engineering activities. To foster collaboration among the software engineering research community, this book also reports datasets acquired systematically through scientific methods and related to various software engineering aspects that are valuable to the research community. These datasets will allow other researchers to use them in their research, thus improving the quality of overall research. The knowledge disseminated by the research studies contained in the book will hopefully motivate other researchers to further innovation in the way software development happens in real practice.
Partnering with HMS: A Guide for App Developers is the first book to introduce readers to the Huawei Mobile Services (HMS) ecosystem. It gives developers a fundamental understanding of the ecosystem and how to leverage kit and tool capabilities to make their apps better. This book is also a quick start guide for kit integration and practical environment setup, detailing the functions and principles behind each kit. By demonstrating how to integrate kits, the authors teach these kits by action: Account Kit, IAP, Push Kit, Location Kit, Map Kit, Site Kit, Safety Detect, and FIDO. Readers are fully introduced to how they can use HMS open capabilities to develop quality apps, acquire users, and monetize their hard work. In addition, the ecosystem background - the business model and value chain that underpin the entire ecosystem as well as its privacy compliance framework - is crucial to operations and illustrated in this book.
Recommender systems use information filtering to predict user preferences. They are becoming a vital part of e-business and are used in a wide variety of industries, ranging from entertainment and social networking to information technology, tourism, education, agriculture, healthcare, manufacturing, and retail. Recommender Systems: Algorithms and Applications dives into the theoretical underpinnings of these systems and looks at how this theory is applied and implemented in actual systems. The book examines several classes of recommendation algorithms, including Machine learning algorithms Community detection algorithms Filtering algorithms Various efficient and robust product recommender systems using machine learning algorithms are helpful in filtering and exploring unseen data by users for better prediction and extrapolation of decisions. These are providing a wider range of solutions to such challenges as imbalanced data set problems, cold-start problems, and long tail problems. This book also looks at fundamental ontological positions that form the foundations of recommender systems and explain why certain recommendations are predicted over others. Techniques and approaches for developing recommender systems are also investigated. These can help with implementing algorithms as systems and include A latent-factor technique for model-based filtering systems Collaborative filtering approaches Content-based approaches Finally, this book examines actual systems for social networking, recommending consumer products, and predicting risk in software engineering projects.
"Heterogeneous Computing with OpenCL "teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL
communities, this book will give you hands-on OpenCL experience to
address a range of fundamental parallel algorithms. The authors
explore memory spaces, optimization techniques, graphics
interoperability, extensions, and debugging and profiling. Intended
to support a parallel programming course, "Heterogeneous Computing
with OpenCL" includes detailed examples throughout, plus additional
online exercises and other supporting materials.
Providing insights into methodologies for designing adaptive systems based on semantic data, and introducing semantic models that can be used for building interactive systems, this book showcases many of the applications made possible by the use of semantic models. Ontologies may enhance the functional coverage of an interactive system as well as its visualization and interaction capabilities in various ways. Semantic models can also contribute to bridging gaps; for example, between user models, context-aware interfaces, and model-driven UI generation. There is considerable potential for using semantic models as a basis for adaptive interactive systems. A variety of reasoning and machine learning techniques exist that can be employed to achieve adaptive system behavior. The advent and rapid growth of Linked Open Data as a large-scale collection of semantic data has also paved the way for a new breed of intelligent, knowledge-intensive applications. Semantic Models for Adaptive Interactive Systems includes ten complementary chapters written by experts from both industry and academia. Rounded off by a number of case studies in real world application domains, this book will serve as a valuable reference for researchers and practitioners exploring the use of semantic models within HCI.
Based on the practical experiences of its authors, who collectively have spent several decades teaching software skills to scientists. Readers only need a basic understanding of Python includes over a hundred exercises to allow readers to practice their skills
The field of rock mechanics and rock engineering utilizes the basic laws of continuum mechanics and the techniques developed in computational mechanics. This book describes the basic concepts behind these fundamental laws and their utilization in practice irrespective of whether rock/rock mass contains discontinuities. This book consists of nine chapters and six appendices. The first four chapters are concerned with continuum mechanics aspects, which include the basic operations, definition of stress and strain tensors, and derivation of four fundamental conservation laws in the simplest yet precise manner. The next two chapters are the preparation for computational mechanics, which require constitutive laws of geomaterials relevant to each conservation law and the procedures for how to determine required parameters of the constitutive laws. Computational mechanics solves the resulting ordinary and partial differential equations. In Chapter 7, the methods of exact (closed-form) solutions are explained and they are applied to ordinary/partial differential equations with solvable boundary and initial conditions. In Chapter 8, the fundamentals of approximate solution methods are explained for one dimension first and then how to extend them to multi-dimensional problems. The readers are expected to learn and clearly understand how they are derived and applied to various problems in geomechanics. The final chapter involves the applications of the approximate methods to the actual problems in practice for geomechanical engineers, which cover the continuum to discontinuum, including the stress state of the earth as well as the ground motions induced by earthquakes. Six appendices are provided to have a clear understanding of continuum mechanics operations and procedures for how to deal with discontinuities/interfaces often encountered in rock mechanics and rock engineering.
This title includes a number of Open Access chapters. Data structure and software engineering is an integral part of computer science. This volume presents new approaches and methods to knowledge sharing, brain mapping, data integration, and data storage. The author describes how to manage an organization's business process and domain data and presents new software and hardware testing methods. The book introduces a game development framework used as a learning aid in a software engineering at the university level. It also features a review of social software engineering metrics and methods for processing business information. It explains how to use Pegasys to create and manage sequence analysis workflows.
This book presents, in an integrated form, both the analysis and synthesis of three different types of hidden Markov models. Unlike other books on the subject, it is generic and does not focus on a specific theme, e.g. speech processing. Moreover, it presents the translation of hidden Markov models' concepts from the domain of formal mathematics into computer codes using MATLAB (R). The unique feature of this book is that the theoretical concepts are first presented using an intuition-based approach followed by the description of the fundamental algorithms behind hidden Markov models using MATLAB (R). This approach, by means of analysis followed by synthesis, is suitable for those who want to study the subject using a more empirical approach. Key Selling Points: Presents a broad range of concepts related to Hidden Markov Models (HMM), from simple problems to advanced theory Covers the analysis of both continuous and discrete Markov chains Discusses the translation of HMM concepts from the realm of formal mathematics into computer code Offers many examples to supplement mathematical notation when explaining new concepts
This book provides readers insights into cyber maneuvering or adaptive and intelligent cyber defense. It describes the required models and security supporting functions that enable the analysis of potential threats, detection of attacks, and implementation of countermeasures while expending attacker resources and preserving user experience. This book not only presents significant education-oriented content, but uses advanced content to reveal a blueprint for helping network security professionals design and implement a secure Software-Defined Infrastructure (SDI) for cloud networking environments. These solutions are a less intrusive alternative to security countermeasures taken at the host level and offer centralized control of the distributed network. The concepts, techniques, and strategies discussed in this book are ideal for students, educators, and security practitioners looking for a clear and concise text to avant-garde cyber security installations or simply to use as a reference. Hand-on labs and lecture slides are located at http://virtualnetworksecurity.thothlab.com/. Features Discusses virtual network security concepts Considers proactive security using moving target defense Reviews attack representation models based on attack graphs and attack trees Examines service function chaining in virtual networks with security considerations Recognizes machine learning and AI in network security
This book provides the latest research advances in the field of system reliability assurance and engineering. It contains reference material for applications of reliability in system engineering, offering a theoretical sound background with adequate numerical illustrations. Included are concepts pertaining to reliability analysis, assurance techniques and methodologies, tools, and practical applications of system reliability modeling and allocation. The collection discusses various soft computing techniques like artificial intelligence and particle swarm optimization approach for reliability assessment. Importance of differentiating between the optimal release time and testing stop time of the software has been explicitly discussed and presented in the book. Features: Creates understanding of the costs associated with complex systems Covers reliability measurement of engineering systems Incorporates an efficient effort-based expenditure policy incorporating cost and reliability criteria Provides information for optimal testing stop and release time of software system Presents software performance and security layout Addresses reliability prediction and its maintenance through advanced analytics techniques Overall, System Reliability Management: Solutions and Techniques is a collaborative and interdisciplinary approach for better communication of problems and solutions to increase the performance of the system for better utilization and resource management.
Originally published in 1966. Professor Rescher's aim is to develop a "logic of commands" in exactly the same general way which standard logic has already developed a "logic of truth-functional statement compounds" or a "logic of quantifiers". The object is to present a tolerably accurate and precise account of the logically relevant facets of a command, to study the nature of "inference" in reasonings involving commands, and above all to establish a viable concept of validity in command inference, so that the logical relationships among commands can be studied with something of the rigour to which one is accustomed in other branches of logic.
The aim of this book is to provide a platform to academicians, practitioners, and researchers to understand current and future trends in software reliability growth modeling. Emphasis will be on qualitative work relevant to the theme with particular importance given to mathematical modeling for software reliability and various methods and applications of multi attributed decision making in governing the software performance. Presents software quality and security models Offers reliability analysis, assurance techniques for software systems Covers methodologies, tools, and practical applications of software reliability modeling and testing resources Includes robust reliability design techniques, diagnostic, and decision support Discusses stochastic modelling for software systems
This book presents an exciting new theory of time for a world built on hyper-fast digital media networks. Computers have changed the human social experience enormously. We're becoming familiar with many of the macro changes, but we rarely consider the complex, underlying mechanics of how a technology interacts with our social, political and economic worlds. And we cannot explain how the mechanics of a technology are being translated into social influence unless we understand the role of time in that process. Offering an original reconsideration of temporality, Philip Pond explains how super-powerful computers and global webs of connection have remade time through speed. The book introduces key developments in network time theory and explains their importance, before presenting a new model of time which seeks to reconcile the traditionally separate subjective and objective approaches to time theory and measurement.
Content-Based Image Classification: Efficient Machine Learning Using Robust Feature Extraction Techniques is a comprehensive guide to research with invaluable image data. Social Science Research Network has revealed that 65% of people are visual learners. Research data provided by Hyerle (2000) has clearly shown 90% of information in the human brain is visual. Thus, it is no wonder that visual information processing in the brain is 60,000 times faster than text-based information (3M Corporation, 2001). Recently, we have witnessed a significant surge in conversing with images due to the popularity of social networking platforms. The other reason for embracing usage of image data is the mass availability of high-resolution cellphone cameras. Wide usage of image data in diversified application areas including medical science, media, sports, remote sensing, and so on, has spurred the need for further research in optimizing archival, maintenance, and retrieval of appropriate image content to leverage data-driven decision-making. This book demonstrates several techniques of image processing to represent image data in a desired format for information identification. It discusses the application of machine learning and deep learning for identifying and categorizing appropriate image data helpful in designing automated decision support systems. The book offers comprehensive coverage of the most essential topics, including: Image feature extraction with novel handcrafted techniques (traditional feature extraction) Image feature extraction with automated techniques (representation learning with CNNs) Significance of fusion-based approaches in enhancing classification accuracy MATLAB (R) codes for implementing the techniques Use of the Open Access data mining tool WEKA for multiple tasks The book is intended for budding researchers, technocrats, engineering students, and machine learning/deep learning enthusiasts who are willing to start their computer vision journey with content-based image recognition. The readers will get a clear picture of the essentials for transforming the image data into valuable means for insight generation. Readers will learn coding techniques necessary to propose novel mechanisms and disruptive approaches. The WEKA guide provided is beneficial for those uncomfortable coding for machine learning algorithms. The WEKA tool assists the learner in implementing machine learning algorithms with the click of a button. Thus, this book will be a stepping-stone for your machine learning journey. Please visit the author's website for any further guidance at https://www.rikdas.com/
An up-to-date text designed for undergraduate courses in control systems engineering and principles of automatic controls. The book focuses on design and implementation rather than just the mathematics of control systems. Using a balanced approach, the text presents a unified energy-based approach to modeling; covers analysis techniques for the models presented; and offers a detailed study of digital control and the implementation of digital controllers. Also included are examples and homework problems.
The ?rst and foremost goal of this lecture series was to show the beauty, depth and usefulness of the key ideas in computer science. While working on the lecture notes, we came to understand that one can recognize the true spirit of a scienti?c discipline only by viewing its contributions in the framework of science as a whole. We present computer science here as a fundamental science that, interacting with other scienti?c disciplines, changed and changes our view on the world, that contributes to our understanding of the fundamental concepts of science and that sheds new light on and brings new meaning to several of these concepts. We show that computer science is a discipline that discovers spectacular, unexpected facts, that ?nds ways out in seemingly unsolvable s- uations, and that can do true wonders. The message of this book is that computer science is a fascinating research area with a big impact on the real world, full of spectacular ideas and great ch- lenges. It is an integral part of science and engineering with an above-average dynamic over the last 30 years and a high degree of interdisciplinarity. The goal of this book is not typical for popular science writing, whichoftenrestrictsitselftooutliningtheimportanceofaresearch area. Whenever possible we strive to bring full understanding of the concepts and results presented. |
![]() ![]() You may like...
Revolutionary Applications of…
Surjit Singh, Anca Delia Jurcut
Hardcover
R6,720
Discovery Miles 67 200
Fundamentals of Spatial Information…
Robert Laurini, Derek Thompson
Hardcover
R1,539
Discovery Miles 15 390
Social Web Evolution - Integrating…
Miltiadis D Lytras, Patricia Ordonez De Pablos
Hardcover
R5,351
Discovery Miles 53 510
Towards Efficient Fuzzy Information…
Chongfu Huang, Yong Shi
Hardcover
R3,101
Discovery Miles 31 010
Bridging Relational and NoSQL Databases
Drazena Gaspar, Ivica Coric
Hardcover
R4,982
Discovery Miles 49 820
Big Data and Smart Service Systems
Xiwei Liu, Rangachari Anand, …
Hardcover
Engineering Scalable, Elastic, and…
Steffen Becker, Gunnar Brataas, …
Hardcover
R2,140
Discovery Miles 21 400
|