您的当前位置:首页>全部百科>百科问答详情
注:文章内容来源于网络,真实性有待确认,请自行甄别。

请问软件开发的一般过程?如可行性分析、程序设计、测试……

发表于:2024-10-24 00:00:00浏览:3次 分类: 电脑/网络-程序设计
问题描述:请问开发的一般过程?如可行性分析、程序设计、测试……
一、问题定义 问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”因此,分析员通过对系统的实际用户和使用部门负责人的访问调查,扼要地写出他们对问题的理解,并在用户和使用部门负责人的会议上认真讨论这份书面报告,澄清含糊不清的地方,改正理解不正确的地方,最后得到一份双方都满意的,此文档中系统分析员应该写明问题的性质、工程目标和规模。 问题定义阶段是软件生存周期中最简短的阶段,一般只需一天甚至更少的时间。 二、可行性研究 此阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解决, 是否有可行的解决办法。在这个阶段,系统分析员应该导出系统的高层逻辑模型,并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析,这是这个阶段的主要任务之一。 可行性研究的结果是使用部门负责人做出是否继续进行这项工程的决定的重要依据。 三、需求分析 这个阶段的任务,主要是确定目标系统必须具备哪些功能。因此,系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图濑据字典和简要的算法描述表示系统的逻辑模型。需求分析阶段确定的系统逻辑模型,是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。 四、总体设计 这个阶段必须回答的关键问题是:“应该如何解决这个问题?” 首先应该考虑几种可能的解决方案,一般包括: 1.低成本的解决方案。系统只能完成最必要的工作,不能多做一点额外的工作。 2.中等成本豹解决方案,这样的系统不仅能够很好地完成预定的任务,使用起来很方便, 而且可能还具有用户没有具体指定的某些功能和特点。 3.高成本的“十全十美”的系统。这样的系统具有用户可能希望有的所有功能和特点。 系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本 和效益;还应该在充分权衡各种方案利弊的基础上,推荐一个较好的系统,并且制定实现所推荐的系统的详细计划。 要完成上述任务,通常采用结构设计的一条基本原理就是程序应该模块化,因此,总体设计还应设计软件的结构,通常用软件结构图表示。 五、详细设计 详细设计阶段的任务就是把解法具体化,设计出程序的详细规格说明,包括必要的细节, 程序员可以根据它们写出实际的程序代码。 通常用程序流程图,N—S图,PAD图,}{IPO图或PDI_.语言描述详细设计的结果。 六、编码和单元测试 这个阶段的任务是程序员根据目标系统的性质和实际环境,选取一种适当的高级程序设 计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。 程序员在书写程序模块时,应使它的可读性、可理解性和可维护性良好。 七、综合测试 这个阶段的任务是通过各种类型的测试,使软件达到预定的要求。 最基本的测试是集成测试和验收测试。集成测试是根据设计的软件结构,把经单元测试的模块按某种选定的策略装配起来,在装配过程中对程序进行必要的测试。验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。 通过对软件测试结果的分析可以预测软件的可靠性;反之,根据对软件可靠性的要求也可以决定测试和调试过程什么时候可以结束。 在进行测试的过程中,应该用正式的文档把测试计划、详细测试方案以及实际测试结果保存下来,作为软件配置的一部分。 八、软件维护 维护阶段的任务,是通过各种必要的维护活动使系统持久地满足用户的需要。 通常维护活动有四类:改正性维护,即诊断和改正在系统使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。 每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。 软件的生存周期划分为上述8个阶段,前3个阶段称为软件的定义阶段,第4至第7个阶段称为软件的开发阶段,最后一个阶段称为软件的维护阶段。在软件开发期间,测试的工作量最大,约占总开发量的40%;而软件的维护阶段周期最长,工作量非常大。 软件系统的研制工作,不可能是直线进行,研制人员常常需从后面阶段回复到前面。为了减少返工现象,研制人员通常在各个阶段进行阶段复审,以确保研制工作顺序进行。 在软件生存周期的各个阶段完成研制任务后,应提交各阶段的格式文档资料。 §1.4软件工程方法学 软件开发的目标就是在规定的投资和时间限制内,开发出符合用户需求的高质量软件。软件开发是一种高智能的活动,必须用软件工程的方法和技术指导软件开发的全过程。

猜你喜欢

安卓语音短信软件??安卓语音短信软件有哪些?在哪里可以下载呢?
安卓语音短信有哪些?在哪里可以下载呢?
发表于:2024-10-24 00:00:00 浏览:44 分类: 电脑/网络-程序设计
请问如何让数据透视表不显示零值行?数据透视表如何不显示零值行,我
数据透视表如何不显示零值行,我知道在工具,选项里有一个零值前面的勾去掉,会不显示零值,但是0是不显示了 这行却还存在,能不能让0值的这一行自动不显示呢 透视表只显示数值为非0的行呢?
发表于:2024-10-24 00:00:00 浏览:43 分类: 电脑/网络-程序设计
SOCKET编程难题急急!!!我用VC++MFC类CSOCKET
我用++ MFC类CSOCKET 写了一个点对点大型文件传输的程序,可接收后,只有文本格式的文件能打开,而数据库文件或Excel表格文件都打不开,提示为不可识别的文件格式. 请各位高手帮忙解答,有积分相送....
发表于:2024-10-24 00:00:00 浏览:42 分类: 电脑/网络-程序设计
vb程序如何打包?有sql数据库ado连接,如何做安装程序,如果
有sqlado连接,如何做安装程序,如果用打包工具也可以,请各位大侠们说明打包方法。谢谢了
发表于:2024-10-24 00:00:00 浏览:42 分类: 电脑/网络-程序设计
VB编程问题如何让VB产生一个8位的随机数字穿!大虾教一下,谢谢
如何让产生一个8位的随机数字穿! 大虾教一下,谢谢!
发表于:2024-10-24 00:00:00 浏览:41 分类: 电脑/网络-程序设计
关于VC的编程问题 我用VC++ MFC类CSOCKET写了一个
我用++ MFC类CSOCKET写了一个传输大型文件的程序,为何接收后出现文件格式不可识别的错误,只能识别文本格式!!如数据库文件,Excel表格文件都不能打开...请专家帮忙解答,谢谢!!
发表于:2024-10-24 00:00:00 浏览:41 分类: 电脑/网络-程序设计
关于启动的问题冷启动和热起动的具体区别和辨别方法是什么
冷启动和热起动的具体区别和辨别方法是什么
发表于:2024-10-24 00:00:00 浏览:40 分类: 电脑/网络-程序设计
关于计算机技术请问计算机技术是包括哪些方面的技术的?望各位能够详
请问是包括哪些方面的技术的?望各位能够详尽解答!谢谢…
发表于:2024-10-24 00:00:00 浏览:39 分类: 电脑/网络-程序设计
提高程序可读性的技巧有哪些?
提高程序可读性的技巧有哪些?
发表于:2024-10-24 00:00:00 浏览:37 分类: 电脑/网络-程序设计
如何学习模式识别对于模式识别个人挺喜欢,但是不知道怎么去学习,大
对于个人挺喜欢,但是不知道怎么去学习,大家给点意见,指导一下学习过程,推荐一些书籍。谢谢了。。。
发表于:2024-10-24 00:00:00 浏览:35 分类: 电脑/网络-程序设计