UML 2 and the Unified Process contains a wealth of practical, powerful, and useful techniques that you can apply immediately. As you progress through the text, you will learn OO analysis and design techniques, UML syntax and semantics, and the relevant aspects of the UP. The book provides you with an accurate and succinct summary of both UML and UP from the point of view of the OO analyst and designer.
This book provides
Chapter roadmaps, detailed diagrams, and margin notes allowing you to focus on your needs
Outline summaries for each chapter, making it ideal for revision, and a comprehensive index that can be used as a reference
Fuzzing...
Master One of Today’s Most Powerful Techniques for Revealing Security Flaws!
Fuzzing has evolved into one of today’s most effective approaches to test software security. To “fuzz,” you attach a program’s inputs to a source of random data, and then systematically identify the failures that arise. Hackers have relied on fuzzing for years: Now, it’s your turn. In this book, renowned fuzzing experts show you how to use fuzzing to reveal weaknesses in your software before someone else does.
Fuzzing is the first and only book to cover fuzzing from start to finish, bringing disciplined best practices to a technique that has traditionally been implemented informally. The authors begin by reviewing how...
Ousterhouts Tcl and the Tk Toolkit was one of the first books on Tcl (tool command language) and Tk (toolkit) and has become one of the classics in the field. Written by the developer of Tcl and Tk, the text takes a no-nonsense approach to the language, describing the elements of Tcl and Tk in programming-reference-style detail. If you are already familiar with a C-like language and want a just-the-facts introduction to Tcl and Tk, this is the book for you. The manual is divided into four sections: a description of the Tcl language, an introduction to Tk, a discussion of the Tcl/C interface, and information about the Tk/C interface. Although there are no fully worked out programs, code snippets illustrate how to use control structures...
Нынешнее издание столь популярного вводного курса стандартного языка C++ было полностью переделано, реорганизовано и переписано так, чтобы помочь быстрее и эффективнее научиться программировать на этом языке. По мере развития языка C++, автор старается вносить в последующие издания соответствующие изменения. Теперь стандартная библиотека C++ описана с самого начала, что позволяет читателю сразу...
Подробное описание системы управления базами данных SQL Server, которая в настоящее время получила очень широкое распространение.
Рассматривается весь состав программных средств, лежащих в основе этой СУБД и показано, как работают и взаимодействуют ее многочисленные компоненты. Приведены необходимые сведения о фундаментальных технологиях Windows, на которых основана работа программы SQL Server. В книге принят...
The Classic Guide to Solving Real-World Problems with Perl--Now Fully Updated for Today's Best Idioms! For years, experienced programmers have relied on Effective Perl Programming to discover better ways to solve problems with Perl. Now, in this long-awaited second edition, three renowned Perl programmers bring together today's best idioms, techniques, and examples: everything you need to write more powerful, fluent, expressive, and succinct code with Perl. Nearly twice the size of the first edition, Effective Perl Programming, Second Edition, offers everything from rules of thumb to avoid common pitfalls to the latest wisdom for using Perl modules. You won't just learn the right ways to use Perl: You'll learn why these approaches work...
Over the course of a legendary career, Joe Marasco earned a reputation as the "go to" software project manager: the one to call when you were facing a brutally tough, "make or break" project. Marasco reflected on his experiences in a remarkable series of "Franklins Kite" essays for The Rational Edge, Rational and IBMs online software development magazine. Now, Marasco collects and updates those poignant essays, bringing his unique insights (and humor) to everything from modeling to scheduling, team dynamics to compensation. The result: a new classic that deserves a place alongside Fred Brooks The Mythical Man-Month in the library of every developer and software manager
What Every Professional C++ Programmer Needs to Know—Pared to Its Essentials So It Can Be Efficiently and Accurately Absorbed
C++ is a large, complex language, and learning it is never entirely easy. But some concepts and techniques must be thoroughly mastered if programmers are ever to do professional-quality work. This book cuts through the technical details to reveal what is commonly understood to be absolutely essential. In one slim volume, Steve Dewhurst distills what he and other experienced managers, trainers, and authors have found to be the most critical knowledge required for successful C++ programming. It doesn’t matter where or when you first learned C++. Before you take another step, use this book as your guide...
Шаблоны C++ представляют собой активно развивающуюся часть языка программирования, предоставляющую программисту новые возможности быстрой разработки эффективных и надежных программ и повторного использования кода. Данная книга, написанная в соавторстве теоретиком C++ и программистом-практиком с большим опытом, удачно сочетает строгость изложения и полноту освещения темы с вопросами практического...
В настоящей книге приведены рекомендации, касающиеся того, как использовать методы рефакторинга для усовершенствования баз данных. Она посвящена описанию процедур проектирования базы данных с точки зрения архитектора объектно-ориентированного программного обеспечения, поэтому представляет интерес и для разработчиков прикладного кода, и для специалистов в области реляционных баз данных. В книгу...
In this book, five years in the making, the author encapsulates three decades
of unwritten, hard-won software engineering wisdom. Raymond brings together
for the first time the philosophy, design patterns, tools, culture, and traditions that
make UNIX home to the world's best and most innovative software, and shows how
these are carried forward in Linux and today's open-source movement. Using examples
from leading open-source projects, he shows UNIX and Linux programmers how to apply this wisdom in building software that's more elegant, more portable, more reusable, and longer-lived.
How does software break? How do attackers make software break on purpose? Why are firewalls, intrusion detection systems, and antivirus software not keeping out the bad guys? What tools can be used to break software? This book provides the answers.
Exploiting Software is loaded with examples of real attacks, attack patterns, tools, and techniques used by bad guys to break software. If you want to protect your software from attack, you must first learn how real attacks are really carried out.
This must-have book may shock you--and it will certainly educate you. Getting beyond the script kiddie treatment found in many hacking books, you will learn about
Why software exploit will...
Agile requirements: discovering what your users really want. With this book, you will learn to:
Flexible, quick and practical requirements that work.
Save time and develop better software that meets users' needs.
Gathering user stories -- even when you can't talk to users.
How user stories work, and how they differ from use cases, scenarios, and traditional requirements.
Leveraging user stories as part of planning, scheduling, estimating, and testing.
Ideal for Extreme Programming, Scrum, or any other agile methodology.
Learn how to:
Educate your organization about the importance of usability .
Hire and coordinate usability staff and consultants.
Plan the standards, design, and implementation phases.
Retrofit a method that has added user-centered activities.
Recruit participants for usability interviews and testing .
Select the right staff and project to showcase—by timeline, user impact, and visibility.
Evangelize, train and mentor staff, and support the community.
Whether you are an executive leading the institutionalization process, a manager supporting the transition, or an engineer working on usability issues, Institutionalization of Usability will help you to build usability into your software practices.
In The Humane Interface, Raskin goes into detail describing how computers can be made easier to understand and use. Ever want to know why you really don't like Windows? The answer is in this book. In fact, there's so much in this book that makes sense, I really want to send a copy to every employee at Microsoft.
I loved reading this book and nodding my head in rabid agreement. Raskin states, "There has never been any technical reason for a computer to take more than a few seconds to begin operation when it is turned on." So why then does Windows (or Linux!) take so darn long to start up? The PalmPilot is on instantly, as is your cell phone. But for some reason, we tolerate the computer taking a few eons to start. (And until consumers...
Introduction to Programming Using Java builds a solid foundation in programming by discussing objects right from the start.
This approach provides a pedagogical introduction to concepts such as object, class, and message as early as Chapter
One.
Throughout the text a strong emphasis is placed on the
software development process. Graphical User Interface (GUI)
Supplements and Java Interludes, two running features included in each chapter, reinforce and enhance core concepts.
NEW TO THE SECOND EDITION:
Conditionals and primitive data types are introduced earlier
in the text to provide richer and more meaningful examples.
LaTeX is the text-preparation system of choice for scientists and academics, and is especially useful for typesetting technical materials. This popular book shows you how to begin using LaTeX to create high-quality documents. The book also serves as a handy reference for all LaTeX users. In this completely revised edition, the authors cover the LaTeX2? standard and offer more details, examples, exercises, tips, and tricks. They go beyond the core installation to describe the key contributed packages that have become essential to LaTeX processing.
Inside, you will find:
Complete coverage of LaTeX fundamentals, including how to input text, symbols, and mathematics; how to produce lists and tables; how to include...
Создание компьютерных систем - дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся все более трудоемкими, причем затраты труда растут экспоненциально. Как и в любой профессии, прогресс в программировании достигается исключительно путем обучения, причем не только на ошибках, но и на удачах - как своих, так и...