CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

开发 ERP 类似的企业管理信息系统 中设计的一些思考

楼主trymybest121(观察,想,行动.)2004-09-02 20:44:53 在 .NET技术 / C# 提问

我们做   ERP   这类管理软件时.在做需求的时候,最常碰到的就是各种各样的表单,我们都知道仓库管理是   ERP   中的一大块,其中涉及到入库单,出库单,还有其它一些表单.在企业没有信息化之前,这些表单以纸张的信息存在着.  
  然后在做完需求后,我们对这些表单的来龙去脉都比较清楚了,表单里的信息都会保存在数据库中(那是数据库设计中的问题了)   我们现在关注的是在需求比较清楚的情况下,我们会进行类的设计,我们用面向对象的思想来考虑这个问题.  
   
  如果是你来设计这个系统,你会把每一张表单设计成一个类吗?由于以前没有做过类似的软件,我看到一些同学做的是时候只是在界面的消息响应函数里进行数据库读写(把表单里的数据写入数据库或者反之),感觉,界面一变化,整体都要变化.如果我想设计出一套独立于界面与数据库的系统,我应该如何来设计这些类呢?  
   
  我的设计思想是这样的:举个例子来说明吧!  
  入库单是描述产品入库的信息的,里面有单号,日期,供应商,入库人员等一些基本信息,还有一些产品的集合.当然产品是有属性的(比如,产品名称,单价,数量,颜色等)  
   
      class   StorageEntry     //入库单  
        {  
            ID;     //单号  
            date;   //开单日期  
            productCollection;   //描述一些产品的集合  
            companyProvider;     //供应商  
             
            public   StorageEntry   readFromDateBase();   //从数据库中读入数据到表单  
            public   void   WriteIntoDataBase();             //将表单数据写入数据库  
            {  
                用ID,date...接拼SQL   写入数据库  
                productCollection.WriteIntoDataBase();   //将产品写入数据库  
                companyProvider.WriteIntoDataBase();     //将供应商信息写入数据库  
            }  
        }  
   
      class   Company     //公司类  
      {  
          name;  
          address;  
          tel;  
          public   void   someOperation();     //一些操作  
      }  
   
      class   Product   //产品类  
      {  
          name;  
          price;  
          color;  
          number;  
          public   someOperation();     //一些操作  
      }  
   
   
        当然我的类设计的还不规范,但能说明意思就够了.我的一个伙伴反对我这样设计,他说我表面上像是面向对象的设计方法,可是我却把简单的东西搞复杂了.  
   
   
  他们的设计思路是这样的:  
   
    class   InStorageForm:Form       //继承标准库里的Form   类  
    {  
        textField   ID;  
        textField   name  
        richBox   remark;  
        button   OK;  
         
        void   OnOK()       //响应OK按钮  
          {  
                从textField里到各个值  
                然后用各个值拼接SQL   (insert   into   table1   values(id,name,remarmk....)  
                把值写入数据库里  
          }  
    }  
   
   
  如果开发写起代码来,我感觉我这种思路将会非常慢.  
  我只是看见软件工程书上说把系统分解成各个类,但是问题是分解后,反而会使系统变得复杂,我不知道我的思路会不会独立于界面与数据库.  
   
   
  希望.非常希望,希望非常   在这方面设计过的经验人员和我一起讨论.  
  我的E-mail:   trymybest121@sina.com  
   
   
   
  问题点数:50、回复次数:18Top

1 楼yellowhwb(天の羽)回复于 2004-09-02 20:58:20 得分 20

你可以把表单类和操作表单的类分开  
  class   Form  
  class   FormControl  
  然后通过继承来改变Form和FormControl,这样一个FormControl可以操作多个Form!Top

2 楼The123(Shall We Dance? :))回复于 2004-09-02 21:05:38 得分 0

条条大路通罗马,设计要根据具体情况具体对待,纸上谈兵不行。呵呵。Top

3 楼zhpsam109(JACKY.昊昊)回复于 2004-09-02 21:08:58 得分 0

顶!Top

4 楼trymybest121(观察,想,行动.)回复于 2004-09-02 21:16:44 得分 0

to   yellowhwb(KaDoO):  
        "通过继承来改变Form和FormControl,这样一个FormControl可以操作多个Form!"  
   
  我感觉到是很困难的,因为每个表单的内容都不一样,而且数据库读写也有差距的.  
   
  比如说,入库单和采购单所关心的东西就不太一样.如果分开呢?  
  你提到的关于   FormControl   的东西,能不能解释清楚一些?Top

