![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
This textbook offers theoretical, algorithmic and computational guidelines for solving the most frequently encountered linear-quadratic optimization problems. It provides an overview of recent advances in control and systems theory, numerical line algebra, numerical optimization, scientific computations and software engineering.
The C programming language is a popular language in industries as well as academics. Since its invention and standardized as ANSI C, several other standards known as C99, C11, and C17 were published with new features in subsequent years. This book covers all the traits of ANSI C and includes new features present in other standards. The content of this book helps a beginner to learn the fundamental concept of the C language. The book contains a step-by-step explanation of every program that allows a learner to understand the syntax and builds a foundation to write similar programs. The explanation clarity, exercises, and illustrations present in this book make it a complete textbook in all aspects. Features: Other than ANSI C, the book explains the new C standards like C99, C11, and C17. Most basic and easy-to-follow programs are chosen to explain the concepts and their syntax. More emphasis is given to the topics like Functions, Pointers, and Structures. Recursion is emphasized with numerous programming examples and diagrams. A separate chapter on the command-line argument and preprocessors is included that concisely explains their usage. Several real-life figures are taken to explain the concepts of dynamic memory allocation, file handling, and the difference between structure and union. The book contains more than 260 illustrations, more than 200 programs, and exercises at the end of each chapter. This book serves as a textbook for UG/PG courses in science and engineering. The researcher, postgraduate engineers, and embedded software developers can also keep this book as reference material for their fundamental learning.
This two-volume set constitutes the refereed post-conference proceedings of the 12th International Conference on Simulation Tools and Techniques, SIMUTools 2020, held in Guiyang, China, in August 2020. Due to COVID-19 pandemic the conference was held virtually. The 125 revised full papers were carefully selected from 354 submissions. The papers focus on simulation methods, simulation techniques, simulation software, simulation performance, modeling formalisms, simulation verification and widely used frameworks.
Survival analysis uses statistics to calculate time to failure. Survival Analysis with Python takes a fresh look at this complex subject by explaining how to use the Python programming language to perform this type of analysis. As the subject itself is very mathematical and full of expressions and formulations, the book provides detailed explanations and examines practical implications. The book begins with an overview of the concepts underpinning statistical survival analysis. It then delves into Parametric models with coverage of Concept of maximum likelihood estimate (MLE) of a probability distribution parameter MLE of the survival function Common probability distributions and their analysis Analysis of exponential distribution as a survival function Analysis of Weibull distribution as a survival function Derivation of Gumbel distribution as a survival function from Weibull Non-parametric models including Kaplan-Meier (KM) estimator, a derivation of expression using MLE Fitting KM estimator with an example dataset, Python code and plotting curves Greenwood's formula and its derivation Models with covariates explaining The concept of time shift and the accelerated failure time (AFT) model Weibull-AFT model and derivation of parameters by MLE Proportional Hazard (PH) model Cox-PH model and Breslow's method Significance of covariates Selection of covariates The Python lifelines library is used for coding examples. By mapping theory to practical examples featuring datasets, this book is a hands-on tutorial as well as a handy reference.
This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages - most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration. By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor's (advanced level) or master's university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos. This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.
Gets the reader up to date with an introduction to the concept of data science, its reasons and origin Focused on the mechanisms of extracting data along with classifications, architectural concepts, and business intelligence with predictive analysis Provides an overview of recent developments and applications on data linked to engineering and management perspectives Covers how data scientists, analysts, and program managers that are interested in productivity and improving their business can do so by incorporating a data science workflow effectively Presents recent trends, highlights future developments, along with discussing problems and offering suggested solutions
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.
System Integration presents the systems approach to complex problem solving and provides a powerful base for both product and process integration. This unique reference describes 27 kinds of integration work, primarily obtained through human communications. Simple computer applications-already in place in most companies-have the resources to encourage the availability and sharing of current team knowledge, which results in an intense, cooperative experience leading rapidly to sound design solutions.
This volume constitutes the refereed proceedings of the Second International Conference on Applied Technologies, ICAT 2020, held in Quito, Ecuador, in December 2020. Due to the COVID-19 pandemic the conference was held online. The 53 papers were carefully reviewed and selected from 145 submissions. The papers are organized according to the following topics: communication; computing; e-government and e-participation; e-learning; electronics; intelligent systems; machine vision; security; technology trends.
This book constitutes extended, revised and selected papers from the 22nd International Conference on Enterprise Information Systems, ICEIS 2020, held online during May 5-7, 2020.The 41 papers presented in this volume were carefully reviewed and selected for inclusion in this book from a total of 255 submissions. They were organized in topical sections as follows: database and information systems integration; artificial intelligence and decision support systems; information systems analysis and specification; software agents and internet computing; human-computer interaction; and enterprise architecture.
This book constitutes the refereed proceedings of the 16th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2020, held in Innopolis, Russia, in May 2020.* The 12 revised full papers and 8 short papers presented were carefully reviewed and selected from 42 submissions. The papers cover a wide range of topics in the field of free/libre open source software (FLOSS) and discuss theories, practices, experiences, and tools on development and applications of OSS systems, with a specific focus on two aspects:(a) the development of open source systems and the underlying technical, social, and economic issue, (b) the adoption of OSS solutions and the implications of such adoption both in the public and in the private sector. *Due to the COVID-19 pandemic, the conference was held virtually.
Advances in Computers carries on a tradition of excellence, presenting detailed coverage of innovations in computer hardware, software, theory, design, and applications. The book provides contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles typically allow. The articles included in this book will become standard references, with lasting value in this rapidly expanding field.
This book constitutes the proceedings of the XV Multidisciplinary International Congress on Science and Technology (CIT 2020), held in Quito, Ecuador, on 26-30 October 2020, proudly organized by Universidad de las Fuerzas Armadas ESPE in collaboration with GDEON. CIT is an international event with a multidisciplinary approach that promotes the dissemination of advances in Science and Technology research through the presentation of keynote conferences. In CIT, theoretical, technical, or application works that are research products are presented to discuss and debate ideas, experiences, and challenges. Presenting high-quality, peer-reviewed papers, the book discusses the following topics: Artificial Intelligence Computational Modeling Data Communications Defense Engineering Innovation, Technology, and Society Managing Technology & Sustained Innovation, and Business Development Modern Vehicle Technology Security and Cryptography Software Engineering
This book covers a range of basic and advanced topics in software engineering. The field has undergone several phases of change and improvement since its invention, and there is significant ongoing research in software development, addressing aspects such as analysis, design, testing and maintenance. Rather than focusing on a single aspect of software engineering, this book provides a systematic overview of recent techniques, including requirement gathering in the form of story points in agile software, and bio-inspired techniques for estimating the effort, cost, and time required for software development. As such it is a valuable resource for new researchers interested in advances in software engineering - particularly in the area of bio-inspired techniques.
This book constitutes the refereed post-conference proceedings of the Second IFIP International Cross-Domain Conference on Internet of Things, IFIPIoT 2019, held in Tampa, USA, in October/ November 2019. The 11 full papers presented were carefully reviewed and selected from 22 submissions. Also included in this volume are 8 invited papers. The papers are organized in the following topical sections: IoT applications; context reasoning and situational awareness; IoT security; smart and low power IoT; smart network architectures; and smart system design and IoT education.
This book brings together two important trends: graph algorithms and high-performance computing. Efficient and scalable execution of graph processing applications in data or network analysis requires innovations at multiple levels: algorithms, associated data structures, their implementation and tuning to a particular hardware. Further, programming languages and the associated compilers play a crucial role when it comes to automating efficient code generation for various architectures. This book discusses the essentials of all these aspects. The book is divided into three parts: programming, languages, and their compilation. The first part examines the manual parallelization of graph algorithms, revealing various parallelization patterns encountered, especially when dealing with graphs. The second part uses these patterns to provide language constructs that allow a graph algorithm to be specified. Programmers can work with these language constructs without worrying about their implementation, which is the focus of the third part. Implementation is handled by a compiler, which can specialize code generation for a backend device. The book also includes suggestive results on different platforms, which illustrate and justify the theory and practice covered. Together, the three parts provide the essential ingredients for creating a high-performance graph application. The book ends with a section on future directions, which offers several pointers to promising topics for future research. This book is intended for new researchers as well as graduate and advanced undergraduate students. Most of the chapters can be read independently by those familiar with the basics of parallel programming and graph algorithms. However, to make the material more accessible, the book includes a brief background on elementary graph algorithms, parallel computing and GPUs. Moreover it presents a case study using Falcon, a domain-specific language for graph algorithms, to illustrate the concepts.
This book describes the research of the authors over more than a decade on an end-to-end methodology for the design and development of Web Information Systems (WIS). It covers syntactics, semantics and pragmatics of WIS, introduces sophisticated concepts for conceptual modelling, provides integrated foundations for all these concepts and integrates them into the co-design method for systematic WIS development. WIS, i.e. data-intensive information systems that are realized in a way that arbitrary users can access them via web browsers, constitute a prominent class of information systems, for which acceptance by its a priori unknown users in varying contexts with respect to the presented content, the ease of functionality provided and the attraction of the layout adds novel challenges for modelling, design and development. This book is structured into four parts. Part I, Web Information Systems - General Aspects, gives a general introduction to WIS describing the challenges for their development, and provides a characterization by six decisive aspects: intention, usage, content, functionality, context and presentation. Part II, High-Level WIS Design - Strategic Analysis and Usage Modelling with Storyboarding, introduces methods for high-level design of WIS covering strategic aspects and the storyboarding method, which is discussed from syntactic, semantic and pragmatic perspectives. Part III, Conceptual WIS Design - Rigorous Modelling of Web Information Systems and their Layout with Web Interaction Types and Screenography, continues with conceptual design of WIS including layout and playout. This introduces the decisive web interaction types, the screenography method and adaptation aspects. The final Part IV, Rationale of the Co-Design Methodology and Systematic Development of Web Information Systems, describes the co-design method for WIS development and its application for the systematic engineering of systems. The book addresses the research community, and at the same time can be used for education of graduate students and as methodological support for professional WIS developers. For the WIS research community it provides methods for WIS modelling on all levels of abstraction including theoretical foundations and inference mechanisms as well as a sophisticated end-to-end methodology for systematic WIS engineering from requirements elicitation over conceptual modelling to aspects of implementation, layout and playout. For students and professional developers the book can be used as a whole for educational courses on WIS design and development, as well as for more specific courses on conceptual modelling of WIS, WIS foundations and reasoning, co-design and WIS engineering or WIS layout and playout development.
IT projects emerge from a business need. In practice, software developers must accomplish two big things before an IT project can begin: find out what you need to do (i.e., analyse business requirements) and plan out how to do it (i.e., project management). The biggest problem in IT projects is delivering the wrong product because IT people do not understand what business people require. This practical textbook teaches computer science students how to manage and deliver IT projects by linking business and IT requirements with project management in an incremental and straightforward approach. Business Analysis, Requirements, and Project Management: A Guide for Computing Students presents an approach to analysis management that scales the business perspective. It takes a business process view of a business proposal as a model and explains how to structure a technical problem into a recognisable pattern with problem frames. It shows how to identify core transactions and model them as use cases to create a requirements table useful to designers and coders. Linked to the analysis are three management tools: the product breakdown structure (PBS), the Gantt chart, and the Kanban board. The PBS is derived in part from the problem frame. The Gantt chart emerges from the PBS and ensures the key requirements are addressed by reference to use cases. The Kanban board is especially useful in Task Driven Development, which the text covers. This textbook consists of two interleaving parts and features a single case study. Part one addresses the business and requirements perspective. The second integrates core project management approaches and explains how both requirements and management are connected. The remainder of the book is appendices, the first of which provides solutions to the exercises presented in each chapter. The second appendix puts together much of the documentation for the case study into one place. The case study presents a real-word business scenario to expose students to professional practice.
Model checking is a prominent technique used in the hardware and software industries for automatic verification. While it is very successful in finding subtle bugs in distributed systems, it faces the state explosion problem - the number of reachable states grows exponentially in the number of concurrent components. In this book the authors introduce unfoldings, an approach to model checking which alleviates the state explosion problem by means of concurrency theory. They offer a gentle introduction to the basics of the method, and in particular they detail an unfolding-based algorithm for model checking concurrent systems against properties specified as formulas of linear temporal logic (LTL). Self-contained chapters cover transition systems and their products; unfolding products; search procedures for basic verification problems, such as reachability and livelocks; and model checking LTL. The final chapter summarizes the results of the book, and points the reader to tools and case studies. The book will be of value to researchers and graduate students engaged in automatic verification and concurrency theory.
This book covers both theory and applications in the automation of software testing tools and techniques for various types of software (e.g. object-oriented, aspect-oriented, and web-based software). When software fails, it is most often due to lack of proper and thorough testing, an aspect that is even more acute for object-oriented, aspect-oriented, and web-based software. Further, since it is more difficult to test distributed and service-oriented architecture-based applications, there is a pressing need to discuss the latest developments in automated software testing. This book discusses the most relevant issues, models, tools, challenges, and applications in automated software testing. Further, it brings together academic researchers, scientists, and engineers from a wide range of industrial application areas, who present their latest findings and identify future challenges in this fledging research area.
This book constitutes the refereed proceedings of the 9th International Symposium on From Data Models and Back, DataMod 2020, held virtually, in October 2020. The 11 full papers and 3 short papers presented in this book were selected from 19 submissions. The papers are grouped in these topical sections: machine learning; simulation-based approaches, and data mining and processing related approaches.
This book discusses enterprise hierarchies, which view a target system with varying degrees of abstraction. These requirement refinement hierarchies can be represented by goal models. It is important to verify that such hierarchies capture the same set of rationales and intentions and are in mutual agreement with the requirements of the system being designed. The book also explores how hierarchies manifest themselves in the real world by undertaking a data mining exercise and observing the interactions within an enterprise. The inherent sequence-agnostic property of goal models prevents requirement analysts from performing compliance checks in this phase as compliance rules are generally embedded with temporal information. The studies discussed here seek to extract finite state models corresponding to goal models with the help of model transformation. The i*ToNuSMV tool implements one such algorithm to perform model checking on i* models. In turn, the AFSR framework provides a new goal model nomenclature that associates semantics with individual goals. It also provides a reconciliation machinery that detects entailment or consistency conflicts within goal models and suggests corrective measures to resolve such conflicts. The authors also discuss how the goal maintenance problem can be mapped to the state-space search problem, and how A* search can be used to identify an optimal goal model configuration that is free from all conflicts. In conclusion, the authors discuss how the proposed research frameworks can be extended and applied in new research directions. The GRL2APK framework presents an initiative to develop mobile applications from goal models using reusable code component repositories.
This book discusses various open issues in software engineering, such as the efficiency of automated testing techniques, predictions for cost estimation, data processing, and automatic code generation. Many traditional techniques are available for addressing these problems. But, with the rapid changes in software development, they often prove to be outdated or incapable of handling the software's complexity. Hence, many previously used methods are proving insufficient to solve the problems now arising in software development. The book highlights a number of unique problems and effective solutions that reflect the state-of-the-art in software engineering. Deep learning is the latest computing technique, and is now gaining popularity in various fields of software engineering. This book explores new trends and experiments that have yielded promising solutions to current challenges in software engineering. As such, it offers a valuable reference guide for a broad audience including systems analysts, software engineers, researchers, graduate students and professors engaged in teaching software engineering. |
![]() ![]() You may like...
Essential Java for Scientists and…
Brian Hahn, Katherine Malan
Paperback
R1,296
Discovery Miles 12 960
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,084
Discovery Miles 40 840
Research Anthology on Architectures…
Information R Management Association
Hardcover
R14,033
Discovery Miles 140 330
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R4,067
Discovery Miles 40 670
|