2.2软件构造的过程、系统和工具
软件构造遵循什么子过程?
广义:软件构造的过程
Design ->Programming/refactoring ->Debugging->Testing ->Build->Release
– Programming / refactoring 编程/重构
– Review and static code analysis 回顾和静态代码分析
– Debugging (dumping and logging) and Testing 解决bug和测试
– Dynamic code analysis /profiling 动态代码分析
狭义:软件构造的过程§
Narrow-sense process of software construction (Build):
Validate ->Compile->Link->Test ->Package ->Install ->Deploy
– Build system: components and process
– Build variants and build language
– Build tools: Make, Ant, Maven, Gradle, Eclipse
1.广义软件构造的过程
(1)Programming 编程
构造语言:
1)从用途上划分:
编程语言(JAVA,Python)
建模语言(UML)
配置语言(XML)
构建语言(XML)
2)从形态上划分:
基于语言学的构造语言
基于数学的形式化构造语言
基于图形的可视化构造语言
IDE:集成开发环境
包含:源代码编辑器、智能代码补全工具、代码重构工具;
文件管理,库管理;软件逻辑实体可视化;图形化用户界面构造器;编译器、解释器;
编译器、解释器;版本控制系统;外部的第三方工具
(2) Review and static code analysis代码评审
结对编程;走查;正式评审会议;自动化评审
(3) Dynamic code analysis / profiling
动态分析:要执行程序并观察现象、收集数据、分析不足
(4) Debugging and Testing
发现程序是否有错,定位错误发现根源。
(5) Refactoring
重构:在不改变功能的前提下优化代码
2 Narrow-sense process of software construction (Build)
粗略理解 build : build-time ->run-time借助于工具,将软件构造各阶段的活动“自动化”
( 编译、打包、静态分析、测试、生成文档、部署、 …)
尽可能脱离“手工作业”,提高构造效率