走过,路过,不要错过!!!关于软件设计中界面功能安排与软件(业务)逻辑设计的讨论,请大侠们指教。

小呆之家 2004-12-24 09:54:54
在做软件过程中,我一般是将软件的多个功能做在一个窗体中,如一个报表制作软件中,对报表的制作,查询,修改,打印,报表的审核传递(向高级用户送交报表),报表管理权限等的功能都做在一个窗体中,然后在代码中按用户权限实现对报表的操作功能。这样做在开发时是很省时省事,的效率也高(个人认为)。但是不好的是:这些天软件要在对方单位进行验收了,对方(领导一个激情发现)却要示在原有用户层次上插入几个用户中间用户层次!一定要做!我惨了,修改起代码来找不全要修改的地方了!软件中的错误到处都是。
是不是应把软件各个功能都相互独立成窗体呢?这样是更利于修改了,可开发时却是CTRL+C与CTRL+V了...,
大家说说吧。
...全文
295 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
小呆之家 2004-12-29
  • 打赏
  • 举报
回复
up
小呆之家 2004-12-28
  • 打赏
  • 举报
回复
多谢各位的指教。
小弟在此有一个痛心的感受:项目文档不全苦了我啊!
软件开始之初,就给我一份软件功能要求,软件所涉报表样式(报表样式后来变化了两次!!!)。
就要求我开始做了。而且还死命催我在两个月内做好软件!没有办法只能以功能集中方法来应急了。失败啊!
现在,这个软件做了快一年了他们的总体需求还是在变,报表样式还是会变!!!天啊。
我的头都要爆了。真的!但是没有办法,对方是国企。我们老板又不能开罪他们,靠他们吃饭呐。管软件开发(懂一点软件开发知识)的人做不了主,做得了主的人根本不懂软件开发。这样做项目我想我总有一天会受不了的。
dh9450 2004-12-28
  • 打赏
  • 举报
回复
设计的时候就应该想到需求扩展
代码最好和界面分开
继承你现在的窗体吧 为每个权限
zijida 2004-12-28
  • 打赏
  • 举报
回复
首先,每个功能都应该独立于窗体,也就是楼上几位说的,功能与界面分离。这是一个结构良好,扩展性和鲁棒性并重的软件的首要特征。
建议楼主做个重构。如果条件允许的情况下。并建议以后首先考虑到这一点:结构是否有利于扩展?
tengjian1981 2004-12-28
  • 打赏
  • 举报
回复
up
adong2838 2004-12-27
  • 打赏
  • 举报
回复
guo lu zhong ,ding ......
Changefish 2004-12-27
  • 打赏
  • 举报
回复
路过 各位继续
98049522 2004-12-27
  • 打赏
  • 举报
回复
路过, 顶
  • 打赏
  • 举报
回复
由此看來猜想你的單元少則有5000行代碼.
是不是感覺代碼的雜亂無章,天羅地網, 當然修改起來會牽一發而動全身,不可收拾!
特別是其它人員來維護你寫的代碼時時候. 會將你罵到狗血淋頭, 死無葬身之地!!!
然而,其實你是無罪的, 因為你編碼的時候你只有這個能力.
幸運的是,維護是卻是你自己.那你現在只有罵自己羅!

一個復雜的界面應該對其進行細分. 設計復雜的界面無論是你還是你的客戶, 都會對其產生厭煩!
甚至棄而遠之!
什麼功能,無論是程序自運行以來只執行一次的功能. 如果你將它們放在一個界面, 是嚴重錯誤的!
它不但每次要消耗一部分內存, 也許他還會帶來潛在的錯誤!
如果細分這個功能. 將它會在不同的窗體. 即使它會出現問題,也只會影響當前的窗體.它還能提高界面的美觀性.用戶操作起來更加方便! 基于這種情況, 你有什麼原因不分离界面呢?

建議你多花些時間去書店看看, 學些編程思想!



wj964124 2004-12-27
  • 打赏
  • 举报
回复
这就说明你的程序的结构化编写不是十分的好,应该可以根据实际的要求进行拆分和合并的,我建议你去看一些较大软件的源代码。可以从中学习到不少东西的。
weidegong 2004-12-27
  • 打赏
  • 举报
回复
把软件各个功能都相互独立成窗体?
不可能

最好把各个功能“封装”成一个个的Action里,然后把他们赋值给窗体上的控件,统一管理。

ActionManager比ActionList好用,不过ActionManager所在窗体不能被继承
kwokwinglau 2004-12-27
  • 打赏
  • 举报
回复
我看对方领导 并不希望你分开窗口处理.
kwokwinglau 2004-12-27
  • 打赏
  • 举报
回复
应该一开始就谈好权限管理,如果要改变就增加费用,并按要求修改.
caiso 2004-12-27
  • 打赏
  • 举报
回复
顶~!
可恶的狼 2004-12-27
  • 打赏
  • 举报
回复
呵呵。帮你顶了!!
不过我觉得开始做的时候还是最好分的好,要不客户要改变什么的话,烦烦的还是你自己。
Blakhawk 2004-12-27
  • 打赏
  • 举报
回复
不考虑使用开发方法的的下场就是这样的。
看来没有人能帮你这忙,自己好好想想吧。
sunkevin 2004-12-27
  • 打赏
  • 举报
回复
功能模块是要分的,但相同的界面还是用一个窗口即可,在不同的功能模块中都用这相同的窗口界面。
pdbird 2004-12-27
  • 打赏
  • 举报
回复
对,用权限来解析。
500czj 2004-12-27
  • 打赏
  • 举报
回复
把权限细公开来,存在一个字段中,每一个操作都可以加权限,如050202,就是05这个模块,02这个子模块,02这个子操作,把050202这个字段以二进制的型式存起来,每个用户有个二进制的值位数自已定,初值为0,在操作时判断一下050202这个值的二进制位数据上是否为1,......
gxgyj 2004-12-24
  • 打赏
  • 举报
回复
路过,看看。
ding..
加载更多回复(3)

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