![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
Tackles a topic in a concise and accessible way that most believe too advanced to pick up easily. Author has over 40 years teaching and industry experience which they utilize in this book. Contains an appendix with extended code and examples of topics discussed in text.
The aim of the book is to create a bridge between two 'lands' that are usually kept separate: technical tools and legal rules should be bound together for moulding a special 'toolbox' to solve present and future issues. The volume is intended to contribute to this 'toolbox' in the area of software services, while addressing how to make legal studies work closely with engineers' and computer scientists' fields of expertise, who are increasingly involved in tangled choices on daily programming and software development. In this respect, law has not lost its importance and its own categories in the digital world, but as well as any social science needs to experience a new realistic approach amid technological development and individuals' fundamental rights and freedoms.
Software Security: Concepts & Practices is designed as a textbook and explores fundamental security theories that govern common software security technical issues. It focuses on the practical programming materials that will teach readers how to implement security solutions using the most popular software packages. It's not limited to any specific cybersecurity subtopics and the chapters touch upon a wide range of cybersecurity domains, ranging from malware to biometrics and more. Features The book presents the implementation of a unique socio-technical solution for real-time cybersecurity awareness. It provides comprehensible knowledge about security, risk, protection, estimation, knowledge and governance. Various emerging standards, models, metrics, continuous updates and tools are described to understand security principals and mitigation mechanism for higher security. The book also explores common vulnerabilities plaguing today's web applications. The book is aimed primarily at advanced undergraduates and graduates studying computer science, artificial intelligence and information technology. Researchers and professionals will also find this book useful.
This book covers the proceedings of ICISSI 2022 (International Conference on Intelligent Systems and Smart Infrastructure) held at Prayagraj, Uttar Pradesh during April 21-22, 2022. The conference was jointly organised by Shambhunath Institute of Engineering and Technology, Prayagraj UP India, Institute of Engineering and Technology (IET) Lucknow, U.P India, and Manipal University Jaipur, Rajasthan India with an aim to provide a platform for researchers, scientists, technocrats, academicians and engineers to exchange their innovative ideas and new challenges being faced in the field of emerging technologies. The papers presented in the conference have been compiled in form of chapters to focus on the core technological developments in the emerging fields like machine learning, intelligence systems, smart infrastructure, advanced power technology etc.
The high failure rate of enterprise resource planning (ERP) projects is a pressing concern for both academic researchers and industrial practitioners. The challenges of an ERP implementation are particularly high when the project involves designing and developing a system from scratch. Organizations often turn to vendors and consultants for handling such projects but, every aspect of an ERP project is opaque for both customers and vendors. Unlocking the mysteries of building a large-scale ERP system, The Adventurous and Practical Journey to a Large-Scale Enterprise Solution tells the story of implementing an applied enterprise solution. The book covers the field of enterprise resource planning by examining state-of-the-art concepts in software project management methodology, design and development integration policy, and deployment framework, including: A hybrid project management methodology using waterfall as well as a customized Scrum-based approach A novel multi-tiered software architecture featuring an enhanced flowable process engine A unique platform for coding business processes efficiently Integration to embed ERP modules in physical devices A heuristic-based framework to successfully step into the Go-live period Written to help ERP project professionals, the book charts the path that they should travel from project ideation to systems implementation. It presents a detailed, real-life case study of implementing a large-scale ERP and uses storytelling to demonstrate incorrect and correct decisions frequently made by vendors and customers. Filled with practical lessons learned, the book explains the ins and outs of adopting project methodologies. It weaves a tale that features both real-world and scholarly aspects of an ERP implementation.
The high failure rate of enterprise resource planning (ERP) projects is a pressing concern for both academic researchers and industrial practitioners. The challenges of an ERP implementation are particularly high when the project involves designing and developing a system from scratch. Organizations often turn to vendors and consultants for handling such projects but, every aspect of an ERP project is opaque for both customers and vendors. Unlocking the mysteries of building a large-scale ERP system, The Adventurous and Practical Journey to a Large-Scale Enterprise Solution tells the story of implementing an applied enterprise solution. The book covers the field of enterprise resource planning by examining state-of-the-art concepts in software project management methodology, design and development integration policy, and deployment framework, including: A hybrid project management methodology using waterfall as well as a customized Scrum-based approach A novel multi-tiered software architecture featuring an enhanced flowable process engine A unique platform for coding business processes efficiently Integration to embed ERP modules in physical devices A heuristic-based framework to successfully step into the Go-live period Written to help ERP project professionals, the book charts the path that they should travel from project ideation to systems implementation. It presents a detailed, real-life case study of implementing a large-scale ERP and uses storytelling to demonstrate incorrect and correct decisions frequently made by vendors and customers. Filled with practical lessons learned, the book explains the ins and outs of adopting project methodologies. It weaves a tale that features both real-world and scholarly aspects of an ERP implementation.
The Art of Agile Development contains practical guidance for anyone considering or applying agile development for building valuable software. Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly. This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers. The Art of Agile Development gives you clear answers to questions such as: * How can we adopt agile development? * Do we really need to pair program? * What metrics should we report? * What if I can't get my customer to participate? * How much documentation should we write? * When do we design and architect? * As a non-developer, how should I work with my agile team? * Where is my product roadmap? * How does QA fit in? The book teaches you how to adopt XP practices, describes each practice in detail, then discusses principles that will allow you to modify XP and create your own agile method. In particular, this book tackles the difficult aspects of agile development: the need for cooperation and trust among team members. Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development. "Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer. --Ken Pugh, Author of Jolt Award Winner, Prefactoring "I will leave a copy of this book with every team I visit." --Brian Marick, Exampler Consulting
Open-source development has been around for decades, with software developers co-creating tools and information systems for widespread use. With the development of open-source software such as learning objects, interactive articles, and educational games, the open-source values and practices have slowly been adopted by those in education sectors. Open-Source Technologies for Maximizing the Creation, Deployment, and Use of Digital Resources and Information highlights the global importance of open-source technologies in higher and general education. Written for those working in education and professional training, this collection of research explores a variety of issues related to open-source in education, such as its practical underpinnings, requisite cultural competence in global open-source, strategies for employing open-source in online learning and research, the design of an open-source networking laboratory, and other endeavors.
Python is an amazing programming language. It can be applied to almost any programming task. It allows for rapid development and debugging. Getting started with Python is like learning any new skill: it's important to find a resource you connect with to guide your learning. Luckily, there's no shortage of excellent books that can help you learn both the basic concepts of programming and the specifics of programming in Python. With the abundance of resources, it can be difficult to identify which book would be best for your situation. Python for Beginners is a concise single point of reference for all material on python. * Provides concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools * Offers practical advice for each major area of development with both Python 3.x and Python 2.x * Based on the latest research in cognitive science and learning theory * Helps the reader learn how to write effective, idiomatic Python code by leveraging its best-and possibly most neglected-features This book focuses on enthusiastic research aspirants who work on scripting languages for automating the modules and tools, development of web applications, handling big data, complex calculations, workflow creation, rapid prototyping, and other software development purposes. It also targets graduates, postgraduates in computer science, information technology, academicians, practitioners, and research scholars.
Digital Image Processing with C++ presents the theory of digital image processing, and implementations of algorithms using a dedicated library. Processing a digital image means transforming its content (denoising, stylizing, etc.), or extracting information to solve a given problem (object recognition, measurement, motion estimation, etc.). This book presents the mathematical theories underlying digital image processing, as well as their practical implementation through examples of algorithms implemented in the C++ language, using the free and easy-to-use CImg library. Chapters cover in a broad way the field of digital image processing and proposes practical and functional implementations of each method theoretically described. The main topics covered include filtering in spatial and frequency domains, mathematical morphology, feature extraction and applications to segmentation, motion estimation, multispectral image processing and 3D visualization. Students or developers wishing to discover or specialize in this discipline, teachers and researchers wishing to quickly prototype new algorithms, or develop courses, will all find in this book material to discover image processing or deepen their knowledge in this field.
Are you a programmer who wants to get started quickly in a new language? This book is for you. Are you a novice who wants to learn to program? This book is not for you. Are you a Python programmer who needs encyclopaedic information? This book is not for you. Like any mainstream language, Python has loops, if statements, assignment statements, functions, etc. I'll show you what these look like in Python. I won't waste your time telling you what they're good for. Python has features you may not be familiar with--iterators, list comprehensions, maybe even dictionaries. I'll spend more time on these. I'll cover some of the library functions I found most immediately useful, and tell you where to find more. In short, this book will help you hit the ground running. Next week, you'll be ready to buy that Python encyclopaedia.
Software is important because it is used by a great many people in companies and institutions. This book presents engineering methods for designing and building software. Based on the author's experience in software engineering as a programmer in the defense and aerospace industries, this book explains how to ensure a software that is programmed operates according to its requirements. It also shows how to develop, operate, and maintain software engineering capabilities by instilling an engineering discipline to support programming, design, builds, and delivery to customers. This book helps software engineers to: Understand the basic concepts, standards, and requirements of software engineering. Select the appropriate programming and design techniques. Effectively use software engineering tools and applications. Create specifications to comply with the software standards and requirements. Utilize various methods and techniques to identify defects. Manage changes to standards and requirements. Besides providing a technical view, this book discusses the moral and ethical responsibility of software engineers to ensure that the software they design and program does not cause serious problems. Software engineers tend to be concerned with the technical elegance of their software products and tools, whereas customers tend to be concerned only with whether a software product meets their needs and is easy and ready to use. This book looks at these two sides of software development and the challenges they present for software engineering. A critical understanding of software engineering empowers developers to choose the right methods for achieving effective results. Effective Methods for Software Engineering guides software programmers and developers to develop this critical understanding that is so crucial in today's software-dependent society.
As the number of Internet of Things (IoT) elements grows exponentially, their interactions can generate a massive amount of raw and multi-structured data. The challenge with this data explosion is to transform any raw data into information and knowledge, which can be used by people and systems to make intelligent decisions. Industrial IoT Application Architectures and Use Cases explores how artificial intelligence (AI), data analytics, and IoT technology combine to promote intelligent decision-making and automation in a range of industries. With faster, more stable AI algorithms and approaches, knowledge discovery and dissemination from IoT-device data can be simplified and streamlined. An era of powerful cognitive technology is beginning due to cloud-based cognitive systems that are forming the foundation of game-changing intelligent applications. This book presents next-generation use cases of IoT and IoT data analytics for a variety of industrial verticals as given below: An Intelligent IoT framework for smart water management An IoT-enabled smart traffic control system for congestion control and smart traffic management An intelligent airport system for airport management and security surveillance An IoT framework for healthcare to integrate and report patient information Fuzzy scheduling with IoT for tracking and monitoring hotel assets An IoT system for designing drainage systems and monitoring drainage pipes Predictive maintenance of plant equipment to decide the actual mean time to malfunction Integrated neural networks and IoT systems for predictive equipment maintenance IoT integration in blockchain for smart waste management This book also includes a chapter on the IoT paradigm and an overview of uses cases for personal, social, and industrial applications.
A collection of best practices and effective implementation recommendations that are proven to work, Secure, Resilient, and Agile Software Development leaves the boring details of software security theory out of the discussion as much as possible to concentrate on practical applied software security for practical people. Written to aid your career as well as your organization, the book shows how to gain skills in secure and resilient software development and related tasks. The book explains how to integrate these development skills into your daily duties, thereby increasing your professional value to your company, your management, your community, and your industry. Secure, Resilient, and Agile Software Development was written for the following professionals: AppSec architects and program managers in information security organizations Enterprise architecture teams with application development focus Scrum teams DevOps teams Product owners and their managers Project managers Application security auditors With a detailed look at Agile and Scrum software development methodologies, this book explains how security controls need to change in light of an entirely new paradigm on how software is developed. It focuses on ways to educate everyone who has a hand in any software development project with appropriate and practical skills to Build Security In. After covering foundational and fundamental principles for secure application design, this book dives into concepts, techniques, and design goals to meet well-understood acceptance criteria on features an application must implement. It also explains how the design sprint is adapted for proper consideration of security as well as defensive programming techniques. The book concludes with a look at white box application analysis and sprint-based activities to improve the security and quality of software under development.
Any organization with valuable data has been or will be attacked, probably successfully, at some point and with some damage. And, don't all digitally connected organizations have at least some data that can be considered "valuable"? Cyber security is a big, messy, multivariate, multidimensional arena. A reasonable "defense-in-depth" requires many technologies; smart, highly skilled people; and deep and broad analysis, all of which must come together into some sort of functioning whole, which is often termed a security architecture. Secrets of a Cyber Security Architect is about security architecture in practice. Expert security architects have dozens of tricks of their trade in their kips. In this book, author Brook S. E. Schoenfield shares his tips and tricks, as well as myriad tried and true bits of wisdom that his colleagues have shared with him. Creating and implementing a cyber security architecture can be hard, complex, and certainly frustrating work. This book is written to ease this pain and show how to express security requirements in ways that make the requirements more palatable and, thus, get them accomplished. It also explains how to surmount individual, team, and organizational resistance. The book covers: What security architecture is and the areas of expertise a security architect needs in practice The relationship between attack methods and the art of building cyber defenses Why to use attacks and how to derive a set of mitigations and defenses Approaches, tricks, and manipulations proven successful for practicing security architecture Starting, maturing, and running effective security architecture programs Secrets of the trade for the practicing security architecture Tricks to surmount typical problems Filled with practical insight, Secrets of a Cyber Security Architect is the desk reference every security architect needs to thwart the constant threats and dangers confronting every digitally connected organization.
This textbook sets out to provide professionals with an in-depth understanding of the software-testing people and process issues that are critical for delivering high-quality software on time and within budget. The authors aim to give those involved in building and maintaining complex, mission-critical software systems a flexible, risk-based process to improve their software-testing capabilities. Whether an organization currently has a well-defined testing process or almost no process, this resource provides insights into better ways to test software. This guide is written for: software-test managers; testers; developers; quality-assurance managers; and software configuration managers.
In today's modernized environment, a growing number of software companies are changing their traditional engineering approaches in response to the rapid development of computing technologies. As these businesses adopt modern software engineering practices, they face various challenges including the integration of current methodologies and contemporary design models and the refactoring of existing systems using advanced approaches. Applications and Approaches to Object-Oriented Software Design: Emerging Research and Opportunities is a pivotal reference source that provides vital research on the development of modern software practices that impact maintenance, design, and developer productivity. While highlighting topics such as augmented reality, distributed computing, and big data processing, this publication explores the current infrastructure of software systems as well as future advancements. This book is ideally designed for software engineers, IT specialists, data scientists, business professionals, developers, researchers, students, and academicians seeking current research on contemporary software engineering methods.
A best-seller in its French edition, the construction of this book is original and its success in the French market demonstrates its appeal. It is based on three principles: 1. An organization of the chapters by families of algorithms : exhaustive search, divide and conquer, etc. At the contrary, there is no chapter only devoted to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. 2. For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. 3. For its most part, the book details 150 problems, spanning on seven families of algorithms. For each problem, a precise and progressive statement is given. More important, a complete solution is detailed, with respect to the design principles that have been presented ; often, some classical errors are pointed at. Roughly speaking, two thirds of the book are devoted to the detailed rational construction of the solutions.
Extensive research conducted by the Hasso Plattner Design Thinking Research Program at Stanford University in Palo Alto, California, USA, and the Hasso Plattner Institute in Potsdam, Germany, has yielded valuable insights on why and how design thinking works. Researchers have identified metrics, developed models, and conducted studies, which are featured in this book, and in the previous volumes of this series. Offering readers a closer look at design thinking, and its innovation processes and methods, this volume covers topics ranging from understanding success factors of design thinking to exploring the potential that lies in the use of digital technologies. Furthermore, readers learn how special-purpose design thinking can be used to solve thorny problems in complex fields, such as the health sector or software development. Thinking and devising innovations are inherently human activities - so is design thinking. Accordingly, design thinking is not merely the result of special courses or of being gifted or trained: it is a way of dealing with our environment and improving techniques, technologies and life. As such, the research outcomes compiled in this book should increase knowledge and provide inspiration to all seeking to drive innovation - be they experienced design thinkers or newcomers.
This book presents in their basic form the most important models of computation, their basic programming paradigms, and their mathematical descriptions, both concrete and abstract. Each model is accompanied by relevant formal techniques for reasoning on it and for proving some properties. After preliminary chapters that introduce the notions of structure and meaning, semantic methods, inference rules, and logic programming, the authors arrange their chapters into parts on IMP, a simple imperative language; HOFL, a higher-order functional language; concurrent, nondeterministic and interactive models; and probabilistic/stochastic models. The authors have class-tested the book content over many years, and it will be valuable for graduate and advanced undergraduate students of theoretical computer science and distributed systems, and for researchers in this domain. Each chapter of the book concludes with a list of exercises addressing the key techniques introduced, solutions to selected exercises are offered at the end of the book.
This reference text provides the theoretical foundations, the emergence, and the application areas of Blockchain in an easy-to-understand manner that would be highly helpful for the researchers, academicians, and industry professionals to understand the disruptive potentials of Blockchain. It explains Blockchain concepts related to Industry 4.0, Smart Healthcare, and the Internet of Things (IoT) and explores Smart Contracts and Consensus algorithms. This book will serve as an ideal reference text for graduate students and academic researchers in electrical engineering, electronics and communication engineering, computer engineering, and information technology. This book * Discusses applications of blockchain technology in diverse sectors such as industry 4.0, education, finance, and supply chain. * Provides theoretical concepts, applications, and research advancements in the field of blockchain. * Covers industry 4.0 digitization platform and blockchain for data management in industry 4.0 in a comprehensive manner. * Emphasizes analysis and design of consensus algorithms, fault tolerance, and strategy to choose the correct consensus algorithm. * Introduces security issues in the industrial internet of things, internet of things, blockchain integration, and blockchain-based applications. The text presents in-depth coverage of theoretical concepts, applications and advances in the field of blockchain technology. This book will be an ideal reference for graduate students and academic researchers in diverse engineering fields such as electrical, electronics and communication, computer, and information technology.
Technology and organizations co-evolve, as is illustrated by the growth of information and communication technology (ICT) and global software engineering (GSE). Technology has enabled the development of innovations in GSE. The literature on GSE has emphasized the role of the organization at the expense of technology. This book explores the role of technology in the evolution of globally distributed software engineering. To date, the role of the organization has been examined in coordinating GSE activities because of the prevalence of the logic of rationality (i.e., the efficiency ethos, mechanical methods, and mathematical analysis) and indeterminacy (i.e., the effectiveness ethos, natural methods, and functional analysis). This logic neglects the coordination role of ICT. However, GSE itself is an organizational mode that is technology-begotten, technology-dominated, and technology-driven, as is its coordination. GSE is a direct reflection of ICT innovation, change, and use, yet research into the role technology of GSE has been neglected. Global Software Engineering: Virtualization and Coordination considers existing fragmented explanations and perspectives in GSE research, poses new questions about GSE, and proposes a framework based on the logic of virtuality (i.e., creativity ethos, electrical methods, and technological analysis) rather than of rationality and indeterminacy. Virtuality is the primary perspective in this book's comprehensive study of GSE. The book concludes with an integrated explanation of GSE coordination made possible through ICT connectivity and capitalization.
Driving innovation can reduce costs for companies, institutions, military programs, and successful businesses. Quality is key to successful innovation. Delivery of complex products must have high quality to reduce customer problems and defects. This book explains how to integrate Quality Assurance processes to produce compliant product management and gap analysis. It shows how Quality Assurance provides a common operating framework in which best practices, improvements, and cost avoidance activities can be shared. Effective Processes for Quality Assurance emphasizes improving process execution and reducing operational costs. It also focuses on how Quality Assurance personnel must support companies, institutions, military programs, and successful businesses by encouraging a cooperative, proactive approach and ensure compliance through management and team member participation. Lean and Agile can provide a competitive advantage, and this practical reference explains how to implement these two principles to deliver products that have fewer defects. It also explains: Quality Assurance methods Measuring benefits of Quality Assurance process improvement Quality Assurance performance and improvement Risk management Quality Assurance improvement with metrics Effective processes for Quality Assurance Quantitative process performance and commitments Quality Assurance plans Quality Assurance for customers and suppliers Supporting software configuration Effective Processes for Quality Assurance covers the critical issues for implementing Quality Assurance processes that can deliver high-quality products successfully.
This fourth Edition presents new examples on submodules, derived type i/o, object oriented programming, abstract interfaces and procedure pointers, C interop, sorting and searching, statistics and converting to more modern versions of Fortran. Key Features Highlights the core language features of modern Fortran including data typing, array processing, control structures, functions, subroutines, modules and submodules, user defined types, pointers, operator overloading, generic programming, parallel programming, abstract interfaces, procedure pointers Pinpoints common problems that occur when programming Illustrates the use of several compilers Introduction to Programming with Fortran has been written for the complete beginner with little or no programming background as well as existing Fortran programmers and those with programming experience in other languages
Activity theory is a way of describing and characterizing the structure of human - tivity of all kinds. First introduced by Russian psychologists Rubinshtein, Leontiev, and Vigotsky in the early part of the last century, activity theory has more recently gained increasing attention among interaction designers and others in the hum- computer interaction and usability communities (see, for example, Gay and H- brooke, 2004). Interest was given a signi?cant boost when Donald Norman suggested activity-theory and activity-centered design as antidotes to some of the putative ills of "human-centered design" (Norman, 2005). Norman, who has been credited with coining the phrase "user-centered design," suggested that too much attention focused on human users may be harmful, that to design better tools designers need to focus not so much on users as on the activities in which users are engaged and the tasks they seek to perform within those activities. Although many researchers and practitioners claim to have used or been in?uenced by activity theory in their work (see, for example, Nardi, 1996), it is often dif?cult to trace precisely where or how the results have actually been shaped by activity theory. Inmanycases, evendetailedcasestudiesreportresultsthatseemonlydistantlyrelated, if at all, to the use of activity theory. Contributing to the lack of precise and traceable impact is that activity theory, - spite its name, is not truly a formal and proper theory. |
![]() ![]() You may like...
Working Effectively with Legacy Code
Michael C. Feathers
Paperback
Data Prefetching Techniques in Computer…
Pejman Lotfi-Kamran, Hamid Sarbazi-Azad
Hardcover
R4,067
Discovery Miles 40 670
Principles of Big Graph: In-depth…
Ripon Patgiri, Ganesh Chandra Deka, …
Hardcover
R4,068
Discovery Miles 40 680
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,084
Discovery Miles 40 840
|