| | |
advice needed on classes for an online backup system
Please support our C# advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Oct 2008
Posts: 41
Reputation:
Solved Threads: 0
hi, basically im designing an online backup system for my final year project. It will be an (asp.net/c#) web application which allows users to backup their files to a remote server. Each user will have their own account where they can login to backup files, view files backed up etc....
i need help picking what classes i should have within my system, i understand that picking wrong classes or leaving out important ones can have a very negitive effect on projects
what i have got so far:
a USER class which will store details for each user.
- im not sure if need a seperate class for LOGIN details, which will hold username and password etc?
a FILE class which will hold the details & methods for each file stored on the system
an ACCOUNT class which relates to: a user and all the files they have stored on the system
im not sure what others i need...could any1 help please?
many thanks
i need help picking what classes i should have within my system, i understand that picking wrong classes or leaving out important ones can have a very negitive effect on projects
what i have got so far:
a USER class which will store details for each user.
- im not sure if need a seperate class for LOGIN details, which will hold username and password etc?
a FILE class which will hold the details & methods for each file stored on the system
an ACCOUNT class which relates to: a user and all the files they have stored on the system
im not sure what others i need...could any1 help please?
many thanks
•
•
Join Date: Aug 2008
Posts: 1,735
Reputation:
Solved Threads: 186
Surely your account and user class are the same from your description.
As for your classes, you'd need to define your program more fully before you can be conclusive about the classes you will need to do the job at hand.
You'll need to consider features, and limitations, validations etc.
Once you've written out all the features, their interactions, you'll have a much better idea of what classes you'll need.
As for your classes, you'd need to define your program more fully before you can be conclusive about the classes you will need to do the job at hand.
You'll need to consider features, and limitations, validations etc.
Once you've written out all the features, their interactions, you'll have a much better idea of what classes you'll need.
Did I just hear "You gotta help us, Doc. We've tried nothin' and we're all out of ideas" ? Is this you? Dont let this be you! I will put in as much effort as you seem to.
•
•
Join Date: Jul 2008
Posts: 49
Reputation:
Solved Threads: 7
That's a weird way you're using to designing an application heh. Here is how i would go about it if it's a fairly small project. First thing you need to do is layout your requirements. Write down what you're trying to achieve and what features you'd like to create. Go for the essential things only at this point. Than look at limitations and different ways of implementation. How you would organize data. How you would store data. What you will use to validate data. What database to use and etc. I would than draw a high level overview of the database with short explanations for each database entity. Than elaborate on it until you create a pretty decent model. You'd obviously want to have account details (i suggest you use aspnet membership features as this is already done for you). You obviously wouldn't be storing data in your database. However what you will be storing is location to files and possibly some validation data such as checksums for each file. Then go from here. Should be a little bit easier to see the whole picture from this point.
For your final year project, i would imagine you'd be required to write full-blown documentation, requirements, development strategy, development roles, scheduling, unit tests and all of that. As boring as it is, that's how projects get done
For your final year project, i would imagine you'd be required to write full-blown documentation, requirements, development strategy, development roles, scheduling, unit tests and all of that. As boring as it is, that's how projects get done
Last edited by iDeveloper; Jan 3rd, 2009 at 12:15 am.
•
•
Join Date: Oct 2008
Posts: 41
Reputation:
Solved Threads: 0
thanks very much for the feedback, yes i have done the requirements and am trying to design classes, database and screen flows...i will post more if i get stuck 
i have just figuered out how to extract info from a file as this could be very useful having name, size, type as i could then sort file by these various properties in a gridview etc

i have just figuered out how to extract info from a file as this could be very useful having name, size, type as i could then sort file by these various properties in a gridview etc
•
•
Join Date: Aug 2008
Posts: 1,735
Reputation:
Solved Threads: 186
Glad to hear its moving on - as long as the design is sufficiently details the bulk of classes etc should be reasonably obvious - and it should filter quickly down from there.
Did I just hear "You gotta help us, Doc. We've tried nothin' and we're all out of ideas" ? Is this you? Dont let this be you! I will put in as much effort as you seem to.
•
•
Join Date: Oct 2008
Posts: 41
Reputation:
Solved Threads: 0
i think each file will have to have a "FileOwner" so that for example when johnny logs in to his account, there will be a database select statement like:
Select * From File
Where FileOwner = 'johnny'
so that it will display only the files that particular user has uploaded - which means i will have to attach the username to each file uploaded some how (mayb in the database along with file properties).........
Select * From File
Where FileOwner = 'johnny'
so that it will display only the files that particular user has uploaded - which means i will have to attach the username to each file uploaded some how (mayb in the database along with file properties).........
•
•
Join Date: Jul 2008
Posts: 49
Reputation:
Solved Threads: 7
Have you done any normalization to your database? If so, this may be a way to make your process better structured. Instead of including Fileowner in your File table, create a 1:N (Many) relationship between File and Account. So you would simply include AccountId in table File. This will be a reference back to the account that is currently logged in.
•
•
Join Date: Aug 2008
Posts: 1,735
Reputation:
Solved Threads: 186
As always countless ways to to achieve that. If you're storing files you could either store them in a database, or in directories on the server out of general web reach etc.
Did I just hear "You gotta help us, Doc. We've tried nothin' and we're all out of ideas" ? Is this you? Dont let this be you! I will put in as much effort as you seem to.
•
•
Join Date: Oct 2008
Posts: 41
Reputation:
Solved Threads: 0
yep normalisation is a good idea to get rid of duplicates etc, i think i will store the file location to each file in a database; does any1 know a sutible server on which to store the files?
do u mean a relationship where 1 user has many files?
i think i will use "user" instead of "account", i suppose it dosnt really matter unless thats the standard way to call them?
do u mean a relationship where 1 user has many files?
i think i will use "user" instead of "account", i suppose it dosnt really matter unless thats the standard way to call them?
![]() |
Other Threads in the C# Forum
- Previous Thread: the "this" reference & indexers
- Next Thread: Why calling constructor in other namespace?
| Thread Tools | Search this Thread |
.net access algorithm alignment app array barchart bitmap box broadcast c# c#gridviewcolumn cast check checkbox client combobox communication control conversion csharp custom database datagrid datagridview dataset datatable datetime degrees development draganddrop drawing elevated encryption enum excel file focus form format forms function gdi+ hospitalmanagementsystem httpwebrequest image index input install java label list listbox localization login mandelbrot math messagebox mouseclick mysql operator path photoshop picturebox pixelinversion plotting pointer post programming radians read regex remote remoting richtextbox server sleep socket sql statistics stream string stringformatting sun table text textbox thread time timer update usercontrol validation visualstudio webbrowser whileloop windows winforms wpf xml






