Does anyone have any resources on software design, such as the steps involved starting from the concept to the creation of the software.
Most my projects are starting to require that I have a thorough plan, that I can no longer keep in my head because the projects are to big.
I am sure everyone (who has been to school at least) has a way to approach this (I haven't been to school) so would appreciate just a simple step by step write up that I can look further in to the concepts you guys write.
thanks for the advice
*cheers
Software: Concept to Creation
Re: Software: Concept to Creation
Generally speaking the elements of designs apply to all industries and lines of work.
Start with setting the aim (i.e. A program that downloads a webpage)
Then set the requirements (i.e. Command Line Interface, user inputs a URL, HTTPS support etc.)
You will also have to give requirements priorities so you know what is a necessity and what is a gimmick
Now you find ways of fulfilling the aim, this can be done in anyway that works. (This step can be done in many ways and there is no "right" way just more efficient ways.
If working in a group I would suggest making a mindmap with the aim in the centre and then the initial branches are the requirements and components of the program, the secondary branches are concepts for the individual topics. (i.e. Use libcurl or custom http lib)
If working alone I would suggest the same ;D
Now that you have ideas, you have to decide which ones to use, here you have analyse the concepts objectively and see how efficient they are at fulfilling their purpose. (i.e. libcurl would take up more space than a custom solution, but a custom solution would take longer)
Now you build a prototype and test it.
Adjust the prototype as required and continue until you have a finished product.
Optional:
Evaluation (What went wrong, what you could have done different.)
Probably didn't use the best example but it should be clear how you should approach designing.
Books:
Pretty much any decent book on design will say something along the lines of what I have just said, software design books will obviously give a more specific process rather than my generalised explanation.
Start with setting the aim (i.e. A program that downloads a webpage)
Then set the requirements (i.e. Command Line Interface, user inputs a URL, HTTPS support etc.)
You will also have to give requirements priorities so you know what is a necessity and what is a gimmick
Now you find ways of fulfilling the aim, this can be done in anyway that works. (This step can be done in many ways and there is no "right" way just more efficient ways.
If working in a group I would suggest making a mindmap with the aim in the centre and then the initial branches are the requirements and components of the program, the secondary branches are concepts for the individual topics. (i.e. Use libcurl or custom http lib)
If working alone I would suggest the same ;D
Now that you have ideas, you have to decide which ones to use, here you have analyse the concepts objectively and see how efficient they are at fulfilling their purpose. (i.e. libcurl would take up more space than a custom solution, but a custom solution would take longer)
Now you build a prototype and test it.
Adjust the prototype as required and continue until you have a finished product.
Optional:
Evaluation (What went wrong, what you could have done different.)
Probably didn't use the best example but it should be clear how you should approach designing.
Books:
Pretty much any decent book on design will say something along the lines of what I have just said, software design books will obviously give a more specific process rather than my generalised explanation.
Selling invisible pets:
Dogs - 0.5 Bitcoins
Cats - 0.7 Bitcoins
Unicorns - 10 Bitcoins
Chimpanzee - 2 Bitcoins
PM me if you are interested, will ship via priority airmail, will accept escrow services
Dogs - 0.5 Bitcoins
Cats - 0.7 Bitcoins
Unicorns - 10 Bitcoins
Chimpanzee - 2 Bitcoins
PM me if you are interested, will ship via priority airmail, will accept escrow services
Re: Software: Concept to Creation
Here's the process that I learned in school: http://en.wikipedia.org/wiki/IBM_Ration ... ed_Process" onclick="window.open(this.href);return false;
Re: Software: Concept to Creation
@reparto, seems about what I was looking for. The mind map suggestion is very helpful.
@ph0byx thanks for the link, it's nice to see one of the processes in play by schools and should prove helpful
*cheers
Mabo
@ph0byx thanks for the link, it's nice to see one of the processes in play by schools and should prove helpful
*cheers
Mabo