• 《构建之法》学习(1)——软件与软件工程


    《构建之法》学习(1)——软件与软件工程

    1.软件=程序+软件工程

     

      从一个小故事引入,点出了软件工程的核心部分:构建管理、源代码管理、软件设计、软件测试、项目管理。以及它的推论:

      软件=程序+软件工程

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

     

      在我们学习了数据结构和算法之后,就有了程序。在程序之上,软件工程决定了软件的质量;商业模式决定了一个软件企业的成败。软件从业人员和软件企业的道德操守会极大地影响软件用户的利益。

    2.软件工程是什么

      以航空产业与软件产业类比,软件开发分为玩具阶段、业余爱好阶段、探索阶段、成熟的产业阶段

    2.1软件

     

      软件是可以运行在计算机及电子设备中的指令和数据的有序集合。

      软件具有其特殊性:复杂性、不可见性、易变性、服从性、非连续性

      软件的特性:

      有许多不同的程序设计语言、软件工具和软件开发平台

      存在许多不同的软件开发流程

      软件团队中存在许多不同的角色

      软件通常既可以存储在磁带上,也可以存储在CD/DVD上

      软件可以说是人类创造的最复杂的系统类型,看上去很容易修改,修改软件比修改硬件容易多了,但是正确地修改软件是一件很困难的事情。

     

    2.2软件工程

            

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

      以开篇的故事为例,我们之前学习过c、c++、JAVA,实现某个基础算法可能很简单,但是软件工程不仅仅是编写代码,在“软件”的基础上有软件需求分析、软件构建、软件测试和软件维护

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

      软件工程与许多学科都相关,例如:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。

      计算机科学:                                                               软件工程:

      发现和研究长期的、客观的真理                                       短期的实际结果(具体的软件会过时)

      理想化的                                                                     对各种因素的折衷

      确定性,完美,通用性                                                   对不确定性和风险的管理,足够好,具体的应用

      各个学科独立深入研究,做出成果                                    关注和应用各个相关学科的知识,解决文体

      理论的统一                                                                  百花齐放的实践方法 

      强调原创性                                                                  最好的、成熟的实践方法 

      形式化,追求简明的公式                                                在实践中建立起来的灵感和直觉      

      正确性                                                                        可靠性

      

    4.软件工程的目标

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

      创造“足够好”的软件

      展现所开发的软件是可以维护和继续发展的

  • 相关阅读:
    Fiddler常用命令
    在Fiddler中添加自己所需的显示列
    清除微信小程序的缓存
    关于接口幂等性的一些总结
    外边距塌陷如何解决?
    CSS背景属性
    CSS链接伪类:超链接的状态
    CSS三大特性
    CSS块元素、行内元素、行内块元素的转换
    CSS行内块元素(内联元素)
  • 原文地址:https://www.cnblogs.com/Yan1970/p/6683631.html
Copyright © 2020-2023  润新知