Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 6th, 2007, 4:55 AM   #1
Foxandxss
Newbie
 
Join Date: Jul 2007
Posts: 1
Rep Power: 0 Foxandxss is on a distinguished road
Python developer looking for design advice

Hello everyone, I'm Foxandxss and I'm Spanish.

I'm a Python developer, but I haven't done anything big and I want to know how to design a program.

I would like to know what things I need to do before I start coding my program, things like analysis and design...

If anyone can guide me with the steps that I need to do before starting to code, I will be very very happy.

I'm learning by myself, and I don't know how to do something """big""" like a book database because I can't open the text editor and start coding without an idea of what classes I should create or what design I need to follow.

In conclusion, I would like to learn how to design a program before coding.


Thank you very much.
Foxandxss is offline   Reply With Quote
Old Jul 10th, 2007, 7:07 PM   #2
mackenga
Professional Programmer
 
Join Date: Mar 2005
Location: Glasgow, Scotland
Posts: 317
Rep Power: 4 mackenga is on a distinguished road
Sorry, it's been a long time since this post but there have been no answers and I've just come across it. Hopefully you're still holding out hope for an answer, Foxandxss!

Software design is a big topic in itself, but as a starting point, the first thing you need to figure out are the requirements - what you want, or what the user wants, from the program. This includes things like what it will do, how it will do it, what other systems it will talk to if any, how it will perform, what it will run on - often many of these decisions are made (each time I sit down and code for my own use I know it will run on Linux; if it's to use a database it will be Postgres; and so on - but you need to think about all of these questions first of all in quite a general, abstract way.

The next stage generally with object oriented development is, as you say, to think about what classes to use. A traditional starting point is to write down what your program does and what it does that with, and think about the objects and actions involved. For example, in a book database objects might include a book, and maybe you'd want objects for an author, a publisher, and so on. Each of these will have some data associated with it (for example, a book might have an ISBN number or other identifying numbers, and maybe a barcode if that's relevant to you).

That gives you some of the information. Now, you need to think about what actions will be performed on the objects. A book database for a library might need to have "check in" and "check out" types of action associated with it.

This sort of thinking will give you some ideas of what classes will feature in your program (the objects you identify), and what characteristics in terms of data and methods these classes will need to have. The same sort of method can be applied to more 'programmatic' sorts of objects that don't correspond to the real world, but although there's a lot of variety in the world of design methods, it's often a good idea to start by thinking about how you will represent real world objects that matter to your program.

I recommend getting a good, big book on this subject. I'm a programmer of the 'hacker' school unfortunately and design mainly by feel - this is not actually a good way to go about it, but it means I can't really recommend specific books. There is a "Software Design and Algorithms" forum on this site which might be helpful with finding a book that would be useful to you. Look out for books about the design process that are based around UML (the Unified Modelling Language) - it's a useful tool and looks good on a job application!

I hope this helps and didn't come too late
__________________
"I'm not a genius. Why do I have to suffer?"
mackenga is offline   Reply With Quote
Old Jul 11th, 2007, 12:40 PM   #3
mackenga
Professional Programmer
 
Join Date: Mar 2005
Location: Glasgow, Scotland
Posts: 317
Rep Power: 4 mackenga is on a distinguished road
Whoops, my bad - this IS the Software Design and Algorithms forum! Lol. Must have been pretty tired when I posted this last night!
__________________
"I'm not a genius. Why do I have to suffer?"
mackenga is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
First language im learning python, need advice! Relentless Python 6 Aug 15th, 2007 5:25 AM
Beginers Python Tutorial Beegie_B Python 15 Jul 28th, 2006 11:43 AM
[tutorial] Python for programming beginners coldDeath Python 30 Dec 14th, 2005 11:35 AM
Advanced Python Tricks Arevos Python 19 Sep 24th, 2005 7:39 AM
Python - A Programmers Introduction coldDeath Python 17 Aug 19th, 2005 12:41 PM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 10:43 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC