当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 开发手记(三)

ASP.NET
asp.net GridView控件中模板列CheckBox全选、反选、取消
asp.net GridView 删除时弹出确认对话框(包括内容提示)
asp.net DropDownList 三级联动下拉菜单实现代码
asp DataTable添加列和行的三种方法
Asp.net 页面调用javascript变量的值
asp.net 长文章通过设定的行数分页
asp.net 定时间点执行任务的简易解决办法
asp.net 页面延时五秒,跳转到另外的页面
asp.net 动态输出透明gif图片
asp.net DataList与Repeater用法区别
asp.net Javascript获取CheckBoxList的value
asp.net程序在调式和发布之间图片路径问题的解决方法
asp.net下生成英文字符数字验证码的代码
asp.net 页面版文本框智能提示JSCode (升级版)
ASP.NET URL伪静态重写实现方法
ASP.NET 2.0 中Forms安全认证
asp.net 动态添加多个用户控件
asp.net Repeater显示父子表数据,无闪烁
asp.net 无法获取的内部内容,因为该内容不是文本 的解决方法
asp.net GridView排序简单实现

ASP.NET 中的 开发手记(三)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 42 ::
收藏到网摘: n/a

    人们常问:“需求、设计、编程、测试四者究竟哪个重要?” 这个问题不好回答。四者都是软件开发过程中必不可少的环节,光做好其中一个环节并不能产生好的系统,但是做坏了其中任何一个环节,必定对系统产生坏的影响。若站在风险管理的角度讲,也许需求开发与管理是最重要的环节。因为需求是产品的根源,对产品需求的认识是否彻底对产品的影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。庆幸的是我本人既是软件的开发者又是这套系统的最终用户,个人亲身在造价管理部门、投标部门、项目法人结算部门工作过,对系统的大部分需求比较了解,这也给需求分析工作减轻了负担。

    也许是对需求的理解过于自负,因此对水利设计单位的需求调查深度不够,导致了目前系统针对设计单位用户功能的提供存在一个缺陷,而且是不容易弥补的,这一点的需求与许多模块相关联,牵一发而动全军。正如Frederick Brooks在他1987年的经典文章“No Silver Bullet”中阐述需求的重要性:“开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其他软件系统的接口。此工作一旦有失误,将会给系统带来极大的损害,并且以后对他修改也极为困难。” 软件需求是系统设计之源,详细的需求分析完成后接下来的工作便要进入系统的设计阶段。软件系统设计核心内容包括:体系结构设计、用户界面设计、数据库设计、模块设计、数据结构与算法设计等几方面。根据这套软件的具体开发情况,系统设计准备了两套方案:一个是继承市场上现有水利造价软件的主流设计思路,对其不完善的部分改进并加入一些先进的设计思想。另一种方案是抛弃主流设计思路,另辟新径开发一个面目一新的产品。

    我对两种方案的优缺点进行了对比:第一种方案的优点: 1、 主流水利造价系统结构设计的可实现性具有先例,开发风险系数低。 2、 有大量的老用户习惯了以前的软件操作模式,主流的用户界面和模块画分会给老用户以熟悉感,用户不用重新学习软件的使用方法。 3、 可以吸收市场上较成熟的同类软件的数据库设计思想,缩短了开发时间。第二种方案的优点: 1、 全新模式设计,可以彻底抛弃现有同类软件在需求、设计方面的不足。 2、 给用户以全新的感觉,避免用户产生新软件是某一款老软件升级版的错觉。 3、 避免了因与某一同类软件的部分结构相似而产生的版权纠纷问题。我对两套方案进行了详细分析对比,权衡利弊决定采用第一个方案。并运用以下方式对第一套设计方案中的不足进行弥补: 1、 彻底分析市场现有同类软件的不足,从需求、设计方面入手,增强系统的功能与操作的人性化,让软件更体贴用户需要。改进计算与导出模块的数据结构算法,提高系统的整体性能。因水利造价管理的需求是随时代发展而变化的,预留软件接口,提高可扩展性。对部分模块全新设计,提高系统的兼容性。 2、 只吸收设计思想,不抄袭整个软件,尽量避免版权争议。 3、 本人在天津水利造价管理领域有一些人脉,因此软件设计主要吸收天津某单位开发的一套系统的优秀思想。即使将来产生版权争议也容易摆平,再不行还可以合作吗。根据《计算机软件保护条例》第六条的规定,除计算机的程序和文档外,著作权法不保护计算机软件开发所用的思想、概念、发现、原理、算法、处理过程和运算方法。也就时说,利用以有的上述内容开发软件,并不构成侵权。因为开发软件时所采用的思想、概念等均属计算机软件基本理论的范围,是设计开发软件不克缺少的理论依据,属于社会公有领域,不能为个人专有。所以市面上的同类型的软件结构布局、使用方法都有几分相似,这给用户的使用也提供了很大的方便。但他们之间肯定是有差异的,各有长短,一些后者吸收前人的思想并发展继承后异军突起了。因为已经完成了系统需求详细分析,对业务流程十分熟悉,而这种数据处理系统的技术含量不很高,所以对市场现有水利造价软件的体系结构、用户界面、模块划分的分析相对容易一些。软件所依赖的数据结构与算法可结合程序实现时一同考虑。在对现有软件的剖析过程中最让人头痛的是数据库结构的分析过程。需要搞清每个库的作用,每个库之间的联系;库中每个表的作用,他们之间的联系;表中的每个字段的作用,他们之间的联系;之后他们所有互相之间的联系。我耗时一个月对软件的6个库、120张表、3000多个字段进行了详细的功能及关系描述,描述文档约有10万字。算起来比全新设计库结构所要耗费的精力一点不少,这样做只是为了增加软件的成功系数。至此软件的分析工作全部完成,接下来的工作就是要真刀真枪的编码了。