Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Application of OOAD and Software Developmen

 
JiaPei Jen
Ranch Hand
Posts: 1309
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was asked this question: "why do you believe application of OOAD techniques is important in software development?"
I would like to gather ideas about proper answers to the question. Please help.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, OOA is mainly about understanding the problem domain, OOD about managing coupling in the solution.
So your question could be generalized to "Why are understanding the problem domain and managing coupling in the solution important?" Does that give you some ideas?
 
Allan Halme
Ranch Hand
Posts: 62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ilja, how would you characterize the specific advantages of object-oriented analysis and design as opposed to previous methods, such as structured or data-flow analysis?
 
Scott Ambler
author
Ranch Hand
Posts: 608
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Another interesting question is whether it makes sense to talk about OO analysis and structured analyis at all, shouldn't it just be analysis? Technology shouldn't be brought into the question until you're thinking about design I've I'm not mistaken.
Also, does it even make sense to talk about requirements, analysis, and design at all any more? You might find http://www.agilemodeling.com/essays/phasesExamined.htm to be of interest.
- Scott
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Allan Halme:
Ilja, how would you characterize the specific advantages of object-oriented analysis and design as opposed to previous methods, such as structured or data-flow analysis?

To be honest, I'm not even sure what "object oriented" means in the context of analysis.
For design/programming, OO doesn't *replace* the structured approach, but does add to it. So it simply gives you more options - mainly techniques for managing dependencies such as polymorphism.
 
Kishore Dandu
Ranch Hand
Posts: 1934
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Because it is one of the technologies that is paying pretty well lately(well, in some sense provided you are on the top of the pack).
We, software junkies are running after making good bucks. So we adopt to such technologies to get the best bang for our buck.
Everybody knows this, but sure don't mention in an interview
Dan.
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Chris Daniel:
We, software junkies are running after making good bucks. So we adopt to such technologies to get the best bang for our buck.
Everybody knows this, but sure don't mention in an interview

Well, you are possibly correct that some people out there use an OO language because it's just the way you have to do it today. But with all due respect, those people most often don't grok OOD/P at all - actually they quite often produce quite messy un-OO designs.
And certainly that's *not* what makes OO important for *software development*. What makes it important is that it provides tools to keep systems more mobile, and better maintainable. All the good developers I know understand that and strive to understand how to use OO and several other paradigms to do the best work they can.
 
Ravi Sathish
Ranch Hand
Posts: 131
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My 2 cents:
OOA & OOD are important phases in high-level architecture design:
some steps/phases in S/W Engineering until High-level architecture design can be categorized as:
1> Perform domain analysis for requirements determination
2> Create Actors and Use Cases for verifying requirements
3> Discover potential Domain Objects.. This is analysis phase
4> Create sequence, class and object interaction diagrams.. Design phase
Ravi
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Ravi Shankar Sathish:
My 2 cents:
OOA & OOD are important phases in high-level architecture design:
some steps/phases in S/W Engineering until High-level architecture design can be categorized as:
1> Perform domain analysis for requirements determination
2> Create Actors and Use Cases for verifying requirements
3> Discover potential Domain Objects.. This is analysis phase
4> Create sequence, class and object interaction diagrams.. Design phase

Analysis and Design are certainly important *activities*. Thinking of them as phases is ineffective, in my not so humble opinion, because it ignores the feedback between the activities.
Also, your answer doesn't seem to address *why* *OO* is important. Software Developers did analyze and design before OO was known, so what are the benefits of OO?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic