Jump to content

planning to develop backup program. need tips/guidance

- - - - -

  • Please log in to reply
3 replies to this topic

#1
liamzebedee

liamzebedee

    Programmer

  • Members
  • PipPipPipPip
  • 129 posts
I am planning to develop a backup program in Java with my friend Jack (known on CodeCall as Hunter100) for the competition ICTExplorers. I am wondering what should be the basic design for the application.

I would like some evaluation and positive criticism for my routine. I understand generally what backup programs do and I would like the people of CodeCall to submit their understanding/design implementation to this thread.

This is what I've got so far-

  • Program Starts and Finds Directory to Backup
  • Program Runs through Directory, subdirectories finds files (similar to tree in DOS)
  • Compares MD5 Sum of files in directory to backup with files in back up directory
  • If different sum it makes another backup of file with timestamp (not overwriting previous file)
  • Else it skips this file

Also I would like to know if you think Java is a suitable language to make a backup program in. I personally chose Java because its cross-platform/os and it doesn't require Operating System Calls to manipulate the filesystem.

#2
ZekeDragon

ZekeDragon

    Writes binary right handed and hex left handed

  • Moderators
  • 2,103 posts
Java can be used to accomplish this task, and I don't think that it would be too difficult to implement in Java. I think that when you design this routine you should design it with flexibility in mind, namely that you can, in fact, end up designing a program that doesn't just need to be able to add more steps, but remove steps your program deems unnecessary for the purposes of efficiency and switch steps around. You can look at each of these steps as an object in itself that would only need some kind of object to represent the file tree in the directory the user is attempting to back up. Remember that your program should probably perform the backup on a low-priority thread since it's most likely this operation will take a long time, so the best thing to do for the user is to allow them to do other things with their computer instead of just waiting for your program.

How do you intend on implementing the system for this program?
Wow I changed my sig!

#3
liamzebedee

liamzebedee

    Programmer

  • Members
  • PipPipPipPip
  • 129 posts
Do you mean the system as in the computer? Explain please.

#4
ZekeDragon

ZekeDragon

    Writes binary right handed and hex left handed

  • Moderators
  • 2,103 posts
By "System", I meant the underlying structure of your program. Can you take a piece of paper and draw, with lines, circles, and small statements how your program will accomplish this task?
Wow I changed my sig!




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users