天下文章一大抄,前人的成果不要跑

人们常问:“需求、设计、编程、测试四者究竟哪个重要?” 这个问题不好回答。四者都是软件开发过程中必不可少的环节,光做好其中一个环节并不能产生好的系统,但是做坏了其中任何一个环节,必定对系统产生坏的影响。若站在风险管理的角度讲,也许需求开发与管理是最重要的环节。因为需求是产品的根源,对产品需求的认识是否彻底对产品的影响最大。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。庆幸的是我本人既是软件的开发者又是这套系统的最终用户,个人亲身在造价管理部门、投标部门、项目法人结算部门工作过,对系统的大部分需求比较了解,这也给需求分析工作减轻了负担。也许是对需求的理解过于自负,因此对水利设计单位的需求调查深度不够,导致了目前系统针对设计单位用户功能的提供存在一个缺陷,而且是不容易弥补的,这一点的需求与许多模块相关联,牵一发而动全军。正如Frederick Brooks在他1987年的经典文章“No Silver Bullet”中阐述需求的重要性:“开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其他软件系统的接口。此工作一旦有失误,将会给系统带来极大的损害,并且以后对他修改也极为困难。” 软件需求是系统设计之源,详细的需求分析完成后接下来的工作便要进入系统的设计阶段。软件系统设计核心内容包括:体系结构设计、用户界面设计、数据库设计、模块设计、数据结构与算法设计等几方面。根据这套软件的具体开发情况,系统设计准备了两套方案:一个是继承市场上现有水利造价软件的主流设计思路,对其不完善的部分改进并加入一些先进的设计思想。另一种方案是抛弃主流设计思路,另辟新径开发一个面目一新的产品。我对两种方案的优缺点进行了对比:第一种方案的优点: 1、 主流水利造价系统结构设计的可实现性具有先例,开发风险系数低。 2、 有大量的老用户习惯了以前的软件操作模式,主流的用户界面和模块画分会给老用户以熟悉感,用户不用重新学习软件的使用方法。 3、 可以吸收市场上较成熟的同类软件的数据库设计思想,缩短了开发时间。第二种方案的优点: 1、 全新模式设计,可以彻底抛弃现有同类软件在需求、设计方面的不足。 2、 给用户以全新的感觉,避免用户产生新软件是某一款老软件升级版的错觉。 3、 避免了因与某一同类软件的部分结构相似而产生的版权纠纷问题。我对两套方案进行了详细分析对比,权衡利弊决定采用第一个方案。并运用以下方式对第一套设计方案中的不足进行弥补: 1、 彻底分析市场现有同类软件的不足,从需求、设计方面入手,增强系统的功能与操作的人性化,让软件更体贴用户需要。改进计算与导出模块的数据结构算法,提高系统的整体性能。因水利造价管理的需求是随时代发展而变化的,预留软件接口,提高可扩展性。对部分模块全新设计,提高系统的兼容性。 2、 只吸收设计思想,不抄袭整个软件,尽量避免版权争议。 3、 本人在天津水利造价管理领域有一些人脉,因此软件设计主要吸收天津某单位开发的一套系统的优秀思想。即使将来产生版权争议也容易摆平,再不行还可以合作吗。根据《计算机软件保护条例》第六条的规定,除计算机的程序和文档外,著作权法不保护计算机软件开发所用的思想、概念、发现、原理、算法、处理过程和运算方法。也就时说,利用以有的上述内容开发软件,并不构成侵权。因为开发软件时所采用的思想、概念等均属计算机软件基本理论的范围,是设计开发软件不克缺少的理论依据,属于社会公有领域,不能为个人专有。所以市面上的同类型的软件结构布局、使用方法都有几分相似,这给用户的使用也提供了很大的方便。但他们之间肯定是有差异的,各有长短,一些后者吸收前人的思想并发展继承后异军突起了。因为已经完成了系统需求详细分析,对业务流程十分熟悉,而这种数据处理系统的技术含量不很高,所以对市场现有水利造价软件的体系结构、用户界面、模块划分的分析相对容易一些。软件所依赖的数据结构与算法可结合程序实现时一同考虑。在对现有软件的剖析过程中最让人头痛的是数据库结构的分析过程。需要搞清每个库的作用,每个库之间的联系;库中每个表的作用,他们之间的联系;表中的每个字段的作用,他们之间的联系;之后他们所有互相之间的联系。我耗时一个月对软件的6个库、120张表、3000多个字段进行了详细的功能及关系描述,描述文档约有10万字。算起来比全新设计库结构所要耗费的精力一点不少,这样做只是为了增加软件的成功系数。至此软件的分析工作全部完成,接下来的工作就是要真刀真枪的编码了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
历史上,已经有很多人对软件系统攻防进行了研究。其中,一些重要成果包括: 1. 感染式病毒的研究:从20世纪80年代开始,研究人员开始研究计算机病毒及其攻击方式。他们首先研究了感染式病毒的工作方式,尤其是如何感染和扩散。 2. 杀毒软件的研究:为了应对计算机病毒的攻击,研究人员开始开发杀毒软件。这些软件可以检测和清除病毒,从而保护计算机系统的安全。不同的杀毒软件采用不同的技术来检测和清除病毒,主要包括特征码检测、行为检测、云端检测等。 3. 漏洞利用的研究:攻击者通常利用软件中的漏洞来入侵目标计算机系统。因此,研究人员开始关注漏洞利用技术,并研究如何通过补丁等手段来修复漏洞。 4. 入侵检测的研究:为了及早发现攻击者的入侵行为,研究人员开始研究入侵检测技术。这些技术可以通过监控网络流量、主机行为等手段来检测入侵行为,并及时发出警报。 5. 防火墙技术的研究:防火墙可以帮助过滤网络流量,阻止攻击者入侵。研究人员开始开发不同类型的防火墙技术,如包过滤型、状态检测型、应用层网关型等。 6. 安全加固技术的研究:为了提高软件系统的安全性,研究人员开始研究安全加固技术。这些技术包括加密技术、身份认证技术、访问控制技术等,可以帮助软件系统提高安全性,防范各种攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值