中篇Python(ODOO)篇 第一章 Python基础(二)软件工程基础
“叮铃铃,叮铃铃……”,上课铃声响了!同学们期盼已久的计算机课又要开始了,王老师也随着铃声进入了教室,大家望着老师的眼睛都流露出渴望的眼神,王老师看到大家求知若渴的样子,非常高兴!“同学们好,今天我们简单讲讲软件工程!”王老师对着同学们说:“全球第一个写软件的人是Ada,在1860年就尝试为机械式计算机写软件。一直到1968年,大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。早期的软件开发也没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程,当然更加别提什么软件说明书了。也就是咱们中国俗话说的自产自用。”听到这里,同学们哄堂大笑!王老师等同学们安静下来后,接着说道:“从60年代中期到70年代中期软件开始作为一种产品被广泛使用,出现专职给别人的需求写软件的软件作坊,这个时候软件开发还是沿用早期的个体户模式,但软件的需求数量急剧膨胀,软件需求越来越复杂,维护的难度越来越大,开发成本令人吃惊地高,而失败的软件开发项目就屡见不鲜了。所谓的软件危机就这样出现了!”大家都不解地看着王老师。“大家知道通天塔的故事吧?”王老师说:“神让建塔的人互相说话听不懂,把这些人散落到各地,通天塔就建立不起来了,软件开发也是一样,每个人从操作数据库、完成业务逻辑到实现界面都要独自完成,这样的开发显然有弊病,首先每个开发人都需要掌握大部分技术,还要有很强的业务逻辑的理解能力,其次每个人的开发习惯都不同,形成的代码繁杂可读性差,最后后期的完善、维护都会造成麻烦,而且项目大了,一个人工期会拖很长,这都是问题!”王老师打开一张图,给大家继续说道:“现在软件开发是分层的程序设计,这样我们可以专注于本层的设计,而不必关心其他层的设计,也不必担心自己的设计会影响其它层,更改层的具体实现代码,只要层接口保持稳定,其他层可以不必修改。即使层的接口发生变化,也只影响上层和下层,修改工作量小而且错误可以控制,不会带来意外的风险!”“将软件开发分层,其实可以简单的理解为工种分层、规范代码,基本可以将工作分为界面设计人员、业务实现人员、数据库设计人员。界面设计人员的工作就是画程序界面然后将信息提交给业务层,不需要考虑业务层的逻辑关系,业务实现人员的工作是处理界面提交的数据请求完成逻辑流程,再结合数据访问层,不用考虑界面设计的样式、风格,也不用考虑数据库的格式,数据访问层一般是设计完善的架构系统,基本不需要人员工作,主要是屏蔽掉数据库间的差异,为业务层提供便捷的操作功能,数据库设计人员就是设计、规划数据库。很显然一个团队采用多层开发就可以合理的分配人员工作,将每个人放置到适合的岗位上,而主要的技术人员集中在关键部位的开发工作,重复简单的劳动,如画界面就可以安排给新手来完成。”“叮铃铃……”,大家正听得津津有味的时候,不知不觉下课铃声响了,王老师说:“好了,下节课我们讲软件和软件之间是怎么交流的,下课!”