8th 对软件工程的理解(读构建之法有感)
对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系。然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的呢?这中间我们所经历的一系列过程的总和,我们称之为软件工程。
从本科开始学习计算机,我们就不可避免的接触了形形色色的软件,了解大量的软件开发工具,我那个时候甚至没有软件工程这个概念,只认为,我们所用的软件就是开发工具编译、执行、包装、发布的产物。后来,开设了软件工程这门课程,才开始系统地接受软件工程方面的教育,然而,教科书太过死板,给我们的印象中大多留下的是一个个生涩的概念和工程的流程图。直到接触了构建之法,我才真正理解了什么是软件工程,软件经过了怎样的流程来到用户的手中并为其服务的。
构建之法这本书写得生动且贴进实际,对相关的定义有其独特的阐释,让我们更为了解软件工程,就比方说,书中对软件这一名词的定义:软件 = 程序 + 软件工程,这很直观地表示了软件的两个方面:一个是软件的载体,是程序;另一个是软件形成手段工具,软件工程。倘若你到传统的教科书中去寻找,或是临时为了考试而抱佛脚而百度,可能得到的答案是这样,软件:与硬件相对,是一系列按照特定顺序组织的计算机数据和指令的集合(见百度百科)。这个定义好高大上,从硬件本质的基础上来解释什么叫软件,然而会令刚入门的一头雾水。笔者对软件开发的不同阶段的介绍也很风趣,使用飞机行业的发展来类比软件产业的前进,既简明贴切,又让人茅塞顿开。笔者在书中也多次提及曾经的工作经历用以佐证:比如笔者用他二十多年的从业经历中所见过的软件项目的特点和目的来证明计算机科学与软件工程是密切相关的两个部分。
作者对于软件工程的定义是:把系统的、有序的、可量化的方法应用到软件的开发、运营、和维护上的过程。介绍了软件工程所包含的领域:软件需求分析、软件设计、软件构建、软件测试、软件维护,并从工程的角度去理解软件工程,即设计和建造的过程中涉及大量的计算、计划、各类角色的协作,以及成千上百的人、动物、机械经年累月的劳作。也用实例来描述软件工程的目标:用户满意度高、可靠性强、软件流程质量高、可维护性强。先是从个人角度来讲,通过个人的锻炼成为合格的软件工程师,其中介绍了程序的单元测试、效能分析和个人软件开发的整个流程。之后从个人升级为结对编程,开始学会协作开发。最终在合作的过程中学会如何进行团队合作,开始参与一个团队来开发软件,进入真正的软件工程。书末介绍了很多有利于更好地推动软件工程的策略方法:比如敏捷流程、Scrum会议。
通过这本书,我对软件工程的理解由书本定义进入到实际应用,也因而对此有了更进一步的了解。
8th 对软件工程的理解(读构建之法有感)的更多相关文章
- 学习JAVAWEB第三十七天(读构建之法有感)
读<构建之法>有感 我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活.读了 ...
- 2nd 阅读构建之法有感
阅读构建之法有感 利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域.它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件 ...
- 201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu- ...
- 201771010128王玉兰实验一软件工程准备——<阅读《构建之法——现代软件工程》初步了解软件工程>
|||||||||||||| |:--|:--| |项目|内容| |软件工程|https://www.cnblogs.com/nwnu-daizh/| |作业要求在博客里|https://www.cn ...
- week1读构建之法-读书笔记
最开始听见杨老师说邹欣老师这个名字总觉得很熟悉,后来看见博客上老师的头像恍然大悟,原来机缘巧合已经在微博上关注邹老师许久,一直觉得邹老师是个很有意思的人,兴趣一定十分广泛,看了老师的书确实能感觉到邹老 ...
- 201771010111-李瑞红 实验一 软件工程准备-<构建之法-现代软件工程-基础认识和理解>
|||||||| | :--
- 201771030106-葛佳诚 实验一 软件工程准备-<初读《构建之法——现代软件工程》有问>
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 作业要求链接 https://www.cnblogs.com/nwnu-da ...
- 读着读着《构建之法》(Build To Win) 越精神的白雪儿的思考
哲学家的宗旨是:我思,故我在 科学家的宗旨是:我发现,故我在 工程师的宗旨是:我构建,故我在 ——<工程学--无尽的前沿> 序言:珍惜角色“人”,注重实践“物” <构建之法>, ...
- 201771010135-杨蓉庆 实验一 软件工程准备—用Markdown写构建之法
项目 内容 软件工程 https://www.cnblogs.com/nwnu-daizh 博客园 https://www.cnblogs.com/nwnu-daizh/p/12369881.h ...
随机推荐
- 【HNOI2015】开店
题面 题解 树链剖分 + 主席树 先考虑一个简单一点的问题: [LNOI2014]LCA 我们考察\(dep[\mathrm{LCA}(i, x)]\)的性质,发现它是\(i\)和\(x\)的链交的长 ...
- 洛咕 P4304 [TJOI2013]攻击装置
把坐标按照(x+y)%2染色可以发现这是个二分图 二分图最大独立集=点数-最大匹配 于是就是个算匹配的傻逼题了 // luogu-judger-enable-o2 #include<bits/s ...
- P3164 [CQOI2014]和谐矩阵
P3164 [CQOI2014]和谐矩阵 乱写能AC,暴力踩标程(雾 第一眼 诶这题能暴力枚举2333!!! 第二眼 诶这题能高斯消元!那只需要把每个位置的数给设出来就能够列方程了!然后就可以\(O( ...
- Java动态代理:一个面包店的动态代理帝国
文章首发于[博客园-陈树义],点击跳转到原文大白话说Java动态代理:一个面包店的动态代理帝国 代理模式是设计模式中非常重要的一种类型,而设计模式又是编程中非常重要的知识点,特别是在业务系统的重构中, ...
- nginx配置转发详解
nginx各项参数的详细配置 本文主要讲解nginx.conf中server部分配置及多路转发问题: server { listen 9090; server_name 127.0.0.1; #cha ...
- 「专题训练」Collecting Bugs(POJ-2096)
题意与分析 题意大致是这样的:给定一个\(n\times s\)的矩阵,每次可以随机的在这个矩阵内给一个格子染色(染过色的仍然可能被选中),问每一行和每一列都有格子被染色的次数的期望. 这题如果从概率 ...
- MergeSort 归并排序(java)
MergeSort 归并排序 排序思想:1,分解待排序的n个元素为两个子列,各为n/2个元素 2,若子列没有排好序,重复1步骤,每个子列继续分解为两个子列,直至被分解的子列个数为1 3,子列元素个数为 ...
- Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】
Spring Cloud(二):服务注册与发现 Eureka[Finchley 版] 发表于 2018-04-15 | 更新于 2018-05-07 | 上一篇主要介绍了相关理论,这一篇开始我们 ...
- SICP读书笔记 2.2
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...
- RHEL7 利用双网卡绑定实现VLAN
使用nmcli创建bond配置 #nmcli connection add type bond ifname bond0 con-name bond0 mode active-backup #nmcl ...