观《构建之法:现代软件工程》之心得

       最开始看到软件工程这个词时,既然用到了工程二字一定有它的意义,人们把下面的活动称之为工程:创造性地运用科学原理,设计和实现建筑、机器、装置或生产过程;或者是在实践过程使用一个或多个实体;或者是实现这些实体的过程。所以在做出一款成熟软件过程中,就需要不断地修改以及完善。那么如何省时省力省资源的完成任务,就是软件工程的重点问题了。
       软件工程牵涉的范围很广,包括软件需求分析、软件设计、软件架构、软件测试和软件维护,软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”。软件工程这门课同时也是一般院校的同学反映比较空洞乏味的课程,但是软件工程的技术对于投身IT产业的学生来说是非常重要的。
       此书作者有着大量的一线软件开发经验和多所高校的软件工程教学实践,总结出了让学生们通过“做中学”掌握实用的软件工程技术。另外,此书避开了教材只是干巴巴地讲述理论和原则这个严重的问题,而是创造了一个虚拟的环境,结合了“人”这个重要的因素,通过人物间的活动和对话,把软件工程的内容展现的丰富而生动。

       通过这本书,我对软件工程有了一点自己的理解。软件工程借鉴的是传统工程原则、方法,目的是提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的。所谓程序,在这里指的是源程序,就是一行行的代码。程序还要对数据进行操作,这些数据有的是静态的,有些是动态的。但是光有代码和静态数据往往是不够的,工程师要把它们构建为机器能懂的可执行代码,一个复杂的软件不但要有合理的软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug),还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等。

       软件产业还是一个相对年轻的产业,过去几十年,软件技术经历了一系列重要的变化和发展,构成软件的软件实体的粒度不断增大,软件基本模型越来越符合人类的思维模式;软件运行平台的能力不断增强,越来越多地屏蔽掉计算机底层的复杂性;软件支撑平台的能力不断增强,越来越多地屏蔽了软件开发过程的复杂性;软件技术的应用范围不断扩大,越来越广地渗透到人类生活的各个方面。

       那么软件工程在开发过程中有什么特别困难的问题吗?当然是有的,历年的学者们总结出了下列五大问题:

       1.复杂性

       软件可以说是人类创造的最复杂的系统类型,一个大型软件有超百万行的源代码,上万个文件而且软件的各个模块之间有着各种显性或隐形的依赖关系,随着系统的成长和模块的增多,这些关系的数量往往以几何级数的速度增长。

       2.  不可见性

       软件工程师能直接看见源代码,但源代码不是软件本身,工程师可以看到程序在出错的一瞬间留下的痕迹,但几乎无法完整重现到底程序出了问题。

       3.易变性

       软件看上去容易修改,修改软件比修改硬件人们自然地期待软件能在下面两种情况下“改变”: a) 让软件做新的事情;b) 让软件适应新的硬件。但是与此同时,正确地修改软件是一件很困难的事情。

       4. 服从性
       软件不能独立存在,它总是要运行在硬件上面,它要服从系统中其他组成部分的要求,它还要服从用户的要求、行业系统的要求(例如银行利率的变化)。

       5. 非连续性
       人们比较容易理解连续的系统:增加输入,就能看到相应输出的增加。但是许多软件系统却没有这样的特性,有时输入上很小的变化,会引起输出上极大的变化。

        成为一名工程师当然不是一件容易的事,并不是一朝就能练成的,期间会有各种各样的问题困扰着我们,这就需要我们从现在就要努力,规划好大学时光。首先要正确给自己定位,确定自己的短期目标和长期目标。短期目标可以是自己在大学四年的学习,甚至细化至每个学期的学习。长期目标就是自己的理想,成为一名工程师,这是自己的终极目标,每个短期目标都是为它服务的。抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。打好专业基础。牢记学习编程的秘诀是编程编程再编程 ,实践实践再实践。

            


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值