• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Functional Design Vs Technical Design

 
Ranch Hand
Posts: 1491
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How Functional Design diferent from the Technical Design ? As per my understanding Functional Design means HighLevelDesign(UseCases), Technical Design means LowLevelDesign(Class dia, Obj dia, Sequence dia,...). Is it correct ?
 
Ranch Hand
Posts: 1847
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The functional design specifies WHAT a program should do, the technical design described how that functionality is to be implemented in code.

So the functional design may state that the program must attach a courtdate to a file when the user clicks a button with a specific name and position on screen.
The technical design would indicate which fields in which tables of the database will be involved, maybe even how to name the method to be called when that button is clicked.
 
kri shan
Ranch Hand
Posts: 1491
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Joren, Whether Functional desgin means UI design ( Navigation, Menu design) & Technical desgin means High Level(use case ) and Low Level(class, sequence diagrams) design ?
 
Sheriff
Posts: 7001
6
Eclipse IDE Python C++ Debian Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Not really.

Functional design is the kind of design that is agreed between software architects and business customers. It describes what the system has to do in a way that both parties can understand and agree. It might describe user interface requirements, it might discuss database access, it might discuss web services or other forms of communication, it might discuss service level agreements or clustering and redundancy. The point is that it should be detailled enough to become the agreed definition of what the system will do.

Technical design, on the other hand, is the kind of design that is agreed between software architects and software developers. It describes how the system will be built to meet the functional design. It contains detail and terminology not appropriate to business customers but needed by developers. It might describe screen layouts, it might describe database table and column names, it might discuss WSDL or communication protocols and file formats, it might discuss server and operating system versions and dependencies. The point is that it should be detailled enough to enable unit tests, code, configurations, and technical documentation work to begin.

Is that any clearer?
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We try to approach functional design at three levels.

Describe the business process and requirements in a system-free context. Don't reference specific computer systems.

Describe one computer system in an implementation-free context. Don't reference specific screens, widgets, user gestures.

Describe some subset of the UI or a system-to-system interface in excruciating detail. Every screen, widget, user gesture, data entry field values, lengths & edits, etc.

In practice, the first level is just conversation while the others are separate documents. I think it's unfortunate that the top level is often lost over time. It becomes difficult to make changes in the second because nobody knows which details are important and which are icing on the cake and the whole document becomes gospel.
 
He puts the "turd" in "saturday". Speaking of which, have you smelled this tiny ad?
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic