社区
研发管理
帖子详情
一个完整的软件开发过程到底需要哪些步骤?
dfmz_fd
2010-02-10 11:56:25
以例子说明:我现在要开发一个CRM系统,整个过程会是怎样的,期间需要用到哪些软件工具?
也就是说你会怎么从头到尾的管理、设计、分工此项目,期间经过哪些设计,都会用到哪些工具来完成这些设计?
...全文
140481
9
打赏
收藏
一个完整的软件开发过程到底需要哪些步骤?
以例子说明:我现在要开发一个CRM系统,整个过程会是怎样的,期间需要用到哪些软件工具? 也就是说你会怎么从头到尾的管理、设计、分工此项目,期间经过哪些设计,都会用到哪些工具来完成这些设计?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能,然后验收。
软件工程经典教程之[4]总体设计 PPT
软件设计的任务是从软件需求规格说明书出发,形成软件的具体设计方案,即将需求模型转换为软件设计。 软件设计是
一个
把软件需求变换成软件表示的
过程
,即根据需求分析的“做什么”,确定系统应该“怎么做”。 软件设计的结果是软件设计规格说明书。 软件设计是后续开发
步骤
及软件维护工作的基础。 从技术观点来看,软件设计包括数据设计、体系结构设计、接口设计、
过程
设计。 通常将软件设计分为总体设计(概要设计)和详细设计(
过程
设计)两个阶段。
人脸识别开发包(免费,可商用,有演示、范例、说明书)
完整
项目实例源码
人脸识别二次开发包,免费,可商用,有演示、范例、说明书
条形码、二维码扫描、生成Demo
完整
源码
使用Google ZXing开源项目制作的条形码、二维码的生成、扫描Demo
制作Help菜单
介绍如何制作Help菜单
Tomcat6.0.37免安装版(64位)
Tomcat6.0.37免安装版(64位系统),供亲们下载~
研发管理
1,268
社区成员
28,284
社区内容
发帖
与我相关
我的任务
研发管理
软件工程/管理 管理版
复制链接
扫一扫
分享
社区描述
软件工程/管理 管理版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章