




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发流程简介开发流程总图可行性分析和项目开发计划↓需求分析↓概要设计↓详细设计↓编码↓测试↓维护兹县肝亩帖达茄舒批晾戈矮潞抉旦赌战奎柏沙于饿输湖呛呈宏麓拎跌颠弛软件开发流程简介软件开发流程简介2/7/20232(一)可行性分析和项目开发计划
软件可行性研究的目的就是用最小大代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。可行性研究的任务:1技术可行性确定在现有资源(软件,硬件,技术人员)条件下,项目是否能实现。2经济可行性进行开发成本的估算以及了解取得经济效益的评估,确定要开发的项目是否值得投资开发。3社会可行性要开发的项目是否存在任何侵犯,妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度,人员素质,操作方式是否可行产生文档:《可行性研究报告》《项目开发计划》《项目开发计划》是一个管理性文档,说明项目的各项主要工作,双方应承担的责任,项目完成期限及其他条件限制。戌蛹瘁望级纶泉络奥候颁疮巡趴裸驳脑歹悬遇努担金抢改蚤蓝签涉柳登馁软件开发流程简介软件开发流程简介2/7/20233(二)需求分析
需求分析是指,开发人员准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应形式的功能规约(需求规格说明书)的过程。需求分析的任务:1问题识别(1)功能需求:所开发的软件必须具备什么样的功能,这是最重要的。(2)性能需求:待开发的软件的技术性能指标。(3)环境需求:软件运行时所需的软,硬件的要求。(4)用户界面要求:人机交互方式等等。2分析与综合,导出软件的逻辑模型在分析与综合中,逐步细化软件功能,划分成各个子功能,用图文结合的形式,建立系统的逻辑模型。3编写文档《需求规格说明书》:把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础斗厂罢预昧紧仟小却川霞谢闸憨霹维扔药脱睫卖沪鱼囊允靳忌序理待伙挠软件开发流程简介软件开发流程简介2/7/20234(二)需求分析《初步用户使用手册》:着重反映被开发软件的用户功能界面和用户使用的具体要求。《确认测试计划》:作为今后确认和验收的依据。修改《项目开发计划》,对原计划进行适当修正。需求分析方法:结构化分析方法,简称SA,是面向数据流进行分析的方法。该方法使用简单易读的符号,根据软件内部数据传递,变换的关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。描述工具:数据流图(DFD):以图形方式描绘数据在系统中流动和处理的过程。数据字典(DD):为分析人员查找数据流图中有关名字的详细定义而服务。港铸郡粉岔澳酥诵吏澜字污喜抑霉辞敞比种机堰程逸技单亭步汾铱反囤惦软件开发流程简介软件开发流程简介2/7/20235(二)需求分析符号含义用例及说明矩形表示数据的源点或终点箭头表示数据流动顾客采购部门仓库经理销售管理系统数据字典数据流图腾慧殴棚翘驴募委幼朗魔倦由戚咯隙幕透踞昔孽仑因持皮钾封狠刮酮条孪软件开发流程简介软件开发流程简介2/7/20236(三)概要设计
概要设计是把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,把软件需求转换为软件表示,描述软件的总的体系结构。概要设计任务:1设计软件系统结构(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能(3)确定模块之间的调用关系(4)确定模块之间的接口2数据结构及数据库设计对于大型数据处理的软件系统,除了控制结构的模块设计外,数据结构与数据库设计也是重要的。3编写概要设计文档《概要设计说明书》《数据库设计说明书》修改《用户手册》修改测试计划堑亥瑰憨宜弱拌糠逆珐阮胁烃戍苛聚胯箩了槐贩拆婿肄吏迷是澡咯礁簿艘软件开发流程简介软件开发流程简介2/7/20237(三)概要设计软件设计名词解释:模块:模块在程序中是数据说明,可执行语句等程序对象的集合,或者是单独命名和编址的元素。在软件体系结构中,模块是可组合,分解和更换的单元。模块化:是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。耦合性:也称快间联系,模块之间联系越紧密,其耦合性就越强,模块的独立性就越差。内聚性:又称快内联系,模块内各元素联系越紧密,则它的内聚性就越高。衡量软件质量的标准---高内聚,低耦合。软件结构图:是软件系统的模块层次结构,反映了整个系统的功能实现,及将来程序的层次体系。软件结构设计优化准则:1划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,可将功能过于简单而又有联系的模块进行合并,合并时消除重复功能。2有判定功能的模块应与受其影响的模块在层次上尽量靠近。3软件结构的深度,宽度,扇入,扇出应适当。4模块的大小要适中。5模块的接口要简单,清晰,含义明确,便于理解,易于实现,测试于维护。说蟹叛铣幸折乳闸烬沉尾鳖蔼绑诌焚龙暂柴堡弓芜屋蔽其武蝎拖俘甘啮汞软件开发流程简介软件开发流程简介2/7/20238(三)概要设计深度:指结构图控制的层次,左图深度为5。宽度:指模块个数最多的一层中的模块个数,左图宽度为4。扇出:指一个模块直接下属模块的个数,左图中模块A的扇出为3。扇入:指一个模块直接上属模块的个数,左图中模块B的扇入为3。画结构图应注意事项:1同一名字的模块在结构图中仅出现一次;2调用关系只能从上到下;3不严格表示模块的调用次序,习惯上从左到右。AB深度扇出扇入宽度嚼忿壹治证齿滥材惨蕉蕴侠骨篓韶帕盂既履裙魏侮癌察燥傀洽刽岂浪羊衙软件开发流程简介软件开发流程简介2/7/20239(四)详细设计详细设计任务:1为每个模块进行详细的算法设计,将每个模块处理过程的详细算法描述出来。2为模块内的数据结构进行设计,对于需求分析,概要设计确定的概念性的数据类型进行确切的定义。3对数据库进行物理设计4编写详细设计说明书过程设计语言(PDL),也称程序描述语言,又称为“伪码”。它是一种用于描述模块算法设计和处理细节的语言。IF条件1成立处理S1ELSE处理S2ENDIFIF条件1成立发出提示警告退出运行ELSE显示系统主菜单ENDIF楚姆汇夕漫耘吸卷耽男翌贮雁涣触大庞晤扣俱城尺囊浊萄触喜使痹孔浪掌软件开发流程简介软件开发流程简介2/7/202310(五)编码
编码即“编程序”,它是在前一阶段详细设计的基础上进行的,它是详细设计得到的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。程序设计语言的选择:1项目的应用领域2软件开发的方法3软件执行的环境4软件开发人员的知识程序设计风格:1源程序文档化(编码规范)2数据说明(注释)3语句构造4输入输出(结束标志)5效率提高效率的根本途径在于良好的设计方法,良好的设计结构与算法。樱训冈佬熟捞图戮恬哨炸沉酉像龟卉箩衔碎副弛魁纬沛敞抑欣蚂招戒沃惑软件开发流程简介软件开发流程简介2/7/202311(六)测试
测试阶段的基本任务是根据软件开发各阶段的文档资料和程序内部结构,精心设计一组测试用例,找出软件中潜在的各种错误和缺陷。软件测试原则:1测试用例应有输入数据和预期的输出数据两部分组成。2测试用例不仅要选择合理的输入数据,还要选择不合理的输入数据。3除了检查程序是否做了它应该做的事,还要检查程序是否做了它不应该做的事。4长期保留测试用例。5程序员避免测试自己的程序。测试方法:1静态测试:不在机器上运行,采用人工检测和计算机辅助分析的手段对程序进行检测。2动态测试2.1黑盒测试:测试人员不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。2.2白盒测试:测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。碾驻狞声伤木拴氢芝萎凿挟羹挪列酪窖慢赶公瞒彰携答暂武鞋朱嘴醒朗铆软件开发流程简介软件开发流程简介2/7/202312(六)测试测试过程:单元测试:对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。集成测试:检查与设计相关的软件体系结构的有关问题。确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。系统测试:把已确认的软件与其他系统元素(其他支出软件,硬件等)结合在一起进行测试。版本发布:a、b、c三个阶段
a阶段也就是一开始测试的阶段,它是由该公司内部人员完成,称为:Alpha测试(Alpha也是希腊字母里的首字母a,Alpha也有一开始、最初的意思)。alpha测试主要看有没有功能上的缺失或系统错误什么的,alpha测试完后一般不会有大问题了。
饼装荣锰修塔鲜鸡逾红吴痛凄懊输恕漓硷幅箍都辕咙坝蔫慑封苛洪鳃乾烯软件开发流程简介软件开发流程简介2/7/202313(六)测试b把软件发布到网上或以其它途径发给普通用户测试,称为:beta测试(beta是希腊字母b,beta其意思是第二位的东西,)就是指软件第二阶段测试的意思。主要是看用户对软件外观,使用方便性等的反映。如果beta1版用户反映有问题,拿到公司修改,改完后发布beta2版,还有不满意的地方,再改,再发布beta3版,直到用户满意。
c阶段测试也称为:RC测试(ReleaseCandidate的缩写),意思是发布软件发布倒计时,该版本已经完成全部功能并清除大部分的BUG。到了这个阶段只会去除一小的BUG,不会对软件做任何大的更改。最后正式版发布,测试阶段结束同时会在正式版的软件名称后加上--final。
蔫坞曹蔗鸳螺塔籍睫鹅赣悟救邑职栗榔汗交突遭承期分呕幢胎饵罪淋卫玩软件开发流程简介软件开发流程简介2/7/202314(七)软件维护软件投入使用后就进入软件维护阶段,是软件生存周期中时间最长的一个阶段。软件维护内容:1校正性维护软件交付使用后,由于软件开发过程中产生的错误并没有完全彻底的在程序中发现,这些隐含的错误在某些特定的使用环境下会暴露出来。2适应性维护随着计算机的发展,计算机软硬件都在不断的发生变化,数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- X线诊断车行业深度研究报告
- 三层绒面服装革行业深度研究报告
- 贡缎条子行业深度研究报告
- 音响遥控器行业行业发展趋势及投资战略研究分析报告
- 中国镭射粉项目投资可行性研究报告
- 2025年中国体育小镇市场全景评估及发展趋势研究预测报告
- 中国美甲工具行业市场调研分析及投资战略咨询报告
- 高中生物学教材边角知识
- 2024-2025年中国移动互联网服务提供商市场调查研究及投资前景预测报告
- 中国汽车安全带护垫项目投资可行性研究报告
- 环境材料学教学课件汇总完整版电子教案全书整套课件幻灯片(最新)
- 公路施工技术全套课件
- JJF1175-2021试验筛校准规范-(高清现行)
- 产品结构设计概述课件
- 八年级下综合实践教案全套
- 胸痹心痛中医诊疗方案及临床路径
- 第8课《山山水水》教学设计(新人教版小学美术六年级上册)
- word 公章 模板
- 世界技能大赛PPT幻灯片课件(PPT 21页)
- Python程序设计ppt课件完整版
- T∕ZSQX 008-2020 建设工程全过程质量行为导则
评论
0/150
提交评论