Mike is formally wrong I think: orthogonality typically belongs to the world of implementation and design while use-cases relate to requirements and test extraction.
For example, consider the use-case "users can construct complex functions by piecing together arbtrary functions". That is a use case that will lead to an orthogonal interface for users. You could have similar use-cases that apply to designers and developers, to influence that the design and implementation also are done orthogonally.
i think Mike is correct, however, that the problem with use cases (and this can be the same with waterfall) is how to build a system that supports current requirements but does not limit emerging requirements. Or how to build a system with a lot of low-hanging fruit : new ways to do things easier. Use-cases need to encourage orthogonality where appropiate.
Cheers
Rick
Hi Folks,
[Definition] Bane: a thing that ruins or spoils.
[Definition] Orthogonality: if a tool is orthogonal, it can be added, replaced, or removed, in favor of better tools, without screwing everything else up. The classic example is Unix command line tools: you have one tool for getting the contents of a disk (dd), another for filtering lines from the file (grep), another for writing those lines to a file (cat), etc. These can all be mixed and matched at will. [1]
Michael Kay wrote this extraordinary statement: [2]
Use-cases are the bane of orthogonality. Any system with
good orthogonality can do things for which it is very difficult
to find a use case. Design focused excessively on use-cases
leads to a lack of orthogonality.
Then, without focusing on use-cases, how does one approach design? Is this the right approach: Develop a few use-cases for inspiration and then work on creating simple components that can be connected to any other component?
/Roger
[1] See the answer from Lee B on this stack overflow post: http://stackoverflow.com/questions/1527393/what-is-orthogonality
[2] http://lists.xml.org/archives/xml-dev/201506/msg00007.html
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php