|
|
 |
Architecture & Design
| | |
|
|
Best practice in system architecture, programming methods, the test/debug cycle and software product lifecycle management.
|
Book Review: Come, Let's Play Jorge Aranda David Harel and Ramy Marelly wrap scenarios into sequence-like
diagrams to describe interactions with other systems. Can they shift
our perspective on programming?
Special Guide-MDA and UML Tools: CASE 2.0—or the Developer's Dream Mike Riley The quest for model-driven application development that drives model-to-code and model-to-model transformation still needs some work, but the MDA products out there show huge promise.
Interview: Inside the Microsoft Modeling Team Scott Swigart Members of Microsoft's Modeling Team speak with Software
Development magazine about Visual Studio Team System's modeling tools and Microsoft's thoughts about modeling in general.
Steve McConnell on Software Estimation Jonathan Erickson Steve McConnell discusses the black art of estimating schedules and resources involved in software development projects. (MP3, 5:07 mins.)
Accelerating Compute Intensive Functions Using C Joe Hanson Joe examines how you accelerate application processing using a software-configurable architecture to achieve hardware-accelerated performance in C.
An Algorithm for Compressing Space and Time Tomas G. Rokicki Making a slow program fast can lead to both joy and frustration. But sometimes a new approach yields amazing improvements.
Dependency Management John Graham-Cumming John explores the irony of Make.
Quantum Cryptography Research Advances and IBM Research May Extend Moore's Law Deirdre Blake Quantum cryptography researchers at the University of Toronto have described the first experimental proof of a quantum decoy technique to encrypt data over fiberoptic cable. Also, researchers at IBM have found a way to extend a key chip-manufacturing process to generate smaller chip circuits. (MP3, 2:57 mins.)
Dr. Dobb's Journal April 2006 Jonathan Erickson Algorithms (13.4 MB)
The Craftsman: Meeting the Visitor Robert C. Martin Our apprentices continue their off-duty exploration, as Avery gives Alphonse a lesson on design principles. The challenge: How do you add polymorphic methods to a hierarchy without modifying it?
Design Center: Taming Chaos with SysML Scott McKorkle, Chris Sibbald The intricacies of system development require a further evolution: A visual means of planning and displaying the architecture, from basic concepts through implementation.
On the Road: Navigating Your Way to Regulatory Compliance Jeannine A. Bartlett Sarbanes-Oxley, HIPAA, the EU Protection Directive ... While organizations have been tasked with complying with such regulations, little implementation guidance exists. Despite conflicting requirements, compliance is possible—if you begin by identifying your privileged and regulated data, and then apply well-defined best practices to secure it.
Algorithm Accuracy and Artificial Vision Deirdre Blake Researchers at Ohio State have found a way to determine, in advance, which algorithms are best in a particular circumstance; a researcher in Spain has developed an improved artificial vision edge-detector technique. (MP3, 3:39 mins.)
Tomorrow's Software Factory--Today Matthew Heusser If you read enough technology news, you are bound to run into the software factory. But just what is a software factory?
SCM Strategies Jonathan Erickson Laura Wingerd, author of Practical Perforce, discusses strategies for effective Software Configuration Management. (MP3, 4:48 mins.)
Real-Time Stereoscopic Video Streaming Stuart Ferguson Our authors examine real-time virtual reality by showing you how to use DirectX and OpenGL to build a stereoscopic webcam.
Viewpoint: Beyond Agile: Smart Ivar Jacobson Agility depends too heavily on tacit knowledge, but the Unified Process is too encyclopedic. The answer? Virtual mentors that learn along with their physical peers.
Product Roundup: Scaling Down Gary Pollice As agile techniques proliferate, process products aim to answer fresh needs for flexible options. We check out three pioneering tools and a streamlined beta of an old standby.
New & Noteworthy: Take My Build, Please Rick Wayne Build tools finally get some respect from Electric Cloud, and two new tomes shed light on SOA and Java security. Also keep revision under control with AccuRev's CVS Health Checker and let Enerjy CQ2 spruce up your Java Metrics.
Software Quality: Sweet Predictability Watts Humphrey To tame the increasing complexity of software and meet growing reliability requirements, you need a new discipline. The Personal Software Process shows you how to track your own quality and productivity, and allows youand your teamto accurately predict success.
Solid-State Lighting and the RAD Lab Deirdre Blake TheAlliance for Solid-State Illumination Systems and Technologies unveils a novel concept for lighting homes and offices. New Research Lab Formed The Reliable, Adaptive, and Distributed Systems Laboratory (or RAD Lab) is formed at U.C. Berkeley. (MP3, 3:49 mins.)
Logidex Manages SOA Mike Riley LogicLibrary's Alan Himmler, Vice President of Product Management and Marketing, and Brent Carlson, Co-Founder and Vice President of Technology talk about Logidex, the company's SOA governance tool. (MP3, 8:23 mins.)
Contivo Builder and MDA-oriented development Mike Riley Software Development Magazine speaks with Dave Hollander, Chief Technology Officer for Contivo, about his company's latest release of Contivo Builder, a data dictionary utility that facilitates MDA-oriented development.
Beyond SOA Governance Brent Carlson The debate over registries and repositories.
Network Speed Record Shattered, and New Algorithm Improves Robot Vision Deirdre Blake An international team of scientists and engineers has broken the network speed record for the third consecutive year; A new machine-vision algorithm developed at Stanford University gives robots the ability to approximate distances from still images. (MP3, 3:26 mins.)
Of Interest February 2006 Of Interest.
Proteins for Fun and Profit Dennis E. Shasha February 2006 Dr. Ecco's Omniheurist Corner.
Google's Summer of Code: Part III DDJ Staff Google's Summer of Code resulted in thousands of lines of code. Here are more students who participated.
Sudoku & Graph Theory Eytan Suchard, Raviv Yatom, Eitan Shapir Understanding graph theory is central to building your own Sudoku solver.
Displaying GIF Images on J2ME Mobile Phones Tom Thompson Surprisingly, many Java-based mobile phones couldn't display GIF image files--until now.
Range Tracking & Comparison Algorithms Kirk J. Krauss Some information is best viewed as a list of ranges. Kirk presents algorithms for dealing with ranges.
Examining uC++ Peter A. Buhr, Richard C. Bilson uC++ was designed to provide high-level concurrency for C++.
C-Level Secrets: Hijacked! Steve Adolph, Fariba Matin Sunrise, sunset ... When Epsilon's biggest client demands a significant upgrade, our reengineering project is derailed. Still, opportunity beckons.
The Agile Edge: Unified and Agile Scott Ambler From Objectory to RUP to EUP, the Unified Process has continued to evolve. Now, with its marriage to agility, we have a simplified instantiation tailored for agile software development teams.
Viewpoint: Defending the Gantt Chart Amit Asaravala The project manager's mainstay is conspicuously absent from a popular PM application. It's a shame, as the charting feature is still useful and necessary, despite its falling popularity.
Adventures in Offshoring: Global Success Stories Software Development editors The latest trends are polar opposites. While some mavens crow about pair programming and on-site customers, others distribute development across the globe. Do lower costs justify oceanic rifts among team members? Three offshore project managers say yes.
Defusing Distance: Too Many Time Zones Jean tabaka Are face-to-face meetings a luxury you can't afford? From conference call strategies to Web-based meeting managers, try these tips to
facilitate communication and collaboration among distributed team members.
Hotter Events John Torjo Sometimes you need to define your own custom events. John shows how to make it as easy on yourself as possible.
Friendship and the Attorney-Client Idiom Alan R. Bolton The much-maligned "friend" declaration comes with its share of pitfalls. Alan shows how to use friendship to enhance encapsulation while minimizing the risks.
Examining Objective-C Kyle Dawkins Objective-C is an object-oriented strict superset of C and is the language of choice for development with Mac OS X or the GNUStep Foundation classes.
AOP & Accessibility Jorge Aranda, Laura MacDougall Jorge and Laura report on Aspect-Oriented Analysis and Design and Access by Design, respectively.
AADL: A Design Language for Embedded Systems Jonathan Erickson Peter Feiler discusses the Architecture Analysis and Design Language, a textual and graphical language that supports model-based engineering of embedded real-time systems. (MP3, 3:45 mins.)
The Eclipse Visual Editor David Orme, Joe Winchester The Eclipse Visual Editor is a subproject that provides a framework for creating Eclipse-based GUI builders.
Sorting in Java & C# David K. Perelman-Hall David uses reflection to sort a list of complex types using both Java and C#.
Thoughts on Language Design Guy L. Steele Jr. Guy Steele, an engineer who knows something about designing programming languages, explains why new challenges require new solutions.
Implementing Requirements and Change-based Development Alexandra Weber Morales In this interactive conversation between agile software requirements expert Jennitta Andrea and Software
Development Editor in Chief Alexandra Weber Morales, you’ll learn about:
Agile values that guide decision making
Visualizing the distinctive characteristics of a project
Strategies for shaping an agile requirements process
Recognizing and eliminating hidden waste
SOA Strategy: BEA's AquaLogic Suite Mike Riley Software Development interviews, Sanjay Chikarmane, BEA's Senior Director of Product Management for Integration Products, on service-oriented architectures. (MP3, 16:01 mins.)
Cluster Computers: Special Tools Required Jonathan Erickson James Reinders discusses the growth in Cluster Computing, and the special demands it puts on software development tools. (MP3, 5:43 mins.)
An Overview of Generics Dino Esposito In the .NET Framework 2.0, C# and Visual Basic .NET support generics. This means that you can have a List of Integer and a List of ProductInfo, and they will be different types.
The Craftsman: Team Player Robert C. Martin Returning to Jerry, Alphonse gets a reprieve from Jasper's jollity and learns more about acceptance tests—alternate and otherwise—and the collaborative value of his own work.
C-Level Secrets: One Man's Trash... Steve Adolph, Fariba Matin Rather than toss out the aging baby with the bathwater, we decide to tackle on Epsilon's system proliferation problem by reengineering the gold standard with some savvy refactorings.
The Agile Edge: How Agile Are You? Scott Ambler Just claiming the moniker doesn't make you an agility expert: Mix and match these seven elements to create a unique solution that works for your project.
RSS Tool Review: Rough Around the Edges Chris Minnick RSS is widely used to syndicate content like podcasts and blogs—but its tools are far from mature. Still, it's only a matter of time before they also enter the mainstream.
Comparing RAD & Enterprise Development in .NET Mark M. Baker .NET Software Legend Juval Lowy explains how RAD and Enterprise developers bring very different perspectives to how they approach .NET technology and how this deeply affects their expectations of it. (MP3 audio, 16:51 mins.)
A Flexible Framework for Error Reporting Terence Parker Errors can often occur deep in a class or subroutine, but the way you present that error should ideally be dependent on context. The solution is to separate error generation from error reporting.
<algorithm>: find_end Bjorn Karlsson Bjorn covers search, search_n and find_end, which are all useful in finding subsequences.
SCM: It's More Than Just Source Code Jonathan Erickson Christopher Seiwald explains how and why Software Configuration Management involves more than just source code. (MP3, 6:01 mins.)
The Box Chip Game Dennis E. Shasha December 2005 Dr. Ecco's Omniheurist Corner.
Memory Management & Embedded Databases Andrei Gorine, Konstantin Knizhnik Embedded and in-memory databases depend on the quality of their memory-management algorithms.
A Mac Text Editor Migrates to Intel Tom Thompson BBEdit, an industrial-strength Macintosh text editor, has been ported to the Intel platform. Here's how.
Building Grid-Enabled Data-Mining Applications Alex Depoutovitch, Alex Wainstein Computing grids let you use parallelization to tackle really big data-mining jobs.
DSO Means Better Software Sooner Jonathan Erickson Johan Wall discusses Device Software Optimization, an industry-wide initiative for developing better software.
(MP3 audio, 3:19 mins.)
The Art of Project Management Scott Berkun Learn how to plan, manage and lead projects. This personal account of hard lessons learned over a decade of work in the industry distills complex concepts and challenges into practical nuggets of useful advice. Inspiring, funny, honest, and compelling, this is the book you and your team need to have within arms reach.
SOA: Concepts, Technology, and Design Thomas Erl Author Thomas Erl will present SOA principles, strategy, and best practices. The tutorial in Service-Oriented Architecture:Concepts, Technology, and Design provides step-by-step instructions for modeling and designing service-oriented solutions from the ground up.
The Role of Business Process Modeling in Service-oriented Architecture Development Alexandra Weber Morales This presentation provides Gartner recommendations on how organizations must change BPM roles and responsibilities to enable Service-oriented Applications (SOAs) and Borland will present how their Together solutions can support BPM, using BPMN, along with the visual modeling needs for the entire development team.
Configuration Management in Distributed Environments Alexandra Weber Morales Distributed software development projects are fast becoming the norm, and coordinating the efforts of far-flung development teams is one of the biggest challenges faced by enterprise-level developers and managers today.
Compuware - Model-driven, Pattern-based Development Explained Alexandra Weber Morales This webcast examines an automated approach for translating business models into the application code necessary to implement a business solutions based upon best J2EE design and coding practices.
Real-World Agility Lessons: A Conversation with Peter Schuh Alexandra Weber Morales Going agile is as easy as getting fit: quietly integrate in somepractices, scope a release, and deliver, right? Most teams,unfortunately, find that, like turning down that plate of donuts in thelunch room, choosing the right agile practices for project success iseasier said than done. Plus, 5 Must-Have Strategies for Agile Builds and Releases.
Building and Releasing Winning Products Alexandra Weber Morales Luke Hohmann, author of Beyond Software Architecture: Creating and Sustaining Winning Solutions (part of Addison-Wesley's Martin Fowler Signature Series), describes how developers at independent software vendors can avoid classic mistakes in the second half of the lifecycle, from prototyping through quality assurance, prelaunch and launch.
Agile Data Modeling With Scott Ambler and The Power Of Design With David Dichmann Alexandra Weber Morales We'll look at a case study that puts to use the practices described in Ambler's Productivity Award-winning Agile Database Techniques. Also, Sybase's David Dichmann shows how UML, business process modeling, XML, warehouse modeling, metadata cohesion and corporate standards enforcement work together in a 21st century data modeling solution.
The Intersection of Agility, Objects and UML Alexandra Weber Morales Robert C. Martin, discusses his Software Development column "The Craftsman," OO design practices, Extreme Programming, project management and the inevitable, and highly entertaining, Star Trek anecdote.
The Changing Face of Software Licensing: Managing Rights in the Global Digital Economy Alexandra Weber Morales DRM, license compliance, and targeted marketing are some of the reasons developers are looking to the realm of license management. This seminar explores the key industry software licensing trends in the global digital economy, and discusses how the US legal provisions are affecting the licensing climate in the US.
Development’s Bottom Line: Discover The Invisible Elephant That Could Save You Millions Alexandra Weber Morales Partners from the premiere analyst firm Hurwitz and Associates discuss the results of their recent study on development effectiveness and process improvement from leading companies in the software, financial services, insurance, hardware, semiconductor, healthcare, and telecommunications industries
C-Level Secrets: Burn the Ships! Steve Adolph, Fariba Matin When Epsilon’s system proliferation problem accelerates out of control, we have to make a stand. How do we move ahead without causing a mutiny?
The Agile Edge: Great Leaders Are Made Scott Ambler Much like the Agile Alliance, the Agile Project Leadership Network aims to provide a vision and techniques for flexible, fast, customer value– driven project management.
Project Management: Taming Template Tyranny Gary Evans Frameworks can prevent waste, but don’t let them take over your development process. By focusing on discovery, not presentation, you can make the tools work for you.
Salary Survey 2005: Holding Pattern Alexandra Weber Morales Little has changed in the last year, according to our eighth annual examination of compensation and satisfaction trends for software developers. Salaries have increased by a hair, and most other job measures are dormant or just budding.The one bright spot? The continued growth of head-hunting.
Dr. Dobb's Journal November 2005 Jonathan Erickson Distributed Computing
Graphics & the 64-Bit World Jerry Pournelle SIGGRAPH, the ACM's Special Interest Group on Graphics, is one of the key places to observe computer trends.
Java & RFID Tags Shamshad Ansari The Java Communication API lets you send commands to and receive responses from RFID readers such as the TI S2000 Micro Reader.
Building Internet Distributed Computing Applications David Houlding Protege is a tool that lets you efficiently map out an Enterprise Architecture to enable knowledge mining for analysis and planning.
InfiniBand Technology Corky Seeber InfiniBand is a serial I/O interconnect architecture designed to connect hundreds--if not thousands--of computers.
Building Internet Distributed Computing Systems Charles Peck, Joshua Hursey, Josh McCoy, Vijay Pande Our authors present a framework for harnessing distributed, tightly coupled cluster and SMP resources for computational science research.
Debugging Heterogeneous Distributed Applications Stephen B. Jenkins Debugging complex, asynchronous, heterogeneous, distributed applications is hard. The techniques Stephen presents here makes the process easier.
Parallel Processing Clusters & PVM David J. Powers The Parallel Virtual Machine is network-clustering software that provides a scalable network for parallel processing.
The Media Grid Aaron E. Walsh The Media Grid is a digital media network infrastructure and software development platform based on distributed grid technology.
Preventing Piracy While Preserving Privacy Michael Rabin, Dennis E. Shasha The security approach presented here is a privacy-preserving, flexible, antipiracy solution that does not suffer from "Break Once, Run Everywhere."
Software Builds: Where It All Comes Together Jonathan Erickson John Ousterhout, founder of Electric Cloud and creator of the Tcl scripting language, discusses the challenges in performing efficient software builds.
(MP3 Audio, 4:31 mins.)
Celebrating Failure Rick Wayne, Donna Davis, David Dossot Wrangling with customers who cling to a haunted past? Finding out that some requirements aren’t soft—the hard way? Stuck on a product development team that functions more like a self-hating hydra than a well-oiled machine? We’ve got ‘em, plus more.
Begging for Brains Warren Keuffel Our job crisis is partly due to the advent of global software development and the dearth of immigrants. Is a flattened world squeezing the economic juice out of the U.S.?
So Much for Plan A Steve Adolph, Fariba Matin While we're congratulating ourselves on a well-executed plan, a monkey wrench is tossed into the works. How do we accommodate an extra project we can't refuse?
Requirements Wisdom Scott Ambler To apply the right technique for each situation they encounter, effective developers keep multiple requirements elicitation techniques in their intellectual toolkit. Part 2 of 2.
10 Outsourcing Antipatterns Ronald B. Smith It's deceptively easy to farm out IT work. Here are some worst practices that guarantee your time and money won't be well spent. But if you cared about that, you wouldn't be reading this, right?
Cool Beans Rick Wayne Three Java development environments built on the NetBeans platform provide powerful tools for building anything from applets to enterprise Web applications.
Simplifying Display Interfaces Jonathan Erickson Ian Miller, chairman of the Video Electronics Standards Association, discusses the DisplayPort interface proposal. (MP3 Audio, 4:42)
Predictive Analytics: Looking for Patterns & Trends Jonathan Erickson Jon Otterstatter, Chief Technology Officer at SPSS Inc., explains what predictive analytics is and how it is used in the real world. (MP3 Audio, 3:43 mins.)
Thursday Wrap Up Andy Patrizio Final observations and then a long drive home
Wednesday Wrap Up Andy Patrizio When our reporter grapples with a bushel of acronyms. AMT, VT, VIIV, DLNA, and DTCP/IP, for starters.
Tuesday Wrap Up Andy Patrizio Between new developer tools and talk about quad-core processors, Day 1 of the Intel Developer Forum was nothing but surprises from sun up to sun down.
Determinant Algorithm Generation with Numlists Michael A. Jones Numlists provide the compile-time index list structures that allow processing to happen in place. The compile-time nature of template recursion is key to coding this algorithm.
|
|
 |
|
|
 |
|

Dr. Dobb's Developer Library DVD: Release 2
The Dr. Dobb's Developer Library DVD is a new fully searchable DVD that includes 17 years of Dr. Dobb's Journal, 14 full years of C/C++ Users Journal, 3 years of The Perl Journal, nearly 4 years of Dr. Dobb's Sourcebook, and thousands and thousands of lines of source code—all on one DVD!
Click here for more information.
|
|
 |
|
|