Solved

Software Design Questions

Posted on 2004-04-15
8
211 Views
Last Modified: 2013-12-04
Hi,

When wanting to design a component, what questions should you ask yourself?

Cheers
0
Comment
Question by:AntoFreeman
  • 4
  • 2
8 Comments
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
It should be easily re-usable. Moreover, it should be easily-usable. It should provide an easy-to-understand API (names of methods, etc). It should be configurable (for example - if you want to switch loggin on/ off), extensible, etc etc etc etc. It should be well planned, well designed, should take care of exception handling 'coz there are many fool-users in this world, who are very skilled at scrweing things up ;-) It should have a nice hierarchy and levels of abstraction, and should have some available documentation, help, user-tips, FAQ, etc.
0
 

Expert Comment

by:Shinru
Comment Utility
You would also want to ask yourself how exactly it will be used. List different scenarios that could happen. If it is going to offer a GUI, I usually like to draw up how exactly I want parts of it to look. If you're going to be writing it for other people (other than yourself) to use, think of what they plan to use it for, and like mayankeagle said, a nice list of exception handling, because people WILL find a way to screw something up and make you say "How did you manage that?". I'm not usually afraid to write down everything that may have some significance, but you want to have a lot of possibilities to give yourself when it comes to actual design time, and you'll end up going back and trimming off things here and there, and then adding on. Many times when jotting down different ways the component will be used, or different scenarios that may occur, you'll find that it can open up a whole new line of possibilities.
0
 
LVL 3

Expert Comment

by:Santino_k
Comment Utility
Hi,

<in addition to what mayankeagle and Shinru have said >

if you refer to "Essential COM" book by Don Box or "Inside COM" of Microsoft publication... you will get a very broad and basic idea of what features make a good and efficient Component. [you can find this info in starting chapters itself ]
To this basic features you will be adding some of your component specific features.

Regards,
Santino
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Yup, but let's not assume that its a .NET or a COM component. Since nothing is mentioned, let's keep it outside Microsoft, etc. It could well be an Enterprise Java Bean (EJB).
0
 
LVL 3

Expert Comment

by:Santino_k
Comment Utility
Ok mayankeagle.
You are right that it could be an EJB.
What i knew about COM i have specified... coz the question didnt specifically mean "NO COM".
Also the Books/Chapters i specified that may help AntoFreeman b'coz they are very general ones.

Have a nice day.

Regards,
Santino
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> didnt specifically mean "NO COM".

It also didn't specify "NO EJB" either ;-)

>> Have a nice day.

:-) same to you.
0
 
LVL 30

Accepted Solution

by:
mayankeagle earned 125 total points
Comment Utility
Please proceed with that recommendation.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

As game developers, we quickly learn that Artificial Intelligence (AI) doesn’t need to be so tough.  To reference Space Ghost: “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. (http://www.youtu…
This is an explanation of a simple data model to help parse a JSON feed
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now