标签:敏捷开发 根据 验收 面向 完成 对象 life 关注 sig
跨行招工作的渣渣!暴风哭泣。。。。
小米(智能硬件部)一面,二面都让我详细说一下软件开发流程
软件开发流程:
常见的过程模型:
敏捷开发-瀑布模型
requirements->design->implementation->verification->maintenance
需求分析->概要设计->详细设计->编写代码->程序测试->软件交付->客户验收->代码维护->项目重构
1.需求分析
建立需求,根据需求可以建立一个功能描述
明确大概的事件流:逻辑模型,分类系统功能模块,包图
指定各功能模块实现的操作者
简单的演示程序(demo):在招标中的作用至关重要
2.概要设计
面向过程的主框架- 事件流,关注细节
面向对象的主框架- 对象的过程
需要哪些模块,哪些接口
3.详细设计
1.根据对象抽象类,形成类图
2.对类分配责任,主要成员函数。细节问题,函数行为
3.通过时序图验证类的成员函数能否实现事件流
4.对类设计成员变量,成员变量来自前置条件,后置条件,方法中的临时变量。
5.对类分析设计成员函数的返回值、参数、函数名、访控属性(公有私有保护)
6.设计成员函数的过程:流程(活动图/状态图),异常
活动图状态图
7.其他细节:构造函数,析构函数,拷贝构造函数,操作符重载
8.通过继承和多态引入抽象。优化。降低模块之间的耦合。
9.套用设计模式。不要为了设计模式而用设计模式。很容易弄巧成拙。
最终形成一份详细的设计文档
接口,控制器,调用
功能性详细描述、类型、函数、各种条件、流程设计、关键算法、关键库的接口
4.编写代码
按照设计文档进行编写代码
编写代码是进行基本的测试验证
1.基本测试,每个main函数来测试类及函数定义
2.单元测试, 模块级别
3.集成测试, 模块都完成后,做集成测试
5.测试验证
黑盒测试
白盒测试
功能测试、性能测试、压力测试、健壮性测试,稳定性测试
6.产品发布
安装手册,用户使用指南
7.客户验收
8.代码维护
软件和根据不同功能进行更改
9.项目重构
有新的技术出现,软件对功能需求没有变,用新的技术将原来的功能重新实现一边
标签:敏捷开发 根据 验收 面向 完成 对象 life 关注 sig
原文地址:https://www.cnblogs.com/GeekDanny/p/11703335.html