Thursday, 02 December 2010 00:00

Design Driven Testing (Sample Chapter): Design of a Java/Flex hotel mapping (GIS) application

Written by
Rate this item
(0 votes)
In today's agile universe, we often hear about "test-driven" approaches to development (TDD). TDD emphasizes unit testing to such an extent that in many companies, regression testing frameworks like JUnit have largely replaced upfront design. Design Driven Testing makes the case that skipping design in favor of unit testing is not only backwards, but also Too Damn Difficult. We thought the best way to prove it was by designing and testing a real production application...

My new book Design Driven Testing (co-authored with Matt Stephens) addresses both unit testing by developers and acceptance testing, performed by an independent QA organization.  Somewhat uniquely, the book features a real production system as it's teaching example.  A worldwide interactive hotel mapping (GIS) application, designed with ICONIX Process,  built using Java, Flex, and the ESRI ArcGIS Server mapping software, that we call "mapplet 2.0", which is in production use on the travel website.

This sample chapter presents the full ICONIX Process design of the mapplet project, starting from functional requirements and use cases, all the way down to reverse engineered class diagrams from the final code.   One of the unique virtues of using a production example as a teaching example in a book like DDT, is that it's possible for readers to look at the use cases in the attached chapter, and then compare them to the released software as deployed on  

Next month I'll be posting another sample chapter from the DDT book which describes the scenario testing we did before releasing the software and some very real improvements that were made to the usability of the final product as a result.  If you'd like to work through the design and testing of mapplet 2.0 with me, in person, our Hands On ICONIX Process open enrollment classes give you exactly that opportunity.   In addition to 1 day modules on Business Process Modeling, Service Oriented Architectures, and Embedded Systems Development using SysML, we'll be working through this example for 2 of the 5 day lab sessions.

Also, between now and the end of the year, anyone who orders Design Driven Testing directly from ICONIX will get a free copy of Agile Development with ICONIX Process.

Read 9798 times
doug rosenberg

doug rosenberg

Parallel Agile, Inc. (Founder, Chief Technology Officer) - formerly ICONIX (CEO)
After running ICONIX for 35 years and writing 7 books on UML, use cases, and agile software development, Doug discovered a new way to improve productivity by leveragng parallel development, and founded Parallel Agile ( in 2018 after 4 years of test projects at the USC Center for Software and Systems Engineering, where he's been working with Prof. Barry Boehm.   A new book "Parallel Agile - Faster Delivery, Fewer Defects, Lower Cost" is mostly written and will be released during 2019.   We're also developing a Parallel Agile Add-In for Enterprise Architect and are available for training and consulting.  
In his previous lifetime...
Doug Rosenberg founded ICONIX in his living room in 1984 and began training companies in object-oriented analysis and design around 1990. ICONIX specializes in JumpStart training for UML and SysML, and offers both onsite and open-enrollment courses.
Doug developed a Unified Booch/Rumbaugh/Jacobson approach to modeling in 1993, several years before the advent of UML, and began writing books around 1995. Design Driven Testing is his 6th book on software engineering. He’s also authored numerous multimedia tutorials (including Enterprise Architect for Power Users) and several eBooks, including Embedded Systems Development with SysML.
Doug has spent the last few years doing "deep dive" consulting into cutting-edge technology including cross-platform mobile app development, REST APIs, and NoSQL databases, and gaining first-hand experience on some "hardcore agile" projects of varying sizes.  He's also been working with dozens of graduate students at the University of Southern California Center for Systems and Software Engineering (USC CSSE), managing Directed Research projects and developing/piloting the Parallel Agile process.
Login to post comments