Solved

Software Design Questions

Posted on 2004-04-15
8
214 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:Mayank S
ID: 10833599
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
ID: 10836245
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
ID: 10839583
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
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 30

Expert Comment

by:Mayank S
ID: 10839672
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
ID: 10857625
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:Mayank S
ID: 10857775
>> 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:
Mayank S earned 125 total points
ID: 11041355
Please proceed with that recommendation.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
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 seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

808 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