![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Software engineering
From the perspective that software measurements can be simple yet very useful in making the decisions needed to mange software projects, Software Measurement, Metrics and Project Management presents an integrated approach to measurements and techniques for deriving knowledge from measurements. The ideas and techniques are derived from best practices and are field-proven, down-to-earth, and above all, clearly stated. The author directly relates data to decision-making and leadership issues in business and provides outstanding guidance on data analysis interpretation and process modeling. Ultimately, it will help readers understand how ordinary analysis techniques can be applied to achieve extraordinary results.
The work presented in this book is based on empirical study undertaken as a case study to understand the challenges faced in massively open online course (MOOC) based learning and experimentation to understand the challenges for presenting theoretical and practical courses. The book proposes a flexible online platform. This solution provides flexibility in distance learning processes including course enrollment, learning, evaluation, and outcome of degrees. The proposed system not only gives students freedom to choose their courses in accordance with their needs but also use earned credit towards online degrees of any university of their choice.
The huge proliferation of security vulnerability exploits, worms, and viruses place an incredible drain on both cost and confidence for manufacturers and consumers. The release of trustworthy code requires a specific set of skills and techniques, but this information is often dispersed and decentralized, encrypted in its own jargon and terminology, and can take a colossal amount of time and data mining to find. Written in simple, common terms, Testing Code Security is a consolidated resource designed to teach beginning and intermediate testers the software security concepts needed to conduct relevant and effective tests. Answering the questions pertinent to all testing procedures, the book considers the differences in process between security testing and functional testing, the creation of a security test plan, the benefits and pitfalls of threat-modeling, and the identification of root vulnerability problems and how to test for them. The book begins with coverage of foundation concepts, the process of security test planning, and the test pass. Offering real life examples, it presents various vulnerabilities and attacks and explains the testing techniques appropriate for each. It concludes with a collection of background overviews on related topics to fill common knowledge gaps. Filled with cases illustrating the most common classes of security vulnerabilities, the book is written for all testers working in any environment, and it gives extra insight to threats particular to Microsoft Windows (R) platforms. Providing a practical guide on how to carry out the task of security software testing, Testing Code Security gives the reader the knowledge needed to begin testing software security for any project and become an integral part in the drive to produce better software security and safety.
MATLAB Blues is an accessible, comprehensive introduction to the MATLAB computer programming language-a powerful and increasingly popular tool for students and researchers. Rosenbaum identifies many of the common mistakes and pitfalls associated with using MATLAB, and shows users how they can learn from these mistakes to be better, happier programmers. Each chapter systematically addresses one of the basic principles of the programming language, like matrices, calculations, contingencies, plotting, input-output, and graphics, and then identifies areas that are problematic, as well as potential errors that can occur. This not only provides the reader with the fundamental "scales and chords" that a MATLAB programmer needs to know, but also with a series of examples and explanations of how to avoid and remedy common mistakes. Accompanied by an array of sample code that can be used and manipulated in conjunction with the textbook, this book is a practical, insightful introduction to MATLAB which provides motivation and encouragement to those with little or no background in programming as well as to those with more advanced concerns. It is an invaluable resource for researchers and students undertaking courses in research methods, statistics, and programming.
Managing a software development project is a complex process. There
are lots of deliverables to produce, standards and procedures to
observe, plans and budgets to meet, and different people to manage.
Project management doesn't just start and end with designing and
building the system. Once you've specified, designed and built (or
bought) the system it still needs to be properly tested, documented
and settled into the live environment. This can seem like a maze to
the inexperienced project manager, or even to the experienced
project manager unused to a particular environment.
The book will also be useful to designers and architects, describing important design techniques, and discussing the important discipline of Software Architecture. This new edition:
Focuses on the concept of open source prototyping and product development and designing sensor networks and covers IoT base applications This book will serves as a single source of introductory material and reference for programming smart computing and Internet of Things (IoT) devices using Arduino with the use of Python It covers number of comprehensive DIY experiments through which the reader can design various intelligent systems
MATLAB Blues is an accessible, comprehensive introduction to the MATLAB computer programming language-a powerful and increasingly popular tool for students and researchers. Rosenbaum identifies many of the common mistakes and pitfalls associated with using MATLAB, and shows users how they can learn from these mistakes to be better, happier programmers. Each chapter systematically addresses one of the basic principles of the programming language, like matrices, calculations, contingencies, plotting, input-output, and graphics, and then identifies areas that are problematic, as well as potential errors that can occur. This not only provides the reader with the fundamental "scales and chords" that a MATLAB programmer needs to know, but also with a series of examples and explanations of how to avoid and remedy common mistakes. Accompanied by an array of sample code that can be used and manipulated in conjunction with the textbook, this book is a practical, insightful introduction to MATLAB which provides motivation and encouragement to those with little or no background in programming as well as to those with more advanced concerns. It is an invaluable resource for researchers and students undertaking courses in research methods, statistics, and programming.
The second edition of C# and Game Programming offers the same practical, hands-on approach as the first edition to learning the C# language through classic arcade game applications. Complete source code for games like Battle Bit, Asteroid Miner, and Battle Tennis, included on the CD-ROM, demonstrates programming strategies and complements the comprehensive treatment of C# in the text. From the basics of adding graphics and sound to games, to advanced concepts such as the .Net framework and object-oriented programming, this book provides the foundations for a beginner to become a full-fledged programmer. New in this edition: - Supports DirectX 9.0 - Revised programs and examples - Improved frame rate for game examples
Python makes machine learning easy for beginners and experienced developers With computing power increasing exponentially and costs decreasing at the same time, there is no better time to learn machine learning using Python. Machine learning tasks that once required enormous processing power are now possible on desktop machines. However, machine learning is not for the faint of heart--it requires a good foundation in statistics, as well as programming knowledge. Python Machine Learning will help coders of all levels master one of the most in-demand programming skillsets in use today. Readers will get started by following fundamental topics such as an introduction to Machine Learning and Data Science. For each learning algorithm, readers will use a real-life scenario to show how Python is used to solve the problem at hand. - Python data science--manipulating data and data visualization - Data cleansing - Understanding Machine learning algorithms - Supervised learning algorithms - Unsupervised learning algorithms - Deploying machine learning models Python Machine Learning is essential reading for students, developers, or anyone with a keen interest in taking their coding skills to the next level.
This comprehensive reference on software development quality assurance addresses all four dimensions of quality: specifications, design, construction and conformance. It focuses on quality from both the micro and macro viewpoint. From a micro view, it details the aspect of building-in quality at the component level to help ensure that the overall deliverable has ingrained quality. From a macro view, it addresses the organizational-level activities that provide an environment conducive to fostering quality in the deliverables as well as developing a culture focused on quality in the organization. Mastering Software Quality Assurance also explores a process driven approach to quality and provides the information and guidance needed for implementing a process quality model in your organization. It includes best practices and valuable tools and techniques for software developers.
Focuses on the concept of open source prototyping and product development and designing sensor networks and covers IoT base applications This book will serves as a single source of introductory material and reference for programming smart computing and Internet of Things (IoT) devices using Arduino with the use of Python It covers number of comprehensive DIY experiments through which the reader can design various intelligent systems
Client-Centered Software Development: The CO-FOSS Approach introduces a method to creating a customized software product for a single client, either from scratch or by reusing open source components. The clients are typically non-profit humanitarian, educational, or public service organizations. This approach has been used in undergraduate courses where students learn the principles of software development while implementing a real-world software product. This book provides instructors, students, clients, and professional software developers with detailed guidance for developing a new CO-FOSS product from conceptualization to completion. Features Provides instructors, students, clients, and professional software developers with a roadmap for the development of a new CO-FOSS product from conceptualization to completion Motivates students with real-world projects and community service experiences Teaches all elements of the software process, including requirements gathering, design, collaboration, coding, testing, client communication, refactoring, and writing developer and user documentation Uses source code that can be reused and refitted to suit the needs of future projects, since each CO-FOSS product is free and open source software Provides links to a rich variety of resources for instructors and students to freely use in their own courses that develop new CO-FOSS products for other non-profits.
Expert advice on C programming is hard to find. While much help is available for object-oriented programming languages, there's surprisingly little for the C language. With this hands-on guide, beginners and experienced C programmers alike will find guidance about design decisions, including how to apply them bit by bit to running code examples when building large-scale programs. Christopher Preschern, a leading member of the design patterns community, answers questions such as how to structure C programs, cope with error handling, or design flexible interfaces. Whether you're looking for one particular pattern or an overview of design options for a specific topic, this book shows you how to implement hands-on design knowledge specifically for the C programming language. You'll find design patterns for: Error handling Returning error information Memory management Returning data from C functions Data lifetime and ownership Flexible APIs Flexible iterator interfaces Organizing files in modular programs Escaping #ifdef Hell
DVD Authoring and Production is an authoritative and comprehensive guide to publishing content in the DVD-Video, DVD-ROM, and WebDVD formats. Readers learn everything they need to create, produce, and master DVDs - including a firsthand look at professional production techniques employed in the author's StarGaze DVD. Professionals and aspiring DVD artists alike learn the latest tools and techniques as well as how to succeed in the business realm of the DVD world, including optimal methods of marketing, distributing, and selling.
Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, VB.NET and C# (and any language using the .NET Framework), PHP, and MySQL. If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you already use them, you'll appreciate this book's unprecedented detail and breadth of coverage. If you think you know all you need to know about regular expressions, this book is a stunning eye-opener. As this book shows, a command of regular expressions is an invaluable skill. Regular expressions allow you to code complex and subtle text processing that you never imagined could be automated. Regular expressions can save you time and aggravation. They can be used to craft elegant solutions to a wide range of problems. Once you've mastered regular expressions, they'll become an invaluable part of your toolkit. You will wonder how you ever got by without them. Yet despite their wide availability, flexibility, and unparalleled power, regular expressions are frequently underutilized. Yet what is power in the hands of an expert can be fraught with peril for the unwary. Mastering Regular Expressions will help you navigate the minefield to becoming an expert and help you optimize your use of regular expressions. Mastering Regular Expressions, Third Edition, now includes a full chapter devoted to PHP and its powerful and expressive suite of regular expression functions, in addition to enhanced PHP coverage in the central "core" chapters. Furthermore, this edition has been updated throughout to reflect advances in other languages, including expanded in-depth coverage of Sun's java.util.regex package, which has emerged as the standard Java regex implementation.Topics include: * A comparison of features among different versions of many languages and tools * How the regular expression engine works * Optimization (major savings available here!) * Matching just what you want, but not what you don't want * Sections and chapters on individual languages Written in the lucid, entertaining tone that makes a complex, dry topic become crystal-clear to programmers, and sprinkled with solutions to complex real-world problems, Mastering Regular Expressions, Third Edition offers a wealth information that you can put to immediate use. Reviews of this new edition and the second edition: "There isn't a better (or more useful) book available on regular expressions." --Zak Greant, Managing Director, eZ Systems "A real tour-de-force of a book which not only covers the mechanics of regexes in extraordinary detail but also talks about efficiency and the use of regexes in Perl, Java, and .NET...If you use regular expressions as part of your professional work (even if you already have a good book on whatever language you're programming in) I would strongly recommend this book to you." --Dr. Chris Brown, Linux Format "The author does an outstanding job leading the reader from regex novice to master. The book is extremely easy to read and chock full of useful and relevant examples...Regular expressions are valuable tools that every developer should have in their toolbox. Mastering Regular Expressi
This book covers the whole spectrum of modeling goals to achieve optimal quality in the process model developed. It focuses on how to balance quality considerations across all semiotic levels when models are used for different purposes, and is based on SEQUAL, a framework for understanding the quality of models and modeling languages, which can take into account all main aspects relating to the quality of models. Chapter 1 focuses on the theoretical foundations, introducing readers to the topics of business processes and business process modeling, as well as the most important concept underlying the modeling of business processes. In turn, Chapter 2 addresses the quality of models in general and business process models in particular. Chapter 3 contains a specialization of SEQUAL for quality of business process models. In Chapter 4, examples of the practical uses of business process models are provided, together with the results of detailed case studies on how to achieve and maintain quality in business process models. Chapter 5 presents a process modeling value framework that demonstrates how to achieve more long-term and higher return on investment with regard to (business) process and enterprise models. Lastly, Chapter 6 reviews the main points of the book and discusses the potential for business process modeling in the future through its combination with other types of modeling. The book has two intended audiences. It is primarily intended for computer science, software engineering and information system students at the postgraduate level who want to know more about business process modeling and the quality of models in preparation for professional practice. The second audience consists of professionals with extensive experience in and responsibilities related to the development and evolution of process-oriented information systems and information systems methodologies in general, who need to formalize and structure their practical experience or update their knowledge as a way to improve their professional activity. The book also includes a number of real-world case studies that make it easier to grasp the main theoretical concepts, helping readers apply the approaches described.
With the new developments in computer architecture, fairly recent publications can quickly become outdated. Computer Architecture: Software Aspects, Coding, and Hardware takes a modern approach. This comprehensive, practical text provides that critical understanding of a central processor by clearly detailing fundamentals, and cutting edge design features. With its balanced software/hardware perspective and its description of Pentium processors, the book allows readers to acquire practical PC software experience. The text presents a foundation-level set of ideas, design concepts, and applications that fully meet the requirements of computer organization and architecture courses.
"User Interfaces for All" is the first book dedicated to the issues
of Universal Design and Universal Access in the field of
Human-Computer Interaction (HCI). Universal Design (or Design for
All) is an inclusive and proactive approach seeking to accommodate
diversity in the users and usage contexts of interactive products,
applications, and services, starting from the design phase of the
development life cycle. The ongoing paradigm shift toward a
knowledge-intensive information society is already bringing about
radical changes in the way people work and interact with each other
and with information. The requirement for Universal Design stems
from the growing impact of the fusion of the emerging technologies,
and from the different dimensions of diversity, which are intrinsic
to the information society.
We're losing hundreds of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project. These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend.By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code. Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.
This book provides a structured overview of artificial intelligence-empowered applied software engineering. Evolving technological advancements in big data, smartphone and mobile software applications, the Internet of Things and a vast range of application areas in all sorts of human activities and professions lead current research towards the efficient incorporation of artificial intelligence enhancements into software and the empowerment of software with artificial intelligence. This book at hand, devoted to Novel Methodologies to Engineering Smart Software Systems Novel Methodologies to Engineering Smart Software Systems, constitutes the first volume of a two-volume Handbook on Artificial Intelligence-empowered Applied Software Engineering. Topics include very significant advances in (i) Artificial Intelligence-Assisted Software Development and (ii) Software Engineering Tools to develop Artificial Intelligence Applications, as well as a detailed Survey of Recent Relevant Literature. Professors, researchers, scientists, engineers and students in artificial intelligence, software engineering and computer science-related disciplines are expected to benefit from it, along with interested readers from other disciplines.
This new edition has been fully revised and updated to include extensive information on the ARM Cortex-M4 processor, providing a complete up-to-date guide to both Cortex-M3 and Cortex-M4 processors, and which enables migration from various processor architectures to the exciting world of the Cortex-M3 and M4. This book presents the background of the ARM architecture and outlines the features of the processors such as the instruction set, interrupt-handling and also demonstrates how to program and utilize the advanced features available such as the Memory Protection Unit (MPU). Chapters on getting started with IAR, Keil, gcc and CooCox CoIDE
tools help beginners develop program codes. Coverage also includes
the important areas of software development such as using the low
power features, handling information input/output, mixed language
projects with assembly and C, and other advanced topics. A new chapter on the Cortex-M4 floating point unit and how to use it A new chapter on using embedded OS (based on CMSIS-RTOS), as well as details of processor features to support OS operations Various debugging techniques as well as a troubleshooting guide in the appendix topics on software porting from other architectures A full range of easy-to-understand examples, diagrams and quick reference appendices "
Whatever your programming language, whatever your platform, you
probably tap into linker and loader functions all the time. But do
you know how to use them to their greatest possible advantage? Only
now, with the publication of Linkers & Loaders, is there an
authoritative book devoted entirely to these deep-seated
compile-time and run-time processes.
The Systems Development Handbook provides practical guidance for the r ange of new applications problems, featuring contributions from many i ndustry experts. The book provides step-by-step charts, tables, schema tics, and a comprehensive index for easy access to topics and areas of related interest. Topics include cooperative processing; the transiti on to object-oriented development; rapid application development tools and graphical user interfaces (GUIs); database architecture in distri buted computing; development tools and techniques, including design, m easurement, and production; and more. |
![]() ![]() You may like...
Advances in VLSI, Communication, and…
Debashis Dutta, Haranath Kar, …
Hardcover
R5,828
Discovery Miles 58 280
Fundamentals of High Frequency CMOS…
Duran Leblebici, Yusuf Leblebici
Hardcover
R2,551
Discovery Miles 25 510
Advances in Communications, Signal…
T. Laxminidhi, Jyoti Singhai, …
Hardcover
R6,384
Discovery Miles 63 840
Charge-based CMOS Digital RF…
Pedro Emiliano Paro Filho, Jan Craninckx, …
Hardcover
R4,067
Discovery Miles 40 670
Silicon Photonics, Volume 99
Chennupati Jagadish, Sebastian Lourdudoss, …
Hardcover
R5,545
Discovery Miles 55 450
|