首先我了解了与第一章内容:概论
1.1软件=程序+软件工程
第一章主要讲述了
软件团队的成员每天都在修改各种源代码,怎么保证软件在修改过程中质量不断提高,至少要维持以前的质量?有些时候,我们要为某个需求写些特殊功能, 不久后又要把这些功能再合并回主要版本。有些程序要配置不同的界面,运行在中文、英文或其他语言的操作系统上:有些程序还有32位版本、64位版本等。这是源代码管理( Source Code Contol )的问题一也叫配置管理(Sofware Confuration Management)。我们还有一系列的工具、 流程和文档来保证程序的正确性,这些工具(也是软件)、流程应该达到很高的质量,才能保证开发出来的软件的质量。这就是质呈保障(Quality Asurance)具体的验证过程叫做软件测试(Test)。一个软件或者服务要有人买,就得找到顾客。顾客有各种需求,有些靠谱,有些不靠谱:有些容易做到,有些难以做到。软件团队要从需求分析( Requirement Analysis)开始,把合适的需求梳理出来,然后逐步展开后续工作,如设计(软件架构)、实现(写数据结构和算法)、测试,到最后发布软件。
软件团队的人员也会流动,新的成员要尽快读懂已有的程序,了解程序的设计,这叫程序理解( Program Comprehension)。软件在运行过程中还会出这样那样的问题,也许我们要时不时给软件打一个补丁,或者维护众多的服务,团队的新老成员要起修复各 种各样的问题,这叫软件维护( Software Maintenance),或者服务运营( Service Operation)。这系列过程就是软件的生命周期(Sofware Life Cycle, SLC).在这周期中,有人得负责软件项目的管理( Project Management)。
软件还有其他特性:
·有许多不同的程序设计语言、软件工具和软件开发平台
·存在许多不同的软件开发流程
·软件团队中存在许多不同的角色