day01
软件的定义
是一系列按照特定顺序组织的计算机数据和指令的集合
软件开发模式
分为:瀑布模型、快速原型模型、螺旋模型、迭代模型、增量模型、敏捷开发模式
瀑布模型:
瀑布模型:将软件生命周期的各项活动规定为按固定顺序而连接的若干阶段工作
快速原型模型:
原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求
螺旋模型:
螺旋模型:沿着螺线进行若干次迭代,分为:
1.制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
2.风险分析:分析评估所选方案,考虑如何识别和消除风险
3.实施工程:实施软件开发和验证
4.客户评估:评价开发工作,提出修正建议,指定下一步计划
限制条件:
1.适应于内部的大规模软件开发。
2.如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。
螺旋模型 = 瀑布模型 + 快速原型模型
迭代模型:
迭代模型:是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。
增量模型:
增量模型:整个产品被分解成若干个构件,开发人员逐个构件地交付产品。
敏捷开发模式:
敏捷开发模式:是一种以人为核心、迭代、循序渐进的开发方法。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,
软件质量
有质量要求的,软件质量关系着软件使用程度与使用寿命,它除了满足客户的显式需求之外,往往还满足了客户隐式需求
软件分类
根据应用场景分类:工具类软件、游戏型软件、媒体型软件、电商型软件等
根据软件架构分类:单机版软件、分布式软件
单机版软件: office、红警等
分布式软件:
C/S架构软件:客户端需安装专门软件,如QQ 微信等
B/S架构软件:客户端为浏览器 ,如百度、hao123等
软件开发生态
软件开发生态系统目前最流行最常见的有App、微信小程序、公众号、前端和后台
day02
软件开发流程
开发流程分为六个阶段:
项目启动阶段,需求阶段,设计阶段,开发阶段,测试阶段,项目上线
项目启动:
产品总监/产品经理 需求调研 --》《需求调研》文档
产品经理 --》梳理业务
需求阶段:
产品经理 --》最简单接近成品的产品原型,需求文档,需求评审,
研发经理 --》根据需求 明确《产品里程碑》,根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。
设计阶段:
UI设计师 --》 产品效果图,UI设计规范,标注图,切图
开发阶段:
开发工程师--写代码,技术文档
测试阶段:
测试工程师--》 测试用例(Test case)明确测试方案,测试结果报告,用户手册,系统操作手册