首页 > 其他分享 >软件产品研发流程总结

软件产品研发流程总结

时间:2023-09-21 16:25:13浏览次数:40  
标签:需求 软件产品 流程 项目 系统 研发 文档 测试 设计

开发流程更完整、更有效率,产品才能脱颖而出。   1. 项目启动 在项目启动阶段,主要确定项目的目标、范围及其可行性,我们需要对项目的背景、干系人、决策人等等进行了解。 编制项目章程和组建项目团队,包括:产品经理、架构师、UI工程师、开发工程师、测试工程师等; 明确项目管理制度,每个阶段的成果产物及评审方式及过程,评审要有相应的《会议纪要》,从项目启动起,项目经理每周提供《项目周报》;测试阶段,测试工程师每周提供《项目测试周报》等等都属于项目管理制度。 《会议纪要》《项目周报》《项目测试周报》   2. 需求调研及分析 2.1 需求调研 了解相关对接系统的业务需求,比如该软件是为其它业务提供服务的平台,那一定要了解清楚相关对接方的具体需求才能设计出最佳的系统架构。又比如该软件是一个业务系统那必须要了解清楚业务方的具体需求才能达到业务满意、用户满意。 《需求调研》文档 2.2 需求分析 需求分析阶段主要对调研阶段收集到的各项需求进行细化分析,对业务需求进行去粗取精、去伪存真、准确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来。需求明确后应当有PRD文档、UI/UE设计图、高保真图等产出,项目经理也应当产出一份详尽的项目计划并严格执行。 《市场需求文档MRD》(MRD:市场需求文档)《产品需求文档》《设计文档(《产品原型》)》《产品开发计划》 产品经理的三大文档——BRD、MRD、PRD BRD(商业需求文档):项目背景(产品介绍)、市场分析、团队、产品路线、财务计划、竞争对手分析 等。 MRD(市场需求文档):目标市场分析(目标、规模、特征、趋势)、目标用户分析(用户描述、用户使用场景、用户分类统计、核心用户、用户分类分析、竞争对手分析、产品需求概况(定位、前景))。 PRD(产品需求文档):详细功能说明(功能清单、优先级、功能目的、功能详细说明)、业务流程(业务流程、用例)、业务规则、界面原型(界面流程、界面原型)、数据要求(输入输出、极限范围、数据格式等)。   3. 系统设计 3.1 概要设计 概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示整个系统的架构,其中应当包含但不限于以下几部分: - 系统架构设计: 需要对系统的整体技术架构做出设计,采用何种技术框架及架构,包含技术选型如web容器的选择、高速缓存组件的选择等;是否采用分层技术,是否采用分模块设计等等一系列技术方向进行明确。

  • 业务架构设计: 考虑到系统是一个满足业务满足市场的长期存在,所以我们的系统需要应对未来业务的发展,那就需要做出相应的业务架构设计,包含系统未来的产品可扩展性、系统收缩性等相关方面的设计。
  • 网络架构设计: 针对系统的网络结构进行设计,是部署在内网还是外网,分模块的系统需明确哪些模块部署外网区、哪些模块部署DMZ区、哪些模块部署内网区,模块之间的访问关系及端口要求等。
  • 数据库设计: 针对系统的数据结构进行设计,包含是否采用分库分表技术,是否采用读写分离设计等,系统中所有的表结构设计及字段设计。
  • 接口设计: 针对系统内部接口及外部接口进行设计,包含接口通讯方式、接口字符编码、接口数据规范、接口报文规范、接口报文格式、接口字段等进行设计。
  • 安全设计: 包含数据的传输与存储安全、安全认证方式、数据的加解密签名验签方式、共计及防范方案等进行相应设计。
  • 非功能设计: 主要包含系统性能、可靠性、可用性、可扩展性、可维护性等相关设计。
《概要设计》《通讯协议》及《表结构设计》   3.2 详细设计 详细设计主要任务就是将软件分解成模块,是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元,其中要包含具体功能的简介、功能流程、输入输出项、数据库操作、异常处理等,可以理解成好的详细设计其实就是伪代码。 《详细设计》   4. 编码实现 软件编码就是根据产品原型图、UI/UE设计图、设计文档转换成计算机可以接受的程序,即写成以某一程序设计语言表示的源程序清单。开发人员应当充分了解软件开发语言、工具的特性和编程风格,严格遵守开发规范进行代码编写;良好的编码风格、清晰的编码注释等都有助于提升软件产品的开发质量。   5. 系统测试 5.1 功能测试 对软件进行测试是保证软件质量的重要手段。开发工程师开发完成后,可以交由测试工程师测试。测试工程师测试到BUG要反馈给开发,开发进行修改;功能测试通常需要多轮反复的测试多次,直至测试通过达到软件质量要求。 5.2 用户验收测试 用户验收测试阶段,也是通常的UAT(User Acceptance Test)阶段,用户验收测试是最终用户可以检查软件是否符合业务要求的最后阶段。UAT由了解要求并了解构建软件目的的最终用户执行。此测试是在软件运行之前执行的最后一次测试。最终用户使用现实生活场景并为真实数据构建UAT测试用例,用户验收测试在最终用户在上线之前验证软件是否满足这些业务需求方面具有重要作用。 5.3 性能测试 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,以此可以预估出系统的最大承受能力以及推算出能否满足系统上线后的性能要求。通常包含以下几个方面:
  • 基准测试: 在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考
  • 负载测试: 是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 。
  • 压力测试: 压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
  • 稳定性测试: 在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
  • 并发测试: 测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题
