• 软件开发流程(基础)


    软件开发流程

    跨行招工作的渣渣!暴风哭泣。。。。

    小米(智能硬件部)一面,二面都让我详细说一下软件开发流程

    定义

    软件开发流程:

    • wiki:软件开发过程(software development process)是软件开发的生命周期(software development life cycle),各个阶段实现了软件的需求定义分析、设计、实现、测试、交付和维护。软件开发过程是在开发和构建系统时应遵循的步骤,是软件开发的路线图

    常见的过程模型:

    敏捷开发-瀑布模型

    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.项目重构

    有新的技术出现,软件对功能需求没有变,用新的技术将原来的功能重新实现一边

  • 相关阅读:
    POJ
    HDU
    POJ
    HDU
    HDU
    HDU
    POJ
    ZOJ
    ZOJ
    Kattis
  • 原文地址:https://www.cnblogs.com/GeekDanny/p/11703335.html
Copyright © 2020-2023  润新知