软件构造复习3--Software Life cycle and Configuration Management 软件生命周期与配置管理ch2

    技术2022-07-11  92

    Life cycle of software

    若干个工作的时间序列

    软件构造过程的一些模型

    如何选择合适的过程模型? 用户的参与力度 开发效率 软件质量

    Linear

    线性过程

    Iterative

    迭代过程 两周基本模型

    Waterfall

    Requirements->Design->Implementation->Verification->Maintenance 因为不能适应变换,所以只有理论价值

    Incremental

    按功能进行设计

    V-model

    加入了测试,代码可靠性更高 正确的做事 为什么老师这么喜欢设问句?

    螺旋模型

    多轮迭代基本遵循瀑布模型 比较复杂 这是问题,这也是问题????

    agile development

    站着开会 不加班 开发员是人 朝九晚五 人性 用户要和开发员一起工作

    极限编程???

    Software Configuration Management (SCM)

    软件配置管理: 追踪和控制软件的变化 包括版本控制和基线确定

    基本单元SCI

    Software Configuration Item

    code data documents hardware …

    版本控制 Versioning

    备份历史版本 比较两个版本的差异 多个开发者共享和协作 记录每个开发者的动作,便于“审计”

    Version Control System(VCS)

    Local VCS Centralized VCS Distributed VCS

    Git as an example of SCM tool

    学习工具的最好方式是使用 git参考教程

    Process, Systems, and Tools of Software Construction

    广义上的软件构造过程

    1.Programming

    1.1编程语言

    IDE 集成开发环境

    源代码编辑器 智能代码补全 代码重构工具 文件管理 库管理 软件逻辑实体可视化 图形化用户界面构造器 编译器,解释器 自动化Build工具 版本控制系统 第三方工具

    1.2建模语言

    主流建模语言UML (Unified Modeling Language)

    1.3配置语言 Configuration Language

    配置文件配置程序的参数和初始设置

    2.Review and static code analysis

    pair works 利用一些工具进行静态评审

    Dynamic code analysis

    执行程序观察现象分析不足 代码覆盖度

    Debugging and Testing

    定位错误,发现错误根源

    Refactoring

    重构:在不改变功能的前提下优化代码

    狭义的软件构造过程–>Build

    1.compilation 编译 c c++

    2.packing and testing

    3.web-based applications

    Processed: 0.011, SQL: 9