2019独角兽企业重金招聘Python工程师标准>>>

能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关系到到这个软件的成败和最后能达到一个什么的效果;下面我们就来说一下一个好的软件需要有哪些软件开发流程,也可以说软件开发流程分为哪几个阶段:

第一个阶段是市场调研:技术和市场要结合才能体现最大价值。

第二个阶段是需求分析:这个阶段需要出三样东西,用户视图,数据词典和用户操作手册。用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样 式,这里面包含了很多操作方面的流程和条件。数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。用户操作手册是 指明了操作流程的说明书。请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾 太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。需求分析,除了以上工作,笔者以为作为项目设计者应当完整 的做出项目的性能需求说明书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。

第三个阶段是概要设计:将系统功能模块初步划分,并给出合理的研发流程和资源要求。作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这 种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原 型代码后,根据评测结果和经验教训的总结,还要重新进行详细设计的步骤。

第四个阶段是详细设计:这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最‘干净’的方式(黑箱结构)提供给编码者,使得系统整体 模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义都精精细细的提 供出来,从需求分析到概要设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软件系统在完成了一半的时候,其实还没有开始一 行代码工作。那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。

第五个阶段是编码:在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编 码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等 待,这种问题在很多研发过程中都出现过。我们在编码的时候一定要软件开发的 代码规范编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大 名鼎鼎的微软,可曾有连续三个月不发补丁的时候吗?从来没有!

第六个阶段是软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操 作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。以上都很好理解,不再解释。总之,测试同样是项目研发中一个相当重要的步 骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。完成测试后,完成验收并完成最后的一些帮助文档,整体项目 才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营状况并持续修补升级,直到这个软件被彻底淘汰 为止。

总结,前四个阶段在软件开发过程中占的比重比较大,真正编码的时间是非常短的,只有市场调研做好,能有一个明确的方案,设计出详细合理的开发步骤;我们在 进行编码的时候才能很顺利,开发出来的软件才有价值。有的软件在没有开发出来,还没有上线就注定不行了,所以说软件开发流程对于能否开发出一个好的软件是 非常重要的,大家有什么补充的,尽管回复,也可以到安安DIY创作室一起讨论,欢迎光临哦,回复必答……

转载于:https://my.oschina.net/u/203101/blog/103336

软件开发流程包含哪些内容相关推荐

  1. 软件开发流程及思考—采访某项目经理

    一.采访对象 本次采访的对象为一家小型互联网公司-钟吾网络科技有限公司软件开发的项目经理,他于2017年本科毕业于河南工业大学,目前已就职4年. 二.采访方式 本次采访于2021年3月17日通过腾讯会 ...

  2. 软件工程,开发模型,软件开发流程

    软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模 ...

  3. 技术分享 | 想测试入门就必须要懂的软件开发流程

    从事软件测试行业,每天面对的被测对象都是软件.如果想要更好的去完成测试工作,首先需要对被测对象,也就是对软件要有基本的了解. 软件 与计算机系统操作有关的计算机程序.可能有的文件.文档及数据. 程序好 ...

  4. 软件开发流程_软件开发

    软件开发流程 好吧,我最近去了"银色"的一面,并购置了MacBook Pro,以便在我不在PC上时也可以将其用于开发. 通过开发,我的意思是主要是Java + Javascript ...

  5. 软件开发流程--学习笔记

    软件开发流程--学习笔记 背景 产生原因及作用 个人理解 软件开发流程 需求 需求调研 需求分析 需求确认 设计 概要设计 详细设计 编码 测试 交付 维护 知识拓展 软件开发生命周期(SDLC) 软 ...

  6. 3星|《大产品,小团队》:携程软件开发流程改进的故事

    大产品,小团队:携程敏捷技术与管理转型实战 携程集团创作,作者有产品.开发.测试.PMO等多种角色.有一点比较怪异,每个章节的作者是放在书的最后部分的. 主要内容是携程的软件开发流程改进的故事.携程的 ...

  7. 一套完整的软件开发流程是怎样的?

    ​做什么事都需要一个流程,软件开发也不例外. 那么,一个软件从无到有到底是怎么开发的?一个软件产品的结果为什么是这样?为什么开发的速度不能再快一点.为什么程序员大多秃顶?他们有那么忙吗?完整的软件开发 ...

  8. 软件开发流程与数据库开发流程

    数据库设计的基本步骤  数据库设计的过程(六个阶段) 1.需求分析阶段(综合各个用户的应用需求) 2.概念结构设计阶段(形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图))  3.逻辑结 ...

  9. 软件开发流程和生命周期管理

    以终为始,方得始终. 我们开发软件最终的目的是交付出完整的软件项目或可靠的软件服务.但是我们在开始软件开发之前,拿到的需求大多数情况下是模糊的,不准确的.假设在我们的组织架构中没有一名专业的产品相关人 ...

最新文章

  1. phpHiveAdmin开发两个月记录
  2. Recall(召回率)和 sensitivity(灵敏性)是同一个概念,其他无相同点
  3. vb listview 修改
  4. 不用任何程序就可锁住和隐藏你的文件
  5. 【技术综述】图像与CNN发家简史,集齐深度学习三巨头
  6. QDoc文字标记textmarkup
  7. linux中执行历史第五个命令,Linux 快速执行历史命令,用 !编号
  8. JS !(非运算)详解
  9. Java面向对象程序设计--与C++对比说明:系列2(类机制)
  10. (dp)openjudge 复杂的整数划分问题
  11. php 字符串长度判断_php 字符串长度判断更高效的方法
  12. Vue----组件库
  13. MySQL - 唯一索引
  14. docker的安装教程以及常用命令(一)
  15. 基于Javaweb的酒店客房预订管理系统
  16. ruoyi框架分页总条数total返回错误解决方案
  17. android隐私违规获取问题处理 及 Hook拦截处理记录 (VirtualXposted/epic等)及 android/iOS 多bundle加载方式修复方案
  18. 用计算机怎么管理小米路由器,怎样用手机设定小米路由器
  19. 依托同济大学建设的中国(上海)数字城市研究院揭牌成立
  20. 零基础而且英语不好可以学java吗

热门文章

  1. 开源可视化日志分析软件-Gource
  2. [转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别...
  3. ORA-4031错误深入解析
  4. 探讨ASP.NET AJAX客户端开发技术
  5. 地址池命令 思科理由_思科互联网络操作系统 ——路由器接口
  6. OBS源代码阅读笔记
  7. 矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)
  8. 如何高效地爬取链家的房源信息(四)
  9. web前端的就业前景好不好
  10. html5展示json数据库,显示数据在html5从数据库使用javascript和json