首页 > 代码库 > 《构建之法》-1

《构建之法》-1

  就像上半学期学到的那样:程序=数据结构+算法,通过阅读《构建之法》的第一章后,更加清晰的认识到:软件=程序+软件工程。这句话让我对软件有了一个初步的理解,软件的商业模式和职业道德规范与软件开发活动(构件管理、源代码管理、软件设计、软件测试、项目管理)相关的内容,是软件工程的核心部分。程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大的影响软件用户的利益。

  第二章讲的是个人技术与流程。这里提到了不同的测试,有单元测试、回归测试和功能测试,其中单元测试是回归测试的基础。回归测试,在我理解就是在在出现新版本之后,回到以前的版本进行测试。个人开发流程也值得了解,包括计划(估计这个任务需要多长时间)、开发(包括分析需求、生成设计文档、设计复审、代码规范、具体设计、具体编码、代码复审、测试)、记录用时、测试报告、计算工作量、事后总结、提出过程改进计划。由此看来作为一个软件工程师,不总是一直敲代码,而是对软件的分析、测试更多一点。

  第三章讲的是软件工程师的成长。这一章提供了很多有用的资料。首先是对于即将或者还有一段路临近毕业的我们——初级软件工程师的必然成长之路:积累软件开发相关知识,提升技术技能;积累游戏、医疗或金融行业等问题领域的知识和经验;对通用的软件设计思想和软件工程思想的理解;提升职业技能;实际成果。在团队中,个人要做到交流、说到做到、高质量完成接收到的各种任务、积极参与、按照团队的流程要求工作、讨论之前做好准备工作、理性工作等要求。这也是给职业菜鸟们的要求。作为一个女生,学习软件,考级是一项非常有好处的职业发展中的道路,我认为它是一定的、必然的。也了解到,中国于国外这方面的区别之一就在于创新,这也是需要记住的。

  软件开发的不同阶段作者用航空产业作比较。我觉得安全性能很重要,程序在运行的时候可能会发生异常,我们应该做到让程序按照我们的套路运行,并安然退出,使数据不被破坏。

  软件工程是什么呢?软件工程把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件大致分为两种:系统软件和应用软件。原来操作系统也是软件啊!软件开发过程中的复杂性、不可见性、易变性、服从性、非连续性。软件的这些本质特性让“做好一个软件”变得很难,同时也让软件工程有它独特的挑战和魅力。

  软件工程的目标是创造“足够好”的软件。有实际用处而又完美的软件,世界上是不存在的。我们生活中常见的一种现象,软件的不断更新。其实软件更新更多的是添加了一些功能,使我们用户的需求不断被满足。

《构建之法》-1