构建之法阅读笔记02
构建之法阅读笔记01
以前自己总是觉得如果自己编程不好,还可以去市场嘛,去做需求分析好咯。今天读了构建之法才知道原来,做需求分析的都是经历过编程不死的老兵,也就是说编程才是最简单的,是每一个专业学生所必须的。以前自己总是觉得上课好好听课把老师所交给的都记住就好,也没太注重实践。等到编程的时候才感觉到吃力。正如构建之法中说的站在岸上是永远学不会游泳的。在接下来的学习中一定要自己多动手,做好每一个细节。
以前自己觉得软件不过是对程序的集合和图形美化哪还有什么工程,所谓工程应该是说那些国家大的项目比如某个地铁工程或是开个大的隧道,读了构建之法之后才知道原来软件没自己想的那么简单,它也可以是工程级别的大项目。知道了软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。知道了软件主要的几种形式:系统软件(操作系统、设备驱动程序、工具软件等)、应用软件(用户使用它们来完成工作,从管理核电厂到写文章,或者是通信、游戏、浏览网页、播放视频等)、恶意软件(软件病毒等软件);以前自己觉得有bug的软件就是不可能放到市场上使用的或者存在bug的软件都不是好的软件,读了构建之法才知道原来存在bug并不等于不合格,我知道了能做到一下三点就是初步学会了软件工程:
1. 研发出符合用户需求的软件说明:要通过实际的工作收集、推导、提炼需求,并在软件发布后通过实际数据验证需求的确被满足了。需求来自于实际,而不是自己想象出来的“需求”或者人云亦云的需求(例如:图书馆管理系统)。
2. 通过一定的软件流程,在预计的时间内发布“足够好”的软件说明:这个软件不是期末前两天由两三个同学熬通宵赶出来的急就章,而是经历了一定的软件流程,通过全体团队成员的努力,在一个学期内逐步完成的。
3. 并通过数据和其他方式展现所开发的软件是可以维护和继续发展的说明:例如,对用户需求有详细的分析,包括对将来这类软件发展的趋势的分析。主要功能都有设计文档,源代码完整,有修改记录,并有最后版本。关键模块有可以执行的单元测试、压力测试脚本,等等。对于已知的bug和将来的工作都有详细的记录。
所以在以后的学习实践中我一定努力做好这3点。通过养成一个好的习惯去摈弃那些不好的东西。