第四章 软件工程

上传人:laiq****ong 文档编号:243728474 上传时间:2024-09-29 格式:PPT 页数:43 大小:702.50KB
返回 下载 相关 举报
第四章 软件工程_第1页
第1页 / 共43页
第四章 软件工程_第2页
第2页 / 共43页
第四章 软件工程_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件工程,1,软件工程概述,软件可行性与需求分析,软件设计与编码,软件测试,软件维护,2,1,)软件特点,(,1,)软件是一种逻辑产品。,(,2,)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是,“,定做,”,的。,(,3,)软件产品不存在磨损、消耗问题。,3,4,5,(,1,)软件是一种逻辑产品。,(,2,)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是,“,定做,”,的。,(,3,)软件产品不存在磨损、消耗问题。,(,4,)软件产品的生产主要是研制。,(,5,)软件费用不断增加,软件成本相当昂贵。,1,)软件特点,6,7,所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。,2,)软件危机,8,对于软件开发的成本和进度的估计很不准确。,开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。,开发的软件可靠性差。,软件通常没有适当的文档。,软件的可维护性差。,软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。,2,)软件危机,9,软件工程就是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。,3,)软件工程,10,软件生存周期是指软件产品从考虑其概念开始到该产品交付使用,直至最终退役为止的整个过程,一般包括计划、需求分析和定义、软件设计、程序编码、软件测试、运行,/,维护等阶段。,4,)软件生存周期,11,软件开发模型是软件开发的全部过程、活动和任务的结构框架。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目开发的基础。,5,)软件开发模型,12,(,1,)瀑布模型(,Waterfall Model,),计划,需求分析,设计,编码,测试,运行 维护,定义阶段,开发阶段,维护阶段,13,(2),快速原型模型(,Rapid Prototype Model,),14,(,3,)螺旋模型(,Spiral Model,),15,软件工程概述,软件可行性与需求分析,软件设计与编码,软件测试,软件维护,16,1),可行性研究的任务,软件可行性研究的目的是在尽可能短的时间里确定该软件项目是否能够开发,是否值得开发。它是为软件开发做准备、规划的阶段。,17,2),需求分析的任务,(,1,)确定对系统的综合需求,(,2,)导出系统的逻辑模型,(,3,)修正系统开发计划,(,4,)开发原型系统,18,3),需求分析的步骤,(,1,)调查研究,获取需求,(,2,)分析和综合,(,3,)编写文档,(,4,)需求分析评审,19,4),结构化分析(,SA,)与建模数据流建模,数据流图(,Data Flow Diagram,,简称,DFD,),20,例,1.,问题陈述:建立一个简化的商业自动化系统。其中:售货员负责录入销售的商品(商品名,编号,单价,数量),有时要根据特定情况对销售的商品进行修改或删除。收款员负责收取现金,并将多交的付款退还用户。销售经理需要随时查询整个部门的销售情况(时间,商品编号,销售金额),并在每日结束时,统计各类商品的销售金额。,21,首先:建立系统环境,确定系统边界,画出顶层,DFD,。,22,自顶向下,逐层分解。从输入端开始,根据商业自动化系统的工作流程,画出数据流所流经的各加工框,逐步画到输出端,得到更下层的数据流图。,23,自顶向下,逐层分解。从输入端开始,根据商业自动化系统的工作流程,画出数据流所流经的各加工框,逐步画到输出端,得到更下层的数据流图。,24,注意事项,(,1,)父图和子图的平衡。 (,2,)分解的深度与层次 (,3,)要遵守加工编号规则,25,4),结构化分析(,SA,)与建模数据流建模,数据字典(,Data Dictionary,,简称,DD,),是关于数据的信息的集合,是对数据流图中包含的所有元素的定义的集合。,26,=,表示等价于(或定义为),+,表示与, | ,表示或(从方括号内由,“,|,”,号隔开的,分量中选择一个),表示重复,27,软件工程概述,软件可行性与需求分析,软件设计与编码,软件测试,软件维护,28,3.1,概要设计,1.,概要设计的任务,(,1,)设计软件系统结构(软件结构),把系统进一步划分为模块以及模块的层次结构。,(,2,)数据结构及数据库设计,确定数据结构、文件结构、数据库模式,确定测试方法与策略。,(,3,)编写概要设计文档,包括概要设计说明书、数据库设计说明书、用户手册和修订测试计划。,(,4,)评审,29,2.,概要设计的方法之,结构化设计方法(,SD,),SD,方法突出考虑的是如何建立一个结构良好的程序系统,它的基本思想是将系统设计成相对独立、单一功能的模块组成的结构,。,30,3.,概要设计之,数据库设计,从数据流图与数据字典到,E,R,图,31,详细设计是在概要设计的基础上确定每个模块的具体执行过程,是软件设计的第二步。详细设计的任务,是对概要设计阶段划分出的每个模块进行明确的算法描述。,3.2,详细设计,32,1.,详细设计的方法,-,程序流程图,(Program Flowchart),顺序型结构,选择型结构,当(,while,)型循环结构,直到(,until,)型循环结构,多选择(,case,)型结构,33,软件工程概述,软件可行性与需求分析,软件设计与编码,软件测试,软件维护,34,1,),软件测试的概念和原则,测试目标是:尽可能以最少的代价找出软件潜在的错误和缺陷。,35,(,1,)应当把“尽早和不断的测试”作为开发者的座右铭。,(,2,)程序员应该避免检查自己的程序,测试工作应由独立的专业的软件测试机构来完成。,(,3,)设计测试用例时应该考虑特殊情况。,36,(,4,)对测试错误结果一定要有一个确认的过程。,(,5,)制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。,(,6,)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。,(,7,)妥善保存一切测试过程文档。,37,2,) 软件测试的步骤,(1),单元测试(,Unit Testing),(2),组装测试(,Integrated Testing),(3),确认测试(,Validation Testing),(4),系统测试(,System Testing),38,3) 软件测试技术与用例设计,测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果。测试的目的是以最少的测试用例集合测试出更多的程序中潜在的错误。,39,从是否需要执行被测软件的角度来看,可分为,:,静态分析,动态测试,从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为:,白盒测试,黑盒测试,40,软件工程概述,软件可行性与需求分析,软件设计与编码,软件测试,软件维护,41,软件维护,就是在软件交付使用之后,为了改正错误或满足新的需要而修改软件的过程。而软件维护的最终目的,是满足用户对已开发产品的性能与运行环境不断提高的要求进而达到延长软件寿命。,42,根据要求维护的原因,维护的活动可以分为:,1改正性维护(,Corrective Maintenance),2适应性维护(,Adaptive Maintenance),3完善性维护(,Perfect Maintenance),43,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!