软件工程与哲学
1. 软件设计方法的改变中体现了唯物辩证法中发展的观点
说明:从非结构化程序,到结构化程序,再到目前的面向对象程序,这一改变过程正体现着发展的观点。符合历史发展趋势的新的设计方法逐渐战胜替代旧的设计方法,这是由新旧事物的本质和发展的辩证本性决定的。新生的设计方法在旧设计方法的基础上诞生,对旧方法的因素取精华去糟粕,必将最终替代旧方法。
1. 软件设计方法的改变中体现了唯物辩证法中发展的观点
说明:从非结构化程序,到结构化程序,再到目前的面向对象程序,这一改变过程正体现着发展的观点。符合历史发展趋势的新的设计方法逐渐战胜替代旧的设计方法,这是由新旧事物的本质和发展的辩证本性决定的。新生的设计方法在旧设计方法的基础上诞生,对旧方法的因素取精华去糟粕,必将最终替代旧方法。
2. 大型软件开发过程中资金、开发时间、开发人员之间的辩证联系。
说明:资金不足会导致开发时间的拉长和开发人员的不满懈怠;而开发时间的拉长也会反过来增加资金的消耗,对开发人员的状态也有不小的影响;开发人员的能力和状态直接影响到资金和开发时间。三者是相互影响、相互制约和相互作用的。
3. 需求设计和具体编码是原因和结果的辩证关系
说明:首先需求设计和具体编码有时间顺序,具体编码必须在需求设计之后进行;其次两者之间存在必然的联系,因为需求设计的结果是具体编码的参考。并且两者互为因果,相互影响,需求设计决定具体编码,而具体编码过程中会发现需求设计的一些不足处,然后进行修改。
4. 软件维护过程中体现矛盾的斗争性
说明:在软件的使用过程中,开发人员必须对软件进行维护,修补一些Bug、漏洞,完善强化软件的功能。但常常会出现这样的问题,修改一些功能很有可能会牵涉到其他的功能,甚至会导致其他功能的性能下降,这就存在了矛盾。这时就需要权衡利弊,特别要坚持唯物辩证法的重点论与两点论的统一。
5. 软件功能和底层代码之间是现象和本质的关系
说明:软件功能是底层代码的外在表现,而底层代码是一个软件的根本性质。两者既对立又统一,首先两者有原则的界限,不能混同;其次软件功能由底层代码决定,而底层代码由软件功能体现。