2 Replies - 221 Views - Last Post: 09 September 2011 - 04:32 PM Rate Topic: -----

#1 naughtybit  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 26
  • Joined: 21-July 11

How to design the base for software?

Posted 09 September 2011 - 07:29 AM

Hello,

I'm developing a web application using the wt c++ library I want to know where I can begin with to start coding the application.I know c++ much better and I'm familiar with the basic concepts that is used in c++ programming.I have also started up with C++ STL which lead me to the new way.

I know we can't just begin with opening notepad++ and start coding the application, how and what steps should I follow in order to get the software work.I have read the API and I want to know to join the connections.

Experienced software developers please share the process of development exactly.

Is This A Good Question/Topic? 0
  • +

Replies To: How to design the base for software?

#2 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: How to design the base for software?

Posted 09 September 2011 - 10:31 AM

Quote

Experienced software developers please share the process of development exactly.

lol -- so naive.

The basic process is:

1. Have an idea.
2. Gather requirements
3. Design modular components (combining functionality where possible)
4. program
5. test
6. review
7. goto step 3 until

Now the way in which these steps are done varies based upon which development methodology you are (roughly) following. I like Agile-like systems where there are tighter iterations but it really depends upon the size of the project.

Larger projects require more overhead - more design work, better requirements, better planning more documentation etc. Smaller projects require less.

In fact small projects often do start with someone jumping into an editor and writing some code. More often than not my personal projects often start with me writing some test code to try out a new idea and then things grow from there.

You should definitely learn how to use some design/modeling tools such as UML (especially if you are working with others) -- though most designs tend to use very relaxed UML rules, being more of a sketching pad than something used to generate code.

Note on Agile (the big buzz-word in software development). Regardless of what you hear Agile is NOT about working with no requirements and design. They are about loosening things up so that you spend LESS time on gathering requirements and less time on paper design. i.e. the emphasis is more on team collaboration on getting working code and is much more "agile" with dynamic changes to the "would be" requirements. i.e. one of the big failures of classic software design is that by the time you have the program complete it is obsolete - that is the requirements change the ideas have evolved etc. So you are always ready to get started on the next version as soon as your done with the first.

Agile tries to mitigate that by looking at the current requirements as more of a "guide" and let the guide drift a little here and there with each iteration. Of course with each iteration you are more and more locked into design decision so you need to prioritize etc. -- don't let these fast talking PM-types talking you out of requirements and design just because they want to do "Agile". The idea is re-focus not ignore 1000's of years of human engineering experience.
Was This Post Helpful? 4
  • +
  • -

#3 timetraveller  Icon User is offline

  • New D.I.C Head

Reputation: -25
  • View blog
  • Posts: 10
  • Joined: 09-September 11

Re: How to design the base for software?

Posted 09 September 2011 - 04:32 PM

I think you should try reading a little about the SDLC (software development life cycle).. it will give an idea of how companies approve software. And regarding the usual development u shud use ur own creativity and make software..

1. Make the functionality (It shud be for a specific purpose)
2. Give it a good interface.. if ur program is black and white its not really that appealing
3. Try to make it cross platform (usually java is suggested but still C++ is a good language)
4. Make it look genuine.. ( this involved packaging, making library and even dlls)
5. Upgrade from time to time OR make its source open to all and let them mod it as per their liking!!
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1