Managing Software Requirements: A Use Case Approach


Dean Leffingwell - 1999
    Developers of any kind of application should read this book." Grady Booch"A comprehensive solution to the requirements challenges faced by every development team. Full of insight and ideas all developers can learn from." Ivar JacobsonDespite the wealth of development knowledge, experience, and tools available today, a substantial percentage of software projects fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. This second edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget.Using an accessible style, their own war stories, and a comprehensive case study, the authors show how analysts and developers can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements, Second Edition, specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders.Topics covered include:The five steps in problem analysisBusiness modeling and system engineeringTechniques for eliciting requirements from customers and stakeholdersEstablishing and managing project scopeApplying and refining use casesProduct managementTransitioning from requirements to design and implementationTransitioning from use cases to test casesAgile requirements methods

PHP and MySQL Web Development (Developer's Library)


Luke Welling - 2003
    This book helps you develop websites by integrating and implementing the PHP scripting language and the MySQL database system. It contains real-world examples and working sample projects that give you a foundation to start building your own websites.

The Little Go Book


Karl Seguin - 2014
    It's aimed at developers who might not be quite comfortable with the idea of pointers and static typing.http://openmymind.net/The-Little-Go-B...

Higher-Order Perl: Transforming Programs with Programs


Mark Jason Dominus - 2005
    However, Perl incorporates many features that have their roots in other languages such as Lisp. These advanced features are not well understood and are rarely used by most Perl programmers, but they are very powerful. They can automate tasks in everyday programming that are difficult to solve in any other way. One of the most powerful of these techniques is writing functions that manufacture or modify other functions. For example, instead of writing ten similar functions, a programmer can write a general pattern or framework that can then create the functions as needed according to the pattern. For several years Mark Jason Dominus has worked to apply functional programming techniques to Perl. Now Mark brings these flexible programming methods that he has successfully taught in numerous tutorials and training sessions to a wider audience.• Introduces powerful programming methods—new to most Perl programmers—that were previously the domain of computer scientists• Gradually builds up confidence by describing techniques of progressive sophistication• Shows how to improve everyday programs and includes numerous engaging code examples to illustrate the methods

CCNA - Cisco Certified Network Associate Study Guide: Exam 640-802


Todd Lammle - 2007
    Completely Revised for the New 2007 Version of the CCNA Exam (#640-802) Cisco networking authority Todd Lammle has completely updated this new edition to cover all of the exam objectives for the latest version of the CCNA exam.

802.11 Wireless Networks: The Definitive Guide


Matthew S. Gast - 2002
    Foremost on that list is mobility, since going wireless frees you from the tether of an Ethernet cable at a desk. But that's just the tip of the cable-free iceberg. Wireless networks are also more flexible, faster and easier for you to use, and more affordable to deploy and maintain.The de facto standard for wireless networking is the 802.11 protocol, which includes Wi-Fi (the wireless standard known as 802.11b) and its faster cousin, 802.11g. With easy-to-install 802.11 network hardware available everywhere you turn, the choice seems simple, and many people dive into wireless computing with less thought and planning than they'd give to a wired network. But it's wise to be familiar with both the capabilities and risks associated with the 802.11 protocols. And 802.11 Wireless Networks: The Definitive Guide, 2nd Edition is the perfect place to start.This updated edition covers everything you'll ever need to know about wireless technology. Designed with the system administrator or serious home user in mind, it's a no-nonsense guide for setting up 802.11 on Windows and Linux. Among the wide range of topics covered are discussions on:deployment considerationsnetwork monitoring and performance tuningwireless security issueshow to use and select access pointsnetwork monitoring essentialswireless card configurationsecurity issues unique to wireless networksWith wireless technology, the advantages to its users are indeed plentiful. Companies no longer have to deal with the hassle and expense of wiring buildings, and households with several computers can avoid fights over who's online. And now, with 802.11 Wireless Networks: The Definitive Guide, 2nd Edition, you can integrate wireless technology into your current infrastructure with the utmost confidence.

Search Engine Optimization: An Hour a Day


Jennifer Grappone - 2006
    Drawing on years of experience as successful SEO consultants, Jennifer Grappone and Gradiva Couzin provide detailed, practical, and often surprisingly simple techniques for improving results. Their simple strategies include setting SEO goals, site optimization, developing and implementing a strategy that might include both free and paid efforts, and tools for monitoring trends, measuring the competition, and tracking results.

What Is Node?


Brett McLaughlin - 2011
    It’s the latest in a long line of “Are you cool enough to use me?” programming languages, APIs, and toolkits. In that sense, it lands squarely in the tradition of Rails, and Ajax, and Hadoop, and even to some degree iPhone programming and HTML5.Dig a little deeper, and you’ll hear that Node.js (or, as it’s more briefly called by many, simply “Node”) is a server-side solution for JavaScript, and in particular, for receiving and responding to HTTP requests. If that doesn’t completely boggle your mind, by the time the conversation heats up with discussion of ports, sockets, and threads, you’ll tend to glaze over. Is this really JavaScript? In fact, why in the world would anyone want to run JavaScript outside of a browser, let alone the server?The good news is that you’re hearing (and thinking) about the right things. Node really is concerned with network programming and server-side request/response processing. The bad news is that like Rails, Ajax, and Hadoop before it, there’s precious little clear information available. There will be, in time — as there now is for these other “cool” frameworks that have matured — but why wait for a book or tutorial when you might be able to use Node today, and dramatically improve the maintainability.

Threat Modeling: Designing for Security


Adam Shostack - 2014
    Dobbs Jolt Award Finalist since Bruce Schneier's Secrets and Lies and Applied Cryptography!Adam Shostack is responsible for security development lifecycle threat modeling at Microsoft and is one of a handful of threat modeling experts in the world. Now, he is sharing his considerable expertise into this unique book. With pages of specific actionable advice, he details how to build better security into the design of systems, software, or services from the outset. You'll explore various threat modeling approaches, find out how to test your designs against threats, and learn effective ways to address threats that have been validated at Microsoft and other top companies.Systems security managers, you'll find tools and a framework for structured thinking about what can go wrong. Software developers, you'll appreciate the jargon-free and accessible introduction to this essential skill. Security professionals, you'll learn to discern changing threats and discover the easiest ways to adopt a structured approach to threat modeling.Provides a unique how-to for security and software developers who need to design secure products and systems and test their designs Explains how to threat model and explores various threat modeling approaches, such as asset-centric, attacker-centric and software-centric Provides effective approaches and techniques that have been proven at Microsoft and elsewhere Offers actionable how-to advice not tied to any specific software, operating system, or programming language Authored by a Microsoft professional who is one of the most prominent threat modeling experts in the world As more software is delivered on the Internet or operates on Internet-connected devices, the design of secure software is absolutely critical. Make sure you're ready with Threat Modeling: Designing for Security.

Herding Cats: A Primer for Programmers Who Lead Programmers


J. Hank Rainwater - 2002
    J. Hank Rainwater introduces new and not-so-new managers to concepts that will encourage them and help them become a strong leaders for their teams. You�ll learn about the varieties of programmer personality traits and be able match personnel to projects for maximum productivity. You�ll also learn how to manage your strengths and weaknesses as you improve your leadership skills, which will result in dramatic improvements to your team�s success. In this �how-to� manual that�s both practical and thought- provoking, you�ll find several chapters devoted to administrative aspects of your job, such as managing meetings, hiring and firing, and principles of organizing your job for success. Rainwater also describes task management software he built that you can use to organize project assignments. (The source code for this software is available for download once you own the book.) The chapter on technical leadership, which highlights the importance of architecture, design, and code reviews, not only illustrates practical applications of leadership, but also digs deep into concrete methods you must employ. Rainwater shows why things can go wrong for a leader and how to correct career-derailing problems as they arise. One chapter is devoted to the working relationship that you as a manager have with your boss, and it guides you into the best way to respond to the pressures of software project deadlines. Numerous other topics are discussed that are a necessity for anyone seeking to manage the �peopleware� aspects of software development. "Herding Cats: A Primer for Programmers Who Lead Programmers" is the definitive guide to the challenges and obstacles facing anyone who manages programmers. Author Information Hank Rainwater leads programmers who build software for the insurance industry at Risk Sciences Group in Atlanta, Georgia. His career in science and engineering has spanned over three decades and has included writing Fortran programs on punch cards; teaching college mathematics; conducting research in radio astronomy, missile guidance systems, and remote sensing technologies; and managing the building of embedded digital control systems. As a software professional, Hank has served as a consultant, mentor, and teacher of programming languages and has led development teams in several industries.

Effective Unit Testing


Lasse Koskela - 2012
    Savvy Java developers know that not all testing is created equal. In addition to traditional functional testing, many shops are adopting developer testing techniques such as unit testing. Specific, automated tests are created to verify the accuracy and function of code while or even before it's written - to catch bugs early.Unit Testing in Java teaches how to write good tests that are concise and to the point, useful, and maintainable. This book focuses on tools and practices specific to Java. It introduces emerging techniques like specification by example and behavior-driven development, and shows how to add robust practices into developers' toolkits.Table of ContentsI. FOUNDATIONS1. The promise of good tests2. In search of good3. Test doublesII. CATALOG4. Readability5. Maintainability6. TrustworthinessIII. DIVERSIONS7. Testable design8. Writing tests in other JVM languages9. Speeding up test executionsAppendix A: JUnit primerAppendix B: Extending JUnitIndex

Network Security: Private Communication in a Public World


Charlie Kaufman - 1995
    In the second edition of Network Security, this most distinguished of author teams draws on hard-won experience to explain every facet of information security, from the basics to advanced cryptography and authentication; secure Web and email services; and emerging security standards. Highlights of the book's extensive new coverage include Advanced Encryption Standard (AES), IPsec, SSL, PKI Standards, and Web security.

Programming JavaScript Applications: Robust Web Architecture With Node, HTML5, and Modern JS Libraries


Eric Elliott - 2012
    By applying the design patterns outlined in this book, you’ll learn how to write flexible and resilient code that’s easier—not harder—to work with as your code base grows.JavaScript has become one of the most widely used—and essential—programming languages for the Web, on both the client-side and server-side. In the real world, JavaScript applications are fragile, and when you change them things often break. Author Eric Elliott shows you how to add features without creating bugs or negatively impacting the rest of your code during the course of building a large JavaScript application.Examine the anatomy of a modern JavaScript applicationLearn best practices for code organization, modularity, and reuseApply Model-View-Controller architectures to client-side web developmentDelve into client-side (browser) and server-side (Node) approachesUse Node to design and program RESTful APIsLearn the processes teams use to build, test, deploy, and scale large JavaScript applicationsExpand your application’s reach through platform targets and internationalization

Programming WCF Services


Juval Lowy - 2007
    Relentlessly practical, the book delivers insight, not documentation, to teach developers what they need to know to build the next generation of SOAs.After explaining the advantages of service-orientation for application design and teaching the basics of how to develop SOAs using WCF, the book shows how you can take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls and security to build best in class applications. "Programming WCF Services" focuses on the rationale behind particular design decisions, often shedding light on poorly-documented and little-understood aspects of SOA development. Developers and architects will learn not only the "how" of WCF programming, but also relevant design guidelines, best practices, and pitfalls. Original techniques and utilities provided by the author throughout the book go well beyond anything that can be found in conventional sources.Based on experience and insight gained while taking part in the strategic design of WCF and working with the team that implemented it, "Programming WCF Services" provides experienced working professionals with the definitive work on WCF. Not only will this book make you a WCF expert, it will make you a better software engineer. It's the Rosetta Stone of WCF.

Introducing HTML5


Bruce Lawson - 2010
    Some of its new features are already being implemented by existing browsers, and much more is around the corner. Written by developers who have been using the new language for the past year in their work, this book shows you how to start adapting the language now to realize its benefits on today's browsers. Rather than being just an academic investigation, it concentrates on the practical--the problems HTML5 can solve for you right away. By following the book's hands-on HTML5 code examples you'll learn: new semantics and structures to help your site become richer and more accessiblehow to apply the most important JavaScript APIs that are already implementedthe uses of native multimedia for video and audiotechniques for drawing lines, fills, gradients, images and text with canvas how to build more intelligent web formsimplementation of new storage options and web databaseshow geolocation works with HTML5 in both web and mobile applicationsAll the code from this book (and more) is available at www.introducinghtml5.com. ********There appear to be intermittent problems with the first printing of Introducing HTML5. If you have one of these copies, please email us at ask@peachpit.com with a copy of your receipt (from any reseller), and we'll either provide access to the eBook or send you another copy of the print book -- whichever you prefer. If you'd like the eBook we can add that to your Peachpit.com account. You can set up a free account at www.peachpit.com/join http: //www.peachpit.com/join>. Thanks so much for your understanding!