Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

I have a problem. I don't really plan out my software before I write it. I want to be able to plan out a program on paper (or using an organizational program) before I start programming, but honestly I don't know how.

 

I did try with the last project I had to do, but... I started, then there were tangents and I had ideas all over the place. I didn't work out but 1/100th of what I had to do.

 

I'm not looking for someone to teach me how, though any pointers would be greatly appreciated.

 

The help I'm looking for is referrals to what I need to get me started. Even a technical name for what I want would help me search for it.

 

I've tried searching for Software Design, Software Planning and Software Management, but I don't really get any useful hits. They're all much too broad (or not exactly what I'm looking for).

 

I'll buy a book if it will help, but I don't know who makes a good book or what book is good to get started with. I looked on Amazon and got hits for things like Design Paterns, which seem like the next step to help you organize after you get the basics down.

 

I feel like I'm at my witts end and frustrated that I can't seem to find anything or figure out where to start. Any help/advice at all would be greatly appreciated.

Posted

The first step is to decide what purpose your software will serve, such as a Word Processor for instance.

 

The next step is to brainstorm, take a piece of paper (or more) and start writing down ideas that you want your software to do, such as do you want you customers to have the option to password protect their documents.

 

Get all of the main ideas down first, further break them into smaller groups. Then write down any secondary ideas.

 

But one thing to remember, when writing programs you want them to have good functionality, but very user friendly.

Firefighters do it with a big hose...
Posted

Good Step #1

 

I have all of the features worked out, in name/concept. I know the output of what the program will do.

 

I need to design the actual program on paper (or as much as possible).

 

Honestly all I can think of is a massive Outline, starting with the program, I'd guess breaking it up into each feature/action then what procedures go into each of those... which doesn't seem very practical.

 

Eventually it's supposed to be broken down in a way that you know the names of all of your procedures, what variables you're using, which you're passing, which classes you're using, whats on each form, etc. It's supposed to be written in psuedocode so that anyone, regardless of programming language (so long as it has the same basic features, can't set up an OOP design and code in Basic) can read it and apply to their language.

 

It's supposed to decrease you fumbling and make your code cleaner. I suppose it would be ideal to have others look it over and give their opinions on it.

Posted
You may want to have a search for terms like UML or 'USe Cases'.

 

Havn't heard of 'USe Cases' before, but I did see UML when I was searching... Wasn't entirely sure what it was. I'll check those out, thanks :)

Posted

I too have trouble in the planning phase. I have tons of good ideas, but dont know how to spit them all out onto paper in a way that would allow me to program from it. I do better to just start right off programming which i know isnt the correct way to do things, especially on larger applications.

 

I am very interested if anyone has any good examples!

Posted

hey dude, here is the deal: i would suggest going to.....school. yes, i know it's boring and such, but it's a very good place to learn. you don't have to go for a Bachelors degree, you can just take the courses you need. For example, if you a computer science course includes GUI(Graphical User Interface) in its name, take it.

 

if you don't want to go to school, i'd recommend reading a book. a good software design book is User Interface Design for Programmers by Joel Spolsky.

 

whatever you do, don't take the easy way out. trust me, it will come back and haunt you if you do. in large scale software software applications the planning and designing phases are more important than the actual coding, i know that from a personal experience.

Posted
hey dude' date=' here is the deal: i would suggest going to.....school. yes, i know it's boring and such, but it's a very good place to learn. you don't have to go for a Bachelors degree, you can just take the courses you need. For example, if you a computer science course includes GUI(Graphical User Interface) in its name, take it.[/quote']

 

Just got my 2yrs degree. I took one windows GUI class already.

 

We spent like 1 week in the first semister of our first intro to programming course to go over some funk flow chart design that I don't think could logicstically work with a project on my scale. my notebook would be like one of those map books with arrows on each of the four sides "continued on page 35" and would probobly encompase my backyard if I made it into one cohesive "sheet" (probobly by placing multiple pages together like a jigsaw).

 

IMO, that was too little and much too early. I don't see the merit in teaching you how to plan programs when the only programs that you're creating are single line code of a message box poping up when you click a button.

 

It needed to be enforced, ie "No project without it being 100% planned out on paper" from the begining to the end, which it wasn't.

 

This is why I have no problem mapping out a single procedure, but a program with 300 procedures, multiple classes and 10 forms wigs me out.

 

 

Honestly because I got my 2yr degree, my wife and I had to move into our own apartment and she's still in school for her BA, I don't have time/money to take courses (the nearest 4 yr college with courses I'd need is an hour and a half away, which factors into things). I fully intend to do more school once she graduates, even if not a full 4yr degree (I'd really like a Masters though!), at least courses that look like they'd help.

 

if you don't want to go to school, i'd recommend reading a book. a good software design book is User Interface Design for Programmers by Joel Spolsky.

 

Duely noted. I looked for books yesterday, but I couldn't tell which ones were the ones that I needed... most seemed too advanced.

 

whatever you do, don't take the easy way out. trust me, it will come back and haunt you if you do. in large scale software software applications the planning and designing phases are more important than the actual coding, i know that from a personal experience.

 

This is why I'm trying to learn this. I honestly think if you plan out a program properly, you can just jump in and code each module (procedure/class) one at a time and check them off. You already have it planned out how much work you need to do. Sure you're not going to get it 100% right in design (especially by yourself without feedback from others), but getting the majority is a damn good idea.

Posted

school! BAH ive had enough school

i got 4 classes left until i get my Bachelors in Computer Engineering :D

 

Plus i do this as a hobbie, i dont feel like dropping my other nut to pay for it :p

 

 

I dont mind doing the reading...Anyone got any examples of like flow charts or UML diagrams etc from REAL applications? I learn best from looking at how other people did it and have yet to find any really good examples.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...