1.软件的定义:
是一系列按照特定顺序组织的计算机数据和指令的集合。
2.软件开发模式:
2.1 瀑布模型
定义:
将软件生命周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品的项目。
优点:
- 为项目提供了按阶段划分的检查点
- 但前一阶段完成后,只需要去关注后续阶段
缺点:
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
- 瀑布模型的突出缺点是不适应用户需求的变化。
2.2 快速原型模型
2.3 螺旋模型
2.4 迭代模型
2.5 增量模型
2.6 敏捷开发模式
3.软件质量(6个大特性)
- 功能性:
适应性,准确性,互操作性,安全性,功能合规性 - 可靠性
成熟性,容错性,易恢复性,可靠合规性 - 可使用性
易理解性,易学习性,易操作性,用户黏性,易用合规性 - 效率
时间特性,资源利用率,效率合规性 - 可维护性
易分析性,稳定性,易变更性,易测试性,可维护合规性 -
可移植性
适应性,易安装性,共存性,易替换性,可移植合规性
4.影响软件质量的因素
- 需求模糊
- 软件开发缺乏规范性文件指导
- 软件开发人员问题
- 缺乏软件质量控制管理
5.软件的分类
5.1 根据应用场景分类
工具类软件、游戏型软件、媒体型软件、电商型软件
5.2 根据软件架构分类
单机版软件、分布式软件
分布式软件:
- C/S架构软件
客户端安装专门软件,如QQ、微信等
- B/S架构软件
客户端为浏览器,如百度、hao123等
软件开发背景
1、公司的组织架构
CEO 技术总监 测试部 测试经理 测试人员
2、软件开发流程
- 项目启动
产品总监(调研)--------》需求调研(文档)
产品经理------》梳理业务
- 需求阶段
产品经理---》产品原型,需求文档,需求评审,产品里程碑
- 设计阶段
ui设计师-----》产品效果图,UI设计规范,标注图,切图
测试工程师-----》测试用例(Test case)
项目经理------》分配任务,写开发计划
- 开发阶段
开发工程师-----》写代码,技术文档
测试工程师-------》测试用例(Test case) 用例评审
- 测试阶段
测试工程师------》冒烟测试,执行用例,提交bug
开发工程师------》修改bug
测试工程师------》回归测试
- 上线
3、程序员日常
工作饱和度(百分比): 真实工作时间/上班时间 * 100%