|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV SYS-CON.TV WEBCASTS |
TOP COLDFUSION LINKS Feature CFDJ Feature — An Introduction to Intent Driven Design
A practical approach to specifying projects
By: Peter Bell
Dec. 12, 2006 12:00 PM
Once you have the business intent, roles, role intents and an essential task list, you should have a pretty good sense of the problems that you are solving (both for the organization and for the various classes of site users) and the high level functionality that the site will provide. From there, you can progress to the detailed specification phase.
Fleshing Out the Specs
Screens
Actions If you start with the landing screen, get a list of all of its actions, and then repeat for every screen that every action can take you to, you'll eventually get a complete list of screens and actions for that task. You also need to consider non-standard actions such as receiving email messages or XML requests, or even scheduled requests from a scheduled task, to get complete coverage of the project requirements.
Filling in the Details
MVC Modeling Every screen corresponds to a view, every action corresponds to a controller method (an event in Model Glue or Mach-II, a fuseaction in Fusebox) and most of the steps that make up an action describe method calls against your model to do things like save an article, get a list of users or get information on a product to display. This makes it extremely easy to flow from the detailed specification into developing the code, and very easy to relate each event, method call and view to the task it supports and hence the role(s) and intent(s) that it is meant to support.
Technical Design Once you have that locked, you should be ready to code an application that comes pretty close to meeting your users' expectations first time round - especially if you prototype all of the screens and actions as part of the specification process. You will also have information on all of the fields being imported, exported, listed, viewed, filtered, searched and ordered by and for each object (product, user, article, etc.), so you should find it fairly straightforward to develop a database schema if you don't already have one to work from.
Conclusion However, it is a proven, quick and effective methodology for capturing a useful set of functional requirements in a way that easily translates into well-architected working code, and that allows everyone on the project to quickly understand what they're coding and why it matters. CFDJ LATEST STORIES . . .
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||