摘要:
昨天晚上找了崔成龙帮忙把新写完的机房收费系统测试了一遍.因为有第一次的经验,这次比上次错误少多了.不过还是测出了一些问题.1、学生基本信息维护功能中,点击DataGridView列标题可以排序,导致获取行信息不对称。解决:搜索MSDN找到DataGridView,在它的事件说明中,发现列标题的单击事件,可以在这个事件中处理信息不对称的问题。2、基本数据合理性判断,例如最小充值金额不能大于最大充值金额,不能小于0,准备时间不能大于单位计费时间等等解决:根据基本常识,在相应的方法中加入判断即可。3、查询学生信息,缺少一个查不到信息的判断,否则导致相应的更新信息文本框获取出错解决:加上判断即可4、用 阅读全文
摘要:
出处:http://www.cnblogs.com/feisky/archive/2009/10/29/1591956.htmlSystem.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。在System.Col 阅读全文
摘要:
一、概要我们构建程序的时候,会遇到这样的状况,对象有某个行为,但是在不同的场景中,使用策略模式,可以把它们一个个封装起来,并且使它们可相互替换,而起使得算法可独立于使用它的客户而变化。二、生活举例对于一个商店来讲,对不同的客户要报不同的价格,比如:(1)对普通客户或者是新客户报的是全价(2)对老客户(会员)报的价格,要给予一定的折扣(3)对大客户(批发)报的价格,根据大客户购买量,给予一定的折扣(4)根据不同的时间段,例如工作日和节假日等,可能价格仍然不同。处理复杂的报价功能,就会用到策略模式。三、实现思路四、类图五、注意点1、策略模式的设计原则即把一个类中经常改变或者将来可能改变的部分提取出 阅读全文
摘要:
接上篇《机房收费系统重构(一)》二、概要设计完成了用例图,并用结合用例图完善了一下需求分析说明书,忘记是第几次修订需求分析说明书。有了用例图,很自然就进入了概要设计阶段。我认为这一阶段就是结合包图解决系统的基本架构。在这里采用了三层架构(符合高内聚,低耦合的思想),并结合了一些设计模式。下面看我的包图:可以看到,这个包图,是从最经典的三层UI-BLL-DAL加入设计模式演化而来。之所以采用抽象工厂模式是考虑到更换数据库的方便。而应用外观模式,是为了解决UI层和BLL层耦合性过高的问题,UI层不必知道BLL层的存在,Facade(外观)知道BLL层的哪些类负责处理哪些请求,它将UI的请求代理给适 阅读全文
摘要:
从10月1号开始重构学校机房收费系统,没想到这次重构,推翻,再重构……用了两周时间。这次整体架构采用三层,并融入了一些设计模式。下面介绍这次重构的过程:一、从UML用例图开始对于机房收费系统的需求已经很熟悉了,用例和角色都已经提取出来了,在这里遇到一个问题,就是,究竟是根据角色划分用例,还是根据功能划分用例?按角色来画:更容易下一步建模,基本上一个用例对应一个UI层的一个界面,而且一个用例对应一个业务逻辑。但在机房收费系统中,不利于对系统的宏观把控按功能模块来画:使整个系统看起来更加直观,更容易宏观把握整个系统的功能需求。但对于机房收费系统,显然不利于下一步建模,抽象类的时候很容易漏掉方法。两 阅读全文
摘要:
忘记是第几次重构了,这次改概要设计文档的时候,接受了袁福彪师兄的指导.牵扯到一个数据建模E-R图,找资料,学习了一下.一、E-R图,实体-联系模型(简称E-R模型),它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。这里不再赘述什么是E-R图了,自己百度百科去吧.二、主要举两个例子:1、图书借阅管理系统1.1数据库要求提供下述服务:(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具 阅读全文
摘要:
欢迎技术交流。 QQ:138986722一: 在该项目中、生成工单号、工单共有A、B、C、D这几种类型从"000000001"开始自动增长、增长量为1。 专门有一张表来存储工单:Tbnumber创建时间工单号工单类型201110011200000000001A201110111111000000001B 每次在页面加载的时候呢、就Ajax到后台获取工单: public String queryPurchasingnum(String type) throws Exception { String sql = "select a.code,ROWNUM from ( 阅读全文
摘要:
一、概述对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。GOF 《设计模式》这样的依赖关系过于紧密,软件不能很好地适应变化。使用面向对象技术,我们可以将这种依赖关系弱化,即降低耦合。二、生活举例1、我们每个人都有银行卡,通常会有一项业务,余额变更通知。这个便很好地体现了观察者模式。监控银行卡内余额的变化,当我们取钱,转账等原因导致余额变化时,系统会自动采用多种方式告知我们余额情况,可以是短信通知,可以是Email通知,也可以寄账单等等。2、报社、订阅系统和订报人之间的关系,订报人通过订阅系统订报,一旦报社有新的报纸,订阅系统就会派人送或者邮寄 阅读全文
摘要:
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:第 1 阅读全文
摘要:
一、数据库设计范式及其意义和不足数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁。实践中,通常把一个数据库分成两个或多个表并定义表之间的关系以做到数据隔离,添加、删除和修改某个字段只需要在一个表中进行,接着可以通过定义的关系传递到数据库中剩余的表中(和分层思想的意义所在很相似)。这样我们可以消除很多错误或垃圾数据出现的机会并减轻更新信息所必要的工作量。目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式 阅读全文