构建之法进度01

程序=数据结构+算法。

但是软件行业赖以生存的“软件”,程序员用来安身立命的“程序”到底是什么?

对需求从一个简单的程序,扩展到一个满足各种功能的应用程序,再扩展到一个能保证服务质量的软件服务

程序,源程序,就是一行行的代码。

一个复杂的软件不但要有合理的软件架构,软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系,编译参数,链接参数等等,这些都是软件构建的过程。

专业名词:源代码管理配置管理质量保证软件测试需求分析程序理解软件维护服务运营软件的生命周期软件项目的管理用户体验国际化和本地化

以上和软件开发活动相关的内容,是软件工程的核心部分,所以,一个推论是:软件=程序+软件工程。

一个拓展的推论是:软件企业=软件+商业模式

程序(算法,数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量;商业模式影响了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。

软件工程是什么?

软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试、和软件维护。

软件可以分为:系统软件、应用程序、恶意软件。

软件开发具有复杂性、不可见性、易变性、服从性、非连续性

在软件工程发展的短短几十年中,人们整理了许多原则和规律:

“没有银弹”:不会有任何单一软件工程上的突破。能够让陈虚谷开发的生产力得到一个数量级(10倍)的提升。

霍夫斯塔特定律:实际时间总是比预期要长,即便你考虑到了霍夫斯塔特定律。

人月公式:Person*Month=2.4*KLoC1.05

软件工程,就是和“Bug”打交道,Bug的多少可以直接衡量一个软件的开发效率,用户满意度可靠性可维护性

可是,是Bug还是功能?不同的人有不同的答案。我们需要做到的三点是:

1.研发出符合用户需求的软件。

2.通过一定的软件流程,在预计的时间内发布“足够好”的软件。

3.能证明所开发的软件是可以维护和继承发展的。

猜你喜欢

转载自www.cnblogs.com/kt-xb/p/10585417.html
今日推荐