1.软件开发模式
1.瀑布模型:把软件的各种工作划分成几个部分,依次完成
(将软件生命周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品的项目)
2.快速原型模型:制造一个大概的快速的模型,让用户进行评价,在根据用户的评价,进行改进,符合用户需求
3.螺旋模型:瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统,会进行若干次迭代, 制定计划,风险分析,实施工程,客户评估,将有助于软件质量作为目标融入到产品开发中
4.迭代模型:是一种短小的,固定长度的小项目,每一次迭代都包括了需求分析、设计、实现与测试,再通过客户的反馈来细化需求,并 开始新一轮的迭代
5.增量模型:迭代如果是让一个物件变得更加精美,那增量就是在物件上添加一个物件
6.敏捷开发模式:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,将一个项目分为几个子项目,各个子项目进行测试,可以运 行,子项目之间互有联系,也可以各自运行
2.软件质量概述
1.概念:软件质量是指软件产品满足基本需求及隐式需求的程度。软件产品满足基本需求是指其能满足软件开发 时所规定需求的特性,这是软件产品最基本的质量要求;其次是软件产品满足隐式需求的程度。
2.软件质量模型:
影响软件质量的因素
需求模糊 在软件开发之前,确定软件需求是一项非常重要的工作,它是后面软件设计与软件开发的基础,也是最后软 件验收的标准。但是软件需求是不可视的,往往也说不清楚,导致产品设计、开发人员与客户存在一定的理 解误差,开发人员对软件的真正需求不明确,结果开发出的产品与实际需求不符,这势必会影响软件的质量。 除此之外,在开发过程中客户往往会一而再再而三地变更需求,导致开发人员频繁地修改代码,这可能会导 致软件在设计时期存在不能调和的误差,最终影响软件的质量。
软件开发缺乏规范性文件指导 现代软件开发,大多数团队都将精力放在开发成本与开发周期上,而不太重视团队成员的工作规范,导致团 队成员开发“随意性”比较大,这也会影响软件质量,而且一旦最后软件出现质量问题,也很难定责,导致后期 维护困难。
软件开发人员问题 软件是由人开发出来的,因此个人的意识对产品的影响非常大。除了个人技术水平限制,开发人员问题还包 括人员 流动,新来的成员可能会继承上一任的产品接着开发下去,两个人的思维意识、技术水平等都会不 同,导致软件开发前后不一致,进而影 响软件质量。
缺乏软件质量控制管理 在软件开发行业,并没有一个量化的指标去度量一款软件的质量,软件开发的管理人员更关注开发成本和进 度, 毕竟这是显而易见的,并且是可以度量的。但软件质量则不同,软件质量无法用具体的量化指标去度量, 而且软件开发的质量并没有落实 到具体的责任人,因此很少有人关心软件最终的质量。
3.软件分类
1.根据应用场景分类:工具类软件、游戏型软件、媒体型软件、电商型软件等
2.根据软件架构分类:单机版软件、分布式软件
3.分布式软件:C/S架构软件(客户端和服务端),B/S架构软件(浏览器和服务端)
4.软件开发生态系统
1.app
2.微信小程序
3.前段
4 .后端
软件开发背景
1.公司的组织架构
2.软件开发流程
2.1项目启动
产品总监/产品经理 调研---> 《需求文档》文档
产品经理--->梳理业务
2.2需求阶段
产品经理--->产品原型,需求文档,需求评审,产品里程碑
2.3设计阶段
UI设计师--->产品效果图,UI设计规范,标注图,切图
测试工程师--->设计用例
2.4开发阶段
开发工程师---写代码,技术文档
测试工程师--->设计用例,用例评审
2.5测试阶段
测试工程师--->冒烟测试,执行用例,提交BUG
开发工程师--->修改BUG
测试工程师--->回归测试
2.6上线