Collaboration Labs
Lightweight company profile from the Semantil web index.
colllabs.com
Software engineering is an art and software design is a major pillar on which it stands. In most real-world scenario, software engineering is about automating real-world problems or processes in a business domain. And to do that well, one needs to have a fairly good understanding of the business domain. The focus should not be on the programming language or the code, but on the business processes pertaining to the domain in question. A well understood domain takes into consideration not just the business rules for all possible use cases, but more importantly business process exceptions, known process ambiguities, process conflicts, limitations, and plausible process glitches. Only a good domain knowledge can lead to a good workable software design. Programming languages and code are merely tools to implement a well thought design. The final software should be useful, practical and should reflect your business domain and it is possible only if you have understood the domain well.