构建之法----软件工程简介
这一周的主要授课知识点是软件工程相关概念,软件工程和计算机科学的关系,源代码管理。实践内容是简单的源代码管理操作。
首先我们应该认识到我们在学习时,软件工程可分为以下阶段:需求分析,设计阶段,实现阶段,稳定阶段,发布阶段,维护阶段。但是在现实工作时,实习生往往是先从维护阶段开始,学习并维护一些已有的软件,接着能够在项目中改一些bug,发布小规模的更新版本,之后有机会重写一些较小的模块,没有多少文档,自己要写很多代码,表现好的员工有机会设计比较大的模块,自己写一些文档,最后可以有机会计划新的项目,因此我们的学习也可以仿照这样的流程。首先维护,找bug,少部分增量开发,分析需求,设计开发,回归测试,发布并收集反馈。
其次我们的师生关系不是餐馆和食客,老板和雇员,保姆和幼儿,哥们和哥们,路人甲和路人乙,狱警和犯人,应该是健身教练和健身学员之间的关系,教练是很有经验的身体力行者,并有足够的理论知识,可以随时指出学员的进步和不足。我们应该主动学习理论知识并且积极实践,按照科学的学习方法来循序渐进,不断总结和完善,提高自己的实际能力。
一个复杂的软件不但要有合理的软件架构,软件设计与实现,还要有各种文件和数据来描述哥哥程序和文件之间的依赖关系、编译参数、链接参数等。构建管理、源代码管理、软件设计、软件测试、项目管理相关的内容是软件工程的核心部分。软件=程序+软件工程。软件开发的不同阶段可以类比:玩具阶段的纸飞机->业余爱好阶段的飞屋->探索阶段的莱特兄弟的飞机->成熟的产业阶段的商用飞机。软件开发有以下几点特别的难题:1.复杂性(大型软件有超过百万行的源代码,上万个不同的文件) 2.不可见性(软件工程师可以看到源代码,可是源代码却不是软件本身)3.易变性(软件看上去很容易修改,但是正确地修改软件却不是一件容易的事)4.服从性(它要服从系统中其他组成部分的要求,以及用户和行业系统的要求) 5.非连续性
软件工程的目标就是创造足够好的软件,bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护度。
转载于:https://www.cnblogs.com/1997Ff/p/6572205.html
构建之法----软件工程简介相关推荐
- 构建之法——软件工程概论、团队组织管理及开发流程
一.概论 这本书首先在第一章简明扼要的阐述了软件工程的概论:软件工程是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模 ...
- 现代软件工程的《构建之法》
要想了解世界,就必须亲自来打造它. -- 帕韦泽(Cesare Pavese) 国庆假日期间,我重读了邹欣老师的<构建之法>一书.我从事软件行业相关工作超过15年,每每在被问到给在校计算机 ...
- 构建之法现代软件工程(第五次)
构建之法现代软件工程(第五次) 这周我阅读了<构建之法>第六第七章 敏捷开发的原则: (1)尽早并持续地交付有价值的软件以满足顾客的需求: (2)敏捷流程欢迎需求的变化,并利用这种变化来提 ...
- 快速通读《现代软件工程——构建之法》
在快速通读<现代软件工程--构建之法>后,我有如下问题: Q1:第一章通过形象的例子告诉我们什么是软件工程,介绍了软件工程的各个阶段,对软件工程的概念及它的特性做了较为生动而详细的介绍,那 ...
- 读《现代软件工程--构建之法》所思
1.软件的开发过程中,如果软件的诸多特点组合,会不会造成不可控制的局面产生,比如:复杂性.不可见性.不可预见性.易变性.非连续性等特点结合,程序会不会变得像病毒程序一样,再次具有隐蔽性.传染性.触发性 ...
- 软件工程-构建之法 团队
软件工程-构建之法 团队 团队名称:yousa_team 团队宣言:认真做事 团队博客:http://www.cnblogs.com/yousa-team/ 团队队长:王天宁 队长博客链接:http: ...
- 浅读《构建之法:现代软件工程》有感
读完邹欣老师的<构建之法>绪论之后,感觉对软件工程有了大概的了解,软件工程可以说是把系统的.有序的.可量化的方法应用到软件的开发.营运和维护管理上的过程,是一个复杂.需要长期经营的过程:软 ...
- 《构建之法》学习总结1——软件工程概论,团队组织及管理,开发流程
写在前面: 这是我作为一个软件工程专业学生的第一篇个人技术博客,虽然我接下来的人生中还会有无数像这样的博客,但这是一个开始,接下来我将会从一个软件工程专业的大学生向一个合格的程序元转变.说实话现在,这 ...
- 小强怎样练成——读《现代软件工程——构建之法》第三章有感
小强怎样练成 ----读<现代软件工程--构建之法>第三章有感 一.知道自己吃几碗干饭 先秦时期的"革命家"告诉我们"知人者智,自知者明",&quo ...
最新文章
- 1123: 零起点学算法30——参加程序设计竞赛
- AJAX跨域请访问的问题
- J2ME手机文件加密
- 数据库系统(五)——数据库设计
- Poj1218_THE DRUNK JAILER(水题)
- 正则表达式 非捕获性分组
- 基于openfire源码开发插件
- autojs遍历当前页面所有控件_PyQT5控件:容器(Containers Widgets)
- VMware虚拟化云平台-最新版本vSphere 6.7
- iOS webview自适应实际内容高度的4种方法
- 2020-12-24 微信小程序 tabbar icon 控件 阿里矢量图库
- 【鸿蒙】鸿蒙App应用-《记账软件》开发步骤
- 动态域名解析服务(花生壳)
- Android滑动菜单特效实现,仿人人客户端侧滑效果,史上最简单的侧滑实现
- div中加入span右对齐后出现换行显示的两种解决办法(转)
- MIPI DSI CLK计算
- U8文件服务器备份,u8备份缓存文件在哪
- 三、C语言的数据类型—浮点型数据
- 使用字符流 必须刷新缓冲区 flush
- 订单里面有多个商品的问题怎么解决
热门文章
- [转]设定version 更新js缓存
- Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
- 一次性插入上万条数据的写法
- WPF 资源路径设置
- struts2 配置
- 荟萃分析6项研究表明炎症与骨赘形成有关联
- 用Oracle归档日志进行恢复方法
- python怎么分析各个时间段的数据_Python数据分析:Python对Word数据的读写
- c4d启动无反应_修车多年,第一次遇到反复烧启动机的怪事...
- log函数 oracle power_博主营地 | Unity3D 实用技巧 基础数学库函数学习