软件开发的V型流程

目录

0 前言

1. 用户需求

2. 需求分析和系统分析

3. 概要设计

4. 详细设计

5. 编码


0 前言

        软件开发的V型流程其实非常使用,一些大型的软件企业都是遵循这样的开发过程,虽然有时候各个阶段的名称未必一样,但是大概流程是如此,V型流程如下:

ps:虽然看起来简单,一旦你养成了这样一种开发素养,应该是收益匪浅的。

            1. 用户需求                            9.验收测试
                \                                           /
                2.需求分析和系统分析    8.系统测试
                    \                                    /
                    3.概要设计                7.集成测试
                       \                           /
                        4.详细设计          6.单元测试
                            \                  /
                                5.编码

 

1. 用户需求

    从使用者的角度来描述需求的,可以是使用者希望这个产品具有什么样的功能,或者是企业老板希望产品有什么样的功能,是撇开技术层面的东西,用户单纯的需要。

2. 需求分析和系统分析

从用户需要上出发,转化到转化到产品设计上来。怎么去完成这个产品呢?这时,考虑到技术实现的问题,即产品需求。真正的产品,往往是有点复杂度的,需要进行系统地分析,按照产品需求,考虑到技术可行性,拆分形成不同的功能模块,规划出软硬件的构架。首先进行硬件的设计(往往是从类似的产品上借鉴,形成自己的硬件开发板:确定好CPU、MCU、存储空间、传感器等等),“框架型”(可能不完善,但是可以支持软件架构了)硬件开发板完成后,软件架构也在开始。软件架构要协调好拆分的各个功能模块,满足产品的需求。此处的软硬的设计便是架构设计,架构设计为接下来的工作奠定了重要的基础。

3. 概要设计

    概要设计的目的是描述系统的每个功能模块的内部设计,对架构设计和详细设计承担承上启下的作用。概要设计承接架构设计的功能模块,再细化,并且在架构设计基础上,形成一定的技术化描述的操作流程。每个功能模块都有自己的概要设计,各功能模块设计的同时,需要不断地和架构设计的人进行打磨,对架构设计的合理性不断地进行考验、纠正、托起,同时自身也在不断地理解架构设计,做出更好的概要设计,以求对详细设计进行更准确的指导。

4. 详细设计

    详细设计阶段就是依据概要设计阶段的分解,设计每个模块内的算法、流程,为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

    详细设计这个阶段,设计者的工作对象是一个模块,根据概要设计,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不能就地解决,不打招呼。详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。一个模块对应一篇详细设计仕样书。

5. 编码

根据详细设计书进行编码。

### ASPICE标准下软件开发流程中的V模解释与应用 #### V模的基本概念 V模是一种特定类的生命周期模,在ASPICE框架内广泛应用。此模不仅描述了各个开发阶段,还特别强调了每个开发活动对应的一个验证或确认测试活动,形成独特的“V”形状结构[^2]。 #### 开发阶段及其对应的测试活动 在V模左侧代表的是传统的顺序化开发过程,从项目的需求分析直至编码实现;而右侧则涵盖了不同层次上的系统级、集成以及单元级别的测试工作。这种设计确保每一步骤都有相应的质量控制措施相伴随: - **需求定义**:位于V模顶部,明确了整个项目的功能性和非功能性需求。 - **架构设计/概要设计**:紧接其后,确立整体解决方案蓝图并规划子系统的接口关系。 - **详细设计**:进一步细化到组件级别,为具体编程提供详尽指南。 - **代码编写**:依据设计方案完成实际程序编制任务。 - **模块测试(Unit Testing)**:针对单个函数或类进行内部逻辑检验。 - **集成测试(Integration Testing)**:检查多个模块间协作是否顺畅无误。 - **系统测试(System Testing)**:评估整个应用程序能否满足业务目标和技术规格说明书的要求。 - **验收测试(Acceptance Testing)**:最终环节,由客户执行以确认产品达到预期用途。 #### 特殊之处在于ASPICE环境下的调整 对于遵循ASPICE标准的企业而言,除了上述通用特性外,还有额外关注点体现在文档记录保持严格细致方面,这有助于审计追踪和持续改进机制的有效运作。此外,由于涉及安全关键应用场景较多,因此对风险管理和变更管理也有更高要求[^3]。 ```python def v_model_phases(): phases = [ "需求定义", "架构设计/概要设计", "详细设计", "代码编写", "模块测试(Unit Testing)", "集成测试(Integration Testing)", "系统测试(System Testing)", "验收测试(Acceptance Testing)" ] return phases ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青草地溪水旁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值