- 软件开发流程综述
- 关于开发流程
- 保障软件质量
- 保障软件按期交付
- 作业手顺,作业方法统一标准
- 成本可预见,人员好分配
- 常见软件开发模型
- 瀑布模型
- 它将软件生存周期的各项活动规定为依固定顺序连接的若干阶段工作,这些工作之间的衔接关系是从上到下、不可逆转,如同瀑布一样,因此称为瀑布模型。
- 快速原型
- 先创建一个快速原型,通过对原型的评价,进一步细化待开发软件的需求,由此通过逐步调整原型而进一步满足客户的要求。
- 敏捷开发
- 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
- 测试驱动开发
- 编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
- 螺旋模型,喷泉模型。。。
- 瀑布模型
- V字模型开发软件生命
- 用户需求
- 需求分析
- 明确用户需求,功能需求,性能需求等,并将分析结果做成需求规格说明书并得到客户同意。
- 概要设计
- 也有人称之为系统设计,架构设计。主要是对软件整体架构的设计,明确功能模块划分,各模块之间的I/F。 整体系统状态迁移,数据传递关系等等。针对嵌入式来说系统资源(内存、Flash等)分配, Task构成等也需要考虑在内。
- 详细设计
- 对概要设计各模块进行详细设计,详细设计要求达到伪代码程度,编码人员可以按照详细设计直接编码。
- 编码
- 根据详细设计进行编码,在这一阶段需要对自己的代码进行一系列的检查,包括编码规范(咱们的代码是以MisraC为基础构建的),内存泄漏等。
- 单体测试
- 原则上可以根据详细设计进行编写测试用例,不需要看代码。
- 集成测试
- 主要测试各模块之间的接口,模块实现的功能,系统内部的状态迁移,数据流等是否正确。
- 系统测试
- 也成为需求测试,根据需求分析结果进行编写系统测试用例,系统测试用例是在需求分析阶段进行编写的。
- 验收测试
- 当前项目开发流程
-
- 统合测试应该属于结合测试,它既包含包含白盒的接口测试观点,又包含黑盒功能测试。
- 检证其实也是一种测试,但是它的范围更广,强调的是对整个开发流程的检查,但是有包含功能正确性的检查,性能指标的检查等等。
-
- 一般的工作流
- 综述
- 业务依赖
- 作业开展
- Review
- 纳品
- 关于开发流程
1、洛阳亲友如相问,就说我在敲代码。
2、"如果你ctrl+alt+del,蹦出任务管理器,你从上到下扫一眼,所有的进程你都认识,知道他们是干什么的,并且知道关掉有什么后果,而且你还能从CPU和内存占用的数字跳动上清楚的知道电脑现在什么状态,那么你应该没有女朋友"...........你妹啊
3、用IE6的吃方便面都没有调料包,你知道不知道......
4、普通青年用IDE(VisualStudio/Eclipse/XCode);文艺青年用VIM、Emacs;二逼青年将IDE设置成VIM模式。
5、程序员换IDE相当于搬家,换主力语言相当于改嫁,换操作系统相当于参加FBI证人保护计划…
6、有两个程序员钓鱼,其中一个钓到一条美人鱼,这个美人鱼上半身是美女,下半身是鱼,于是这个程序员就吧她放了,另一个问他:Why,他回答说:没有API61、阿里小米皆自主,百度排名最公平;京东全网最低价,当当爱国很理性;用户体验看新浪,网易从来少愤青;人人分享高水平;从不抄袭数腾讯,开放安全三六零。