Solved

Implementing Class Diagram  and design pattern for new module

Posted on 2010-08-26
6
529 Views
Last Modified: 2013-11-12
Hi,
Requirement :
------------
I have an asp.net web application that have a datagrid. Now the users wants a functionality exporting this grid to excel template. We will define the excel template. Once the grid is exported to the excel, the user can make changes to the numbers. Once done with the changes, the user will import back this excel sheet to the web app using the web app import screen. This import screen will have browse button and upload button. Once the import button is clicked, the import manager should first validate the template and start the rows import. Once improt is done the user should be prompted a message. If the import is unsuccessful, then the message box should tell user what all rows caused issues.

I have to come up with a quality class diagram as many senior architects will be reviewing this. Can any exprience architect review this and let me know his thoughts.
This is what all classes my attachment has
- DataManager - Abstract Class
 - DataExportManager - Derived class from DataManager
 - DataImportManager - Derived Class from DataManager
   - ExcelImportManager - Derived class from DataImportManager
   - XMLImportManager - Derived class from DataImportManager
***Wanted to make something like factory pattern
- DataImportUI
Please have a look at the attached document
Can anyone help me in building quality static diagram for this.

Thanks, DataManger-ClassDiag.docx
0
Comment
Question by:aspnetdev
  • 3
  • 3
6 Comments
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 33559935
There are many ways to skin a cat....this seems like one of the more difficult ways of doing it.  Really, spreadsheets are so often misused that it is frightening.  Your clients want to be able to view some data, make changes to that data and have the system remember the changes.  The fact that they want to do this through Excel concerns me.  I would present the user with a form, let them make changes in the form, then submit those changes.  They can always download the data in a spreadsheet format to view/analyze, but that should not be the default method of allowing the user to update or input data.  That being said, I understand why the clients want it that way...they are comfortable with Excel and they are the ones holding the money.  So, if you can't convince them to change their minds, I'd give your Class Diagram my stamp of approval, with one suggestion.  Add another class which inherits from DataExportManager named ExcelExportManager.
0
 

Author Comment

by:aspnetdev
ID: 33561653
Thanks for your comments. I have modified the class diagram, let me know your comments on this.

DataManger-ClassDiag.docx
0
 
LVL 15

Accepted Solution

by:
David L. Hansen earned 250 total points
ID: 33562310
I'd say you have a pretty good diagram.  Good luck with it.  If you've worked with VB to/from Excel a lot then you'll have a big project ahead of you but I think you'll be ok.  If, however, you have not programmed VB to/from Excel ever before then seriously consider doing the job another way.  Not only will you need to navigate the muddy waters of writing to excel but you'll also need to *guess* at what the user did to the data and format which you didn't expect.  Bottom line: the user will have too much flexibility and that will cause you a lot of headaches (just speaking from experience).
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:aspnetdev
ID: 33562889
Actually i have another ASP.NET web app where we implemented this functionality. I do acknowledge your concern but i think this is what business want. Also, i will be adding more classes for validation. Thanks for your comment though :) .
I am trying to master the art of UML and OOAD and i dont find many people with good sense of it. Everyone knows how to implement this way or the other but very few know how to design it right.

I will grant you the points.
Thanks,
0
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 33562967
Yes, it IS an art -- that's for sure.  As far as mastering the implementation of UML/OOAD I'd just say this: Be a minimalist. At least while you are learning.  Beginners in UML tend to over do it.  For example, don't become "design patterns happy" treat them like perfume...use what you need and no more.
0
 

Author Closing Comment

by:aspnetdev
ID: 33599334
Useful feed back but not that much of helpful
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Find the positions of controls on Android 3 211
C# Test 1 237
Scrum task and User story 2 162
Need an overview of CSS pre-compilation 6 67
Setting up SVN Server using Windows and Apache Purpose of the document:       This article will explain the process of how to configure SVN repository in a windows environment using APACHE web server. What is SVN? (http://subversion.tigris.org/) …
Introduction This article discusses the Chain of Responsibility pattern, explaining What it is;Why it is; andHow it is At the end of this article, I hope you will be able to describe the use and benefits of Chain of Responsibility.  Backgrou…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question