2013春季巡讲讲稿—后可视化编程时代—杨春宇—天津工业大学CSDN高校俱乐部

巡讲主题:后可视化编程时代

巡讲讲师:杨春雨

推荐阅读对象:爱好编程的学生

主要内容:围绕可视化编程来讲,可视化的编程给我们的编程带来了极大的方便,但是很多时候,我们的编程工作是在不断重复的,比如说页面里面有一百个文本框需要你输入内容,并保存到数据库里面,这就是后可视化编程想象的空间。

点击查看天津工业大学CSDN高校俱乐部巡讲视频巡讲报道

讲师演讲PPT下载地址:http://share.csdn.net/#/detail/715

以下文字为巡讲视频中的全部内容,编辑成文字方便大家学习观看。希望可以给大家带来收获和帮助。

    可视化编程呢,比如像很早以前的VBVF,当今的VC都是可视化编程软件,它的最标准的特点呢就是按钮啊,文本框啊,下拉菜单啊用鼠标一拖就能拖到这个框体里面来,这个简直是太帅了啊。这主要是源于windows的操作系统,有了窗口操作系统并且是多任务的,这样的话,他就能实现用鼠标一拖就能实现。这让咱们程序人员看到这样的变化是非常欣喜的,感觉到了他的工作发生了一个非常非常大的变化,就好像以前上学是骑自行车,现在上学可以开汽车了。在这个领域里面,可视化编程是一个里程碑的东西,非常非常重要。也就是说呢,在最近几年看到,所见即所得,这就是它最大的特色。当人们发现这样的好处之后,不仅程序员发现了这样的变化,甲方也发现了这样的变化,突然有一天,甲方拿到了他想要的软件想要的产品时,哇,这么棒,因为在很早以前的时候,编写出来的程序也是很弱智的。因为它麻烦,所以做的功能非常弱智,操作起来也很麻烦。忽然间,软件公司交付给甲方的是一个用鼠标的点点就可以用的。那么这个时候可视化编程开始被发现,甲方开始提出更高的要求。过去的时候,这个功能非常的繁杂,一个页面可能就三五个按钮。但是现在呢,恐怖的时候可能会出现上百个文本框,下拉框,举些例子,比如说,银行,保险,如果说你从事过相关行业的开发,你会感觉到这简直是一个噩梦。你的领导给你安排了一个工作,这个工作看起来超级简单,什么呢,页面里面有一些文本框,用户把这些内容输进去,你把它存到数据库里,存一条记录。就这么一个火,你觉得,哎呀,这活太简单了,好,没有问题。要多长时间呢,一天搞定。你拿到设计的时候才发现它有一百个文本框,咱们现在开始想象啊,一百个文本框你用鼠标拖,每个框要命名,然后呢,生日得是日期的设置,电子邮件也得不能瞎输,你把这些弄好,可能得大半天的时间吧,然后你还得把这些在后台把这些接收起来,没想到你这件事情干了三四天。始料未及,你还感觉很郁闷,因为都是重复性的工作,但是现在事实就是这样,往往现在项目的规模都会比较大。我们通过思考,总结出这样的一个结论叫用鼠标拖拽总是方便的,但不是最高效的。那么,有了这样的发现,我们就要进一步的去思考,如何才能在可视化编程现有的基础上,进一步的在大型项目上提高效率。目前,咱们国内也有很多公司注重工程管理,注重文档的管理,注重标准化的管理。但实际上在国外的一些公司里面,很早以前就开始注重这些方面。而且现在很成熟了,他能够从中得到很大的收获。这也有两三个体系了,比如说日系是一个风格,欧美的又是另一种风格。现在也有很多的理论学家,当然现在大都变成了实践家,国内的很多公司会采取这样的方式。

    工程管理里面的标准化同样适用于软件设计里面的标准化。就目前而言,不论国内还是国外,他的软件市场的标准化都还处于一个初始化,还不是很健全,没有太多的应用。之所以我会说标准化这件事是因为在最近这几年的工作中不断地去思考发现可视化编程跟标准化相结合之后将产生一些全新的编程方式。后来我把这些事情成为后可视化编程时代。也许能够给各位在今后的开发方式上带来一些启示。还是举回刚才100个文本框的例子,它为什么会耗费这么大的工作量,就是因为出现了不是三五个文本框,而是很多,但是你回过头来想一想,好多都是重复性的工作。然后我们可以很浅显地理解一点,当一些有规律的内容,就不要人去写,完全可以由计算机去帮助写。可是实际上我们在编写程序的时候发现有规律性的会很少。

    当今现代有很多叫做代码生成的工具,这些工具就是把这些规律性的东西由机器来完成。这些规律性的东西还不够,当我们把规律性的东西总结归纳,让更多的程序变成有规律的,这个时候我们发现了困难,很难继续下去,原因就是比如说我一百行程序里面有十行是定义变量的,那么请问定义变量有规律可言么?以java为例,语法是固定的,但是你说我定义的名字可以固定么?我给它加入一个标准,其实这个标准大家都有印象,比如说一个字母,一个字符的,当然啦这是标准,我就定义为所有的字母第二个必须为数字。当然你要定义一些更通用的标准,这样才好。你的变量你的标准就可以用。这还远远不够,咱们再把领域缩小一点,比如数据库开发领域里面,它可能会涉及到数据库的操作。你说数据库都有哪些操作成为标准操作的,没有这个概念。我就整理设计这样的概念。我不需要灵活,我需要的是标准。这个词在三五年前有争议,现在没有什么可争议的了。另外还有一个争议,标准与性能还存在着一个争议。然后我把所有的内容都把他标准化,这个时候回过头来发现,我标准化的内容变得很多。我就把这些东西定义成为机器可完成的,不需要我来完成。直到我们有一天,我能够把除了真正的业务逻辑那几行代码,需要人来完成,其他的代码通通都是计算机帮我完成的。这就到位了。这样的境界认为是后编程时代,或者你可以把它认为是其他的,都可以。这样的好处有很多,首先它提高效率。另外还有一点很有意思的,软件的稳定性会变强。甚至,绝大多数代码是不用测试的,不能叫绝大部分,应该是机器生成的这部分是不用测试的。那么我们感受到了标准化的好处。

    那么我们再说一个各位都很关注的一个话题,就是在一个软件的不同工程阶段,这种后可视化编程的思想如何体现。同样的在这个过程中,我想大家会接触到工程管理的内容。我给大家首先举一个非常真实的例子。在好几年以前,我第一次接触一个大的客户,是一个局级干部,领导通知我明天去人家那,问要做什么东西,也就是说要做一次调研。人都是有这样的心理,这种不对称性造成很紧张。这个头一次见面要给你的甲方留下专业,可信赖这两点是相当重要的。专业表现你的技术很好,他的工作你一定完成的了。可信赖是非专业的因素,它包括你的人格。这些人的阅历往往会比较高,跟你接触几个来回之后,就能差不多了解你的性格特点。这种思考境界,处事原则,价值观,他都能感受到了。在这种初次见面的时候你要给他一种可信赖的感觉,那是非常非常好的。同样,这里面也有不足的地方就是很多人会自以为是,成见会很深刻。第一印象如果不好的话,以后你这件事情将很难完成。如何培养这种可信赖需要自己去思考的,这是一个做人做事的问题。

    那么专业性如何体现呢?就要不断地总结与思考,最终形成一个标准,就是说我调研都要问哪些东西,实际上你就会非常非常地棒,很专业。那么在分析与设计的阶段,也就是说你的调研基本完成,你有个大致的概念,这个时候你就会用软件设计人员的思想去考虑这个软件应该如何去实现。这个时候呢,你可能大致地去思考这个项目会分成几个模块。比如说你调研的结果是要做一个OA(办公软件),回来之后经过你的分析你发现,有一些隐性功能,比如说用户系统,权限系统,资产管理,考勤管理,工资管理,邮件管理这么几个部分,然后你要定义每个部分的边界,就是每个部分都包含哪些功能,到此为止,不要再延伸了。这个时候你就应该有比较清晰的内容了。如果是在初级阶段你会发现你有很多东西需要提升,这个时候你会接触到具体的办事人员,你就可以随便问了。然后这个阶段过了以后,你就一个模块一个模块具体详细地去分析,比如说在用户这一块,将会涉及到用户信息,权限信息,角色信息。这个时候就会完成两个文档,一个是数据结构型文档,一个是详细设计,就是说每个模块都应该包含什么样的页面,每个页面都有什么样的功能,大致有什么样的元素。做完之后,那就可以开发了。刚才我一不小心说了两个关键词,一个是数据库的结构文档,一个是详细设计。数据库的结构文档设计出来之后,详细设计出来之后,后面这个就不用开发了。程序就可以直接出来了。刚才一直在说程序设计上面的标准化,文档如果要标准化,那个好处,天呐,很惊喜啊,你发现程序直接生成。一会儿咱们做个实验,我特地带了一个小设备,它能够帮助我做这个实验。我们常规的思路是当设计文档出来后,会有人就开始写程序,但凡有机会,我一定会向大家多多介绍设计上面的概念。时间有限,我只提一句,设计出来以后不止是设计人员可以开始开发了,同时测试人员也可以开始准备测试了。那么开发人员根据数据库结构文档,今天后面的讨论数据库结构文档我将用数据库字典来表示。数据库字典和详细设计,程序人员会根据这两块写程序,同样测试人员也根据这两块写测试语句。标准的工程管理是这样的,测试人员和开发人员都遵从同一个标准,这个标准就是详细设计文档。当然说起测试又是一门很高深的学问,会牵扯到很多很多的东西,但目前国内的软件公司的确很少有。如果各位希望在软件这个领域里面走的远,前几年的时候可以多走几家公司,尤其是合资公司。如果用三五年的时间去多走访几个公司,对他的技术对他的工程管理都有所了解,慢慢就会形成了你对这个领域,你对这个专业完整的思考。 

    那么光有标准,你不能完成别人逻辑上的东西,但是我们可以利用另一个东西去补偿他,这个东西就是设计文档,我们可以在设计文档里面把这些逻辑写上。设计文档可以帮助我们清晰地了解用户需求。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值