一个完整的软件开发过程到底需要哪些步骤?

dfmz_fd 2010-02-10 11:56:25
以例子说明:我现在要开发一个CRM系统,整个过程会是怎样的,期间需要用到哪些软件工具?
也就是说你会怎么从头到尾的管理、设计、分工此项目,期间经过哪些设计,都会用到哪些工具来完成这些设计?
...全文
140424 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
softwarelive 2012-05-03
  • 打赏
  • 举报
回复
学习了,谢谢二楼的详细答复,对我有用。
xiucai1987 2010-04-25
  • 打赏
  • 举报
回复
我自己开发了一套进销存,这套系统是做好成品准备出去卖的,我开发方法是 先研究别人的软件看看有什么功能,然后仿制着从纸上列出功能来,然后再根据每个大功能延伸出小模块来,最后开始编写代码,编写完代码之后在挨着测试 一个模块一个模块的测试,出了什么问题错误 在一一的列在纸上,最后解决这些错误问题收工……
shangxw 2010-04-20
  • 打赏
  • 举报
回复
顶一个吧,过两天来讨论这个问题。
dfmz_fd 2010-02-21
  • 打赏
  • 举报
回复
唉,自己跟自己讨论真是没劲,有更精彩的回复吗?
dfmz_fd 2010-02-10
  • 打赏
  • 举报
回复
三楼说的是一个整体的感觉,写的蛮好所以我复制过来的。
其中比较复杂的系统设计阶段有没有熟悉的人扩展扩展 ,如需要哪些设计,具体要产生一些什么文档,怎么产生这些文档等等,大家重点讨论讨论系统设计这一块:)
dfmz_fd 2010-02-10
  • 打赏
  • 举报
回复
那要看你的项目经理是当成什么层面的了,如果是负责面向客户联络沟通,内部监督控制进度的话是能做好内外沟通,两边都能协调好就可以了。如果你要深入项目管理,那么肯定要熟悉整个软件开发项目的过程,什么阶段做什么、怎么做、谁来做,时间、质量、进度三者平衡。没有一个完美的项目,因为总会有瑕疵,不要太追求完美,用户满意、适度质量的项目才好。关于软件开发过程的一些理解分享一下。

1、首先制定项目计划,最初计划是里程碑性质的。可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段)
2、需求开发阶段:怎么样写好需求很关键,如何学会进行需求开发可以去看下经典的《需求工程》这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。
另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴
3、系统设计阶段:
系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。也就是搞清楚系统的边界问题。
概要设计中除了高层架构设计,还需要设计网络拓扑图,以及系统部署图。概要设计比较重要的还有就是子系统、模块进行合理的划分。模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。
4、代码开发和单元测试阶段:这个阶段一般来说需要改进瀑布模型,类似跌代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。跌代开发的好处就是不让代码开发阶段拉的过程,没有进行及时的自我检查,不小心到了提交时间,却不是用户想要的,还有可能都不是自己想要的。
项目经理重要的责任是控制好进度,能及早发现风险,并能拿出好的预防和解决办法的措施。合理安排好开发团队的任务,合时的任务安排和衔接,你会觉得非常有艺术感,这个要自己体会了。另外,关注项目团队各人员的状况,保持高的战斗力,及时发现并能鼓励团队共同朝一个目标前进。
6、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验扽个方面都会有制约。高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。
7、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。代码开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,对于今后查问题很有作用。除非你的系统设计程度到了方法、类,把代码逻辑也都设计好了,那么程序员就CODEING去吧。
8、QA是对项目过程的质量保障,有些公司吧QA和测试工作合成一个岗位叫做QA&测试人员,或者就叫QA人员。QA是对项目全过程的监管,独立于项目之外。监督项目经理在各项目里程碑提交相关成果,入库形成基线。
dfmz_fd 2010-02-10
  • 打赏
  • 举报
回复
1.规划阶段:开发计划、质量计划、测试计划
需要产生什么文档,用到什么工具?
2.概要设计阶段:需求分析、概要设计
需要产生什么文档,用到什么工具?
3.详细设计阶段:详细设计、部分编码
需要产生什么文档,用到什么工具?
4.编码测试阶段:编码、测试及报告
需要产生什么文档,用到什么工具?
5.完成阶段:操作手册、用户手册、维护说明
需要产生什么文档,用到什么工具?
dfmzdfmzdfmz 2010-02-10
  • 打赏
  • 举报
回复
业务蓝图:需求分析报告中使用
业务流程图:概要设计报告
详细业务流程图:详细设计报告
系统流程图:系统架构设计报告
dfmzdfmzdfmz 2010-02-10
  • 打赏
  • 举报
回复
软件开发流程一般分为以下六步:
  1 相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
  2 系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚例用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还例出相关的界面和界面功能。
  3 系统分析员和用户再次确认需求。
  4 系统分析员根据确认的需求文档所例用的界面和功能需求,用迭代的方式对每个界面或功能做系统的概要设计。
  5 系统分析员把写好的概要设计文档给程序员,程序员根据所例出的功能一个一个的编写。
  6 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。

1,268

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