《测试实例(测试用例)》《测试结果报告》   6. 项目上线试运行 所有测试通过,并与客户或者上级达成一致后,系统进行试运行(通常指小范围运行),稳定后上线。上线包括:上线前期准备,包括要上线的代码程序包、数据库DDL、DML脚本、系统初始化参数配置等;上线部署、部署后业务验证;投产完毕后的系统运行状况监控:各业务功能是否正常运行、系统资源、数据库资源等是否在合理使用范围内。   7. 投产验收 整理交付物:项目需求文档、项目设计文档、安装部署手册、系统操作手册等等,并移交至相关运维部门或人员进行后期系统维护。释放项目团队,进行项目回顾总结,项目汇报,完成项目结项等工作。 《操作手册》《维护手册》

标签:需求,软件产品,流程,项目,系统,研发,文档,测试,设计
From: https://www.cnblogs.com/amadoGrowers/p/17720222.html

相关文章

  • ShowMeBug X 光图智能 | 升级技术招聘流程,提升人才招聘精准度
    ShowMeBug与苏州光图智能科技有限公司(以下简称光图智能)成功完成签约。光图智能将采用ShowMeBug的技术测评解决方案,完善技术人才招聘流程,力图通过实战编程题型的考核,提升技术人才招聘的精准度。 光图智能的招聘团队表示,由于行业特性,光图智能一直对研发团队的技术水平保持着高要......
  • 行业分享:文本数据标注的整体流程、类型与应用场景
    上次分享的文本标注收到朋友们的咨询和讨论,那今天和大家分享一些文本数据标注行业情况。自然语言对话是网络大数据语义理解的主要挑战之一,被誉为人工智能皇冠上的宝石,而文本数据标注就是这一系列工作中最基础、最重要的环节。自然语言对话系统的研究是希望机器人能够理解人类的自然......
  • 良好的测试环境应该怎么搭建?对软件产品起到什么作用?
    为了确保软件产品的高质量,搭建一个良好的测试环境是至关重要的。在本文中,我们将从多个角度出发,详细描述良好的测试环境的搭建方法、注意事项以及对软件产品的作用。一、软件测试环境的搭建1、从硬件设备的选择与配置开始。对于大型软件产品的测试,建议使用高性能的服务......
  • Laravel执行流程(一)之请求周期
    一、生命周期概述:1.1、第一步:Laravel应用程序的所有请求的入口点都是public/index.php文件。所有请求都由你的web服务器(Apache/Nginx)配置定向到此文件。那个index.php文件不包含太多代码。相反,它是加载框架其余部分的起点。该index.php文件将加载Composer生成的自......
  • systemd时代的开机启动流程(GPT+systemd)
    回到Systemd系列文章大纲systemd时代的开机启动流程(UEFI+systemd)计算机启动流程可以分为几个大阶段:内核加载前本阶段和操作系统无关,Linux或Windows或其它系统在这阶段的顺序是一样的内核加载中-->内核启动完成内核加载后-->系统环境初始化完成终端加载、用户登录......
  • 研发流程
    研发流程不只是一个流程 以人治天下,贤则大治,不贤则大乱。以术知天下,术高多宵小。以法治天下,法令莫不从,民生定。一、总要有个流程作为一个研发,你最讨厌什么?"小功能,十分钟能搞定吧!""需求都清楚了吧,明天老板要看效果!""有个急事,插一下!""这个地方,还要调整下,稍后给你更新......
  • RocketMQ源码(六):RocketMQ消费者启动流程
    RocketMQ通过Consumer消费消息,可并发和顺序的处理消息,这里以并发消费普通消息为例,分析消息下佛诶的整体流程。Consumer的示例代码如下:1importcom.snails.rmq.common.RMQConstant;2importorg.apache.rocketmq.client.consumer.DefaultMQPushConsumer;3importorg.a......
  • 2022完整iOS APP发布App Store上架流程指南
    如果你是新手,将在这里清晰发布到AppStore整个上架流程,还有相应的流程解决方案。如果你上架过iOSAPP,这里会了解到有更快捷的上架过程。上架iOS最基本需要一个付费的开发者账号,还没有的话申请一个或者借用。通常也还需要一台Mac电脑,不过这里介绍到不用Mac在Windows系统中直接发......
  • 苹果app开发流程详解
    苹果app开发流程详解 苹果AppStore上传应用流程详解,在向AppStore提交应用之前,开发者首先要成为苹果iOS开发者项目的成员,每年向苹果缴纳99美元或199美元的费用(具体申请方法后期更新)。免688开发IOS应用,根据apple的规定,不支付688,可以开发IOS应用,但是不支持提交审核,推送,支付和apple登......
  • 2022最新iOS最新打包发布流程
    关于如何发布iOS应用到AppStroe,苹果开发者中心已经给出了很详细的说明。和普通的iOS应用一样,使用ReactNative开发的iOS应用也需要使用普通的iOS应用的发布流程,总的来说,主要涉及以下几步:加入苹果开发者计划,申请成为开发者;生成和配置开发者证书;打包iOS应用;上传应用并发布到AppStor......