开发手记(三)

2016-01-29 13:32 1 1 收藏

开发手记(三),开发手记(三)

【 tulaoshi.com - ASP.NET 】

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

来源:https://www.tulaoshi.com/n/20160129/1490574.html

延伸阅读
随手记怎么使用   1、进入随手记,可以选择设置密码,设置密码后下次登录需要输入密码才可以登录。 2、进入主页面,点击记一笔,进入记账页面。 3、在记账页面,可以编辑金额信息,备注信息等,编辑好后点击保存即可。 4、点击主页面左下角的指左符号或者直接在屏幕向右滑动,就可以进入账本页面,在账本页面...
《最终幻想13》详细攻略手记:第三章 第三章 コクーン辺境領域 ビルジ湖 ビルジ湖/呪われた濁流 750)this.width=750" border=0> 宝箱序号 获得道具 ① パールウィング ② 欠けた牙×7 ③ 200ギル 一上来就是教学战~~队伍为雷霆~~雪叔~~香草~~选择第一项了解OPTIMA也就是职务系统~~所谓职务简单说就是该角色在战斗...
各子系统集成的技巧 1、选项组、开关按钮、组合框等控件的运用 在窗体上将这些控件巧妙地加以运用可以有机地将有关系统通过一个窗体来控制,这些控件选择值可以传递到查询、报表及宏中的条件中去,从而使得对查询、报表及宏的控制显得灵活方便。 2、选项卡控件的运用 在Access 97 版中新增加了“选项卡”控件,这更使Access可以在有限的窗...
标签: Java JAVA基础
  虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean。JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。 JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人就是J...
标签: PHP
       PHP的面向对象编程:开发大型PHP项目的方法(三)   作者/来源:limodou          重载(与覆盖不同)在PHP中不支持。在OOP中,你可以重载一个方法来实现两个或重多的方法具有相同   的名字,但是有不同数量或类型的参数(这要看语言)。PHP ...

经验教程

32

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部