毕业设计管理系统基本完成了,还是老规矩,颗粒归仓:总结.
先来看教训:
1、做界面原型的时候,没有为界面起好名字,链接也没有设置好,导致后来大家在VS里画界面的时候,名字起得很不统一,很凌乱。
2、在建数据库的时候,确定好主外键关系,一定要设置好相应的触发器删除,不然后期删除肯定会出问题。如果等到发现了再设置,面对复杂的主外键关系有时候,很难理清楚。
3、Rose建模,最好是一个人来完成,然后大家给意见,我们这次采用分角色建模,导致类名混类,关系混乱,冗余过大。
4、有些界面,各个角色的母版不一致,但操作区是一样的,造成了界面冗余。这个可以考虑母版设计的菜单项根据角色显示,或者把操作区做成用户控件。
5、事先没有对按钮,文本框等控件统一样式,没有把公共样式提取出来,导致页面样式混乱。样式表应用不是很规范,有页面内样式,还有外部样式,有冗余,这些完全可以避免。
6、页面布局,顶部logo占用空间过大,并没有实际用途。导航菜单不够人性化,没有考虑到哪些是用户最需要,最常用的。正像米老师说的,面向服务的思想不足。界面的炫和简单实用是个平衡。
7、登陆界面,手动选择角色,这个判断应该自动完成。
8、SVN应用出现问题。我们提交的是解决方案,包括bin文件夹等等,应该仅仅提交源码,那样对于SVN好控制。最后,再合并编译。
9、要善于利用table切割界面,要保证统一。
10、需求不能仅仅一个用例图就完事了,对于一些关键的业务逻辑要落实到文档中,写详细。否则很容易导致建模的时候模棱两可。
11、数据库设计一定要形成数据字典,后期不要轻易改动。
12、查询返回Datatable时,最好是使用字段别名,不要暴露数据库字段,对后期导出Excel也方便。
13、全部使用存储过程,虽然维护起来方便,不用动源码,但是这样对数据库依赖过大,损失了扩展性。
14、登陆应该自动根据角色判断,而不是手动选择角色。
15、基本代码完工后,前提应该自己调自己的,把基本问题都解决,然后整合后,最好是一起调,发现谁有问题,立即解决,效率还是比较高的。
新学到的技术细节:
1、上传下载文件
2、导入导出Excel
3、有几个浏览器兼容问题,上传下载文件,文件名会出现乱码,这个还有待解决。
4、组合查询,视图,在存储过程中拼接字符串。实体类构造函数置空属性和sql语句中where 1=1这个技巧挺好。
5、Jquery动态菜单
不得不提一下,这次最大的收获:前期需求和设计,非常地重要,非常地重要。前期一定认真仔细,尽可能考虑周全,不然准备等着后期被恶心吧。应对变化是必须的,但一定要让自己尽可能抓住主动权。