5 楼yuanarea(Sail before)回复于 2004-09-02 22:36:53 得分 0

顶Top

6 楼luluso(真系好难捉摸啊!!)回复于 2004-09-02 22:41:49 得分 0

mark,关注.希望有多点心得或思考....Top

7 楼zhgroup(王员外)回复于 2004-09-02 22:58:42 得分 0

把功能相似的表放到一个类中.Top

8 楼trymybest121(观察,想,行动.)回复于 2004-09-02 23:09:01 得分 0

其实我的伙伴已经把这个系统给做出来了.我们发现在二次需求后有很多地方需要修改,修改起来显得很麻烦.   主要是在   ERP   这方面经验太少!   关于面向对象的设计平时也是谈得多,实现的少!Top

9 楼Night_Elf(风暴虫)回复于 2004-09-02 23:36:01 得分 0

我们公司现在做的系统就是面向对象的,在后台都是对类的操作,其实这样可以减少大量的代码量,但是这却是以频繁打开数据库为代价换来的!Top

10 楼kestrel(隼)回复于 2004-09-02 23:54:26 得分 10

这类东东就是要不停地改。有人说,企业搞ERP之类的东西成立专门的信息部门是上上策,找软件公司来做是下下策。不止是技术实现,管理模式更重要。  
  兄弟要是做学问的话,按照你自己的想法做下去,会有收获。要是履行商业合同的话,怎么简单怎么来,系统越复杂,可靠性越低。Top

11 楼wybkl88()回复于 2004-09-03 00:19:00 得分 0

只是认识上的问题,无论你采用哪种方法,只要简单,好用,安全就行Top

12 楼sarcophile(食肉动物)回复于 2004-09-03 00:44:39 得分 0

当你在菜场卖鸡蛋时,你不需要专业的财务人员;  
  当你常年垄断一个城市的副食供应时,你还自己算帐吗?Top

13 楼csq0516(阿松)回复于 2004-09-03 02:19:17 得分 0

upTop

14 楼yellowhwb(天の羽)回复于 2004-09-03 08:13:48 得分 15

to     trymybest121(观察,想,行动.)    
  比如  
  class   form  
  {  
          属性一  
          属性二  
          属性三  
  }  
   
  class   formcontrol  
  {  
          private   bool   update(form   objform)  
   
          {  
                  //把数据库中objform更新  
          }  
  ......  
  }Top

15 楼fanciex(http://BugOnline.net 在线的Bug管理系统)回复于 2004-09-04 14:31:03 得分 0

根据mvc的设计模式,你的设想是对的,但你的m跟c混在一块了不好。  
  可以参考:  
  -----------------  
  回复人:   yellowhwb(KaDoO)   (   )   信誉:99     2004-09-02   20:58:00     得分:   0      
     
     
        你可以把表单类和操作表单的类分开  
  class   Form  
  class   FormControl  
  然后通过继承来改变Form和FormControl,这样一个FormControl可以操作多个Form!  
       
     
  Top

16 楼trymybest121(观察,想,行动.)回复于 2004-09-07 21:40:29 得分 0

同意   wybkl88()     的观点!  
   
  主要感觉是时间上来不及!Top

17 楼rouser(流淌的小溪)回复于 2004-09-07 21:55:23 得分 0

你说的是数据实体的概念吧  
  强类型?Top

18 楼xxw10000()回复于 2004-09-07 22:25:20 得分 5

不需要强制做成类,这样做好象是思路明确、好象是OOP的思路,其实没有必要。  
   
  如果你从大的方面来看,form本身就是一个类,这其中当然包括了你对数据库的操作,也包括消息的处理,其实消息本身也就是特殊的方法,这样看的话,其实你已经是按照类的思路进行了Top

相关问题

  • ERP开发失败
  • 关于ERP开发
  • ===大型ERP系统,如SAP,在报表开发中,是否需要学习PLSQL程序设计?===
  • 持久层设计的思考!
  • 企业ERP开发资料
  • 用VB & SQL开发ERP
  • 用VB & SQL 开发ERP
  • erp的开发工具
  • erp可以二次开发?
  • ERP平台开发(讨论)

关键词

  • 数据库
  • erp
  • 系统
  • 属性
  • 面向对象
  • 界面
  • 管理
  • 企业
  • 需求
  • 信息

得分解答快速导航

  • 帖主:trymybest121
  • yellowhwb
  • kestrel
  • yellowhwb
  • xxw10000

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo