• 构建之法笔记1


    一开始,书中就给出了一个观念,软件=程序+软件工程,程序=数据结构+算法。程序我倒是有点体会,从入学到现在,就是不停地在程序中度过,先是初步的学习算法,然后数据结构,但是这些东西让我觉得没什么用处,都是别人实现的东西,自己无法创造什么。软件应该是程序的放大版,程序是一行行的代码,而一个复杂的软件不但要有合理的架构、软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等,这些都是构建的过程。软件工程的核心部分有:构建管理、源代码管理、软件设计、软件测试、项目管理。所以就有了:软件=程序+软件工程,一个扩展的推论是:软件企业=软件+商业模式。

    程序(算法、数据结构)是基本功,在算法和数据结构之上,软件工程决定了软件的质量。

    “写程序”相当于是在构建软件。如同所有事物的发展,软件开发也有不同的阶段,从懵懵懂懂到逐步完善,从一开始的一个幻想到功能的实现。书中讲了一个例子很有意思,一个功能使用率是百万分之一,那么还需要做这个功能吗?这是飞机的安全功能,意外发生的概率很小,但我们还是需要做好对应措施,谁也不想自己的生命有危险。同样,在软件中,发生异常也需要相应的安全保护措施,保障我们的数据不被破坏。可见,做程序需要细心严谨、考虑周全。

    软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。软件是可以运行在计算机及电子设备中的指令和数据的有序集合。软件开发过程有几个难题:复杂性、不可见性、易变性、服从性、非连续性。软件工程的研究目标应该是人,这些人可以是项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。

    软件工程的目标:创造“足够好”的软件。希望在学习完这本书后,能够足够好。

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/youknownothing/p/8282622.html
Copyright © 2020-2023  润新知