浅谈构建执法概论

1.1  软件 = 程序 + 软件工程

   程序 = 数据结构 + 算法 

  程序是由用户给出的需求来搭建的,每个程序都是由用户提出的各种要求来不断完善整个程序,程序的不断完善,有更多的用户使用,满足用户的各种使用需求,拓展成为一个满足各种功能的应用软件,然后再进行后期的数据维护。

  一个复杂的软件需要有合理的软件架构、软件设计与实现,需要UI、前端、后台、运维这些岗位都是必要的。

  在操作程序上,有中文、英文,32位与64位版本都是根据源代码管理——也叫做配置管理,然后通过一系列工具、流程和文档来保证程序的正确性。通过软件测试来确保开发出来的软件的质量。  

  项目团队人员变动,新成员对程序的理解,软件在运行的过程中会出现各种问题,需要时不时的给软甲打补丁,或者进行软件维护,确保软件的正常运行与不断的满足客户的需求。

  好的软件需要有更好的用户体验,用户体验与数据结构、算法没有直接的关系,但是这是一个软件赖以生存的根本,我们还要满足软件的国际化需求,满足不同语言、不同地区的用户需求。

  软件 = 程序 + 软件工程

  软件企业 = 软件 + 商业模式

1.2 软件工程是什么

  软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

  软件工程包括以下领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

  软件工程和下列的学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户体验设计。

1.2.1 软件的特殊性

  复杂性:一个软件是需要大量的源代码,上万个不同的文件构成的。

  不可见性:软件工程师可以看见源代码,但是软代码不是软件本身,代码的运行我们看不到,出现的bug我们只能捕捉哪一些痕迹。

  易变性:软件的修改比硬件方便。

  服从性:软件不能独立存在,需要在硬件上运行。

  非连续性:有时输入上变化很大,有时输入上变化很小。

1.2.2 软件工程与计算机科学的关系

  创造性地运用科学原理,设计和实现建筑、机器、装置或生产过程;或者是在实践中使用一个或多个上述实体;或者是实现这些实体的过程。

1.2.3 软件工程的知识领域

  生命周期:软件需求、软件设计、软件构建、软件测试、软件维护。

  专门领域:软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量。

  理论基础:计算基础、数学基础、工程基础。

1.2.4 软件工程的目标 —— 创造“足够好”的软件

  用户满意度:用户使用的感受,使用时不出现bug,可以为用户更高效的完成需求。

  可靠性:软件经常性崩溃,操作时死机,在需要的时候无法使用。

  软件流程的质量:软件团队和开发流程的问题太多,导致无法相互写作,按时交付软件。

  可维护性:软件后期维护太难,维护人员需要更多的时间来维护。

思考:

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

猜你喜欢

转载自www.cnblogs.com/zhangqisong/p/11502697.html