from a totally new implemented system view (which is hardly found except in acadamic worlds) requirements should drive your technology and not your design. when maintaining a system you're chosen technology must somehow fit into the existing one.
i think design emerges while implementing your system. use upfront desing only for roughly requirement issues. the more fine grained you get to your running system the more you loose sight of your first design. and is a pain in the arse if you try to back-squeeze your implementation to you're 2 weeks ago proudly presented design
don't develop technology centered, refer better to good practices (unit-tests, close requirements engineering, well factored code etc....).
of course you should know about technologies (jsp, asp, mysql, or whatever), so you can choose the appropriate one for your system, but remember: no technology is worth the holy grail. [ April 28, 2006: Message edited by: manuel aldana ]
Briefly, technology may already be chosen for you depending on where you are working. Also, you would need to consider what respources you have and their skillset. You might also ask, does the technology 'fit' the a way you work?
A high level design can be technology agnostic, and I agree with the previous posting, focussing on good practice will give a better design. Model Driven Architecture takes this approach, but there will always come a point when you need to choose a platform.