您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程rjgc03
第二部分传统软件工程方法---瀑布模型和结构化分析与设计方法第二章传统软件工程方法引言第一节软件工程三要素概图第二节瀑布模型开发阶段的划分第三节结构化分析与设计方法第三章系统需求分析第一节问题定义第二节可行性研究第三节软件计划第三课第二章传统软件工程方法引言第一节软件工程三要素概图软件工程管理成本估计进度计划人员组织质量保证项目计划管理工具软件工程方法结构化方法、面向对象方法、其他方法UML方法XP方法软件工程工具分析:DFD、DD、ER模型层次方框图Warnier图、IPO图、对象模型……设计:层次图、HIPO图、结构图、程序流程图、盒图、Jackson图、类图……编码:C++、Delphi、PB……瀑布模型原型模型螺旋模型喷泉模型其它模型软件工程过程(生存周期)模型一、四个活动时期八个阶段的划分分析时期设计时期编码与测试时期运行与维护时期1、问题定义---问题性质、工程目标及规模2、可行性研究---技术上、经济上、社会上是否有可行解?3、需求分析---确定目标系统必须具备的功能?4、总体设计---1).几种求解方案;2).设计软件的结构5、祥细设计---设计出程序的祥细规格说明6、编码与单元测试---程序编码实现与模块测试7、综合测试---集成测试和验收测试8、维护---改正性维护、适应性维护、完善性维护预防性维护第二章传统软件工程方法引言第二节瀑布模型开发阶段的划分(1)二、B.W.Boehm的划分:四个活动时期七个阶段分析时期设计时期编码时期测试与运行维护时期1、系统需求分析---2、软件需求分析---确定目标系统必须具备的功能?3、概要设计---1).几种求解方案;2).设计软件的结构4、祥细设计---设计出程序的祥细规格说明5、编码---程序编码实现6、测试---集成测试和验收测试7、运行维护---改正性维护、适应性维护、完善性维护、预防性维护问题定义可行性研究软件计划:确定软件工作域和所需资源;估算成本和进度;制定项目开发计划。第二章传统软件工程方法引言第二节瀑布模型开发阶段的划分(2)一、发展历史结构化程序设计方法结构化设计(SD)方法JACKSON方法、YOURDON方法等结构化分析(SA)方法结构化分析与设计技术(SADT)等70年代初70年代中70年代末第二章传统软件工程方法引言第三节结构化分析与设计方法(1)SA、SD两者统称为结构化分析与设计方法,即Yourdon方法。二、结构化分析方法结构化分析方法最初由DouglasRoss提出,由DeMarco推广,并由Ward和Mellor以及后来的Hatley和Pirbhai扩充,形成了今天的结构化分析方法的框架。结构化分析方法是一种建模技术,它建立的分析模型下图所示:(ERD,EntityRelationDiagram)(DFD,DataFlowDiagram)(DD,DataDictionary)(STD,StatusTransferDiagram)加工规格说明数据对象描述分析模型的结构数据字典状态-迁移图控制规格说明数据流图实体—关系图第二章传统软件工程方法引言第三节结构化分析与设计方法(2)三、结构化设计(SD)方法(JACKSON方法、YOURDON方法等)结构化设计方法可分为二大类:第一类根据系统的数据流进行设计,称为面向数据流的设计或者过程驱动的设计,以结构化设计方法(StructuredDesign,SD)为代表。第二类根据系统的数据结构进行设计,称为面向数据结构的设计或者数据驱动的设计,以LCP(LogicalConstructionofPrograms,程序逻辑构造)方法、Jackson系统开发方法和数据结构化系统开发(DSSD,DataStructuredSystemDevelopment)方法为代表。结构化设计方法是基于模块化、自顶向下逐步求精、结构化程序设计等程序设计技术基础而发展起来的。结构化设计方法实施的要点是:①建立数据流的类型;②指明流的边界;③将数据流图映射为程序结构图;④用“因子化”方法定义控制的层次结构;⑤用设计测量和一些启发式规则对结构进行细化。第二章传统软件工程方法引言第三节结构化分析与设计方法(3)四、结构化编程方法自顶向下、逐步求精、单入口单出口控制结构:五、结构化软件工程方法(传统软件工程方法)结构化分析方法结构化设计方法结构化编程方法结构化程序:1.顺序结构2.选择结构3.循环结构第二章传统软件工程方法引言第三节结构化分析与设计方法(4)1、客户提出要求2、明确问题---初步调查(1天---1周内)问题性质工程目标工程规模3、编写材料---软件计划任务书1).软件项目标题2).软件目的与目标3).软件用户对象4).软件规模第三章系统需求分析(基于瀑布模型B.W.Boehm的阶段划分)第一节问题定义(1)实际例子:“工资管理系统”软件计划任务书项目:工资管理系统问题:当前工资管理费用太高。目标:研制新的低费用的工资管理系统范围:研制费用小于18000元(+-50%)想法:用本厂的小型机进行工资管理可行性研究:时间15天,费用3000元.第三章系统需求分析(基于瀑布模型B.W.Boehm的阶段划分)第一节问题定义(2)一、可行性研究的任务及内容至少应该从下述五个方面研究问题求解的可行性:技术可行性、资金可行性、时间可行性、人员操作和维护的可行性、社会可行性。二、做法进行一次高层次上的系统分析和设计,找出若干个可选的问题求解方案。三、步骤问题1:如何表示物理模型及逻辑模型?问题2:具体做法?(一)、建立当前系统高层物理模型(二)、抽象出当前系统高层逻辑模型(三)、导出新系统电脑实现的逻辑模型(四)、落实到新系统的物理模型(五)、分析新系统物理模型的可解性,并编写可行性研究报告当前系统目标系统模型化具体化物理模型抽象化物理模型逻辑模型逻辑模型实例化图2。1参考当前系统建立目标系统模型做什么导出理解需求表达需求第三章系统需求分析(基于瀑布模型B.W.Boehm的阶段划分)第二节可行性研究(1)(一)、建立当前系统高层物理模型(1)要做的工作:1。复查系统规模和目标对报告书的规模目标进一步复查确认;描述对目标系统的限制和约束.2。研究目前正在使用的系统了解做什么?不要注重如何做?3。建立当前系统高层物理模型(用系统流程图表示)画出描绘目前系统的系统流程图。一、作用:是分析员与用户交流的工具。二、使用的符号(16个)讲义P.21图2。1及图2。2三、系统流程图的绘制方法按业务处理的先后顺序,自上而下,从左到右绘制。业务处理可能是人工的亦可能是电脑的。四、实际例子(一)、建立当前系统高层物理模型(2)实际例子1:工资管理系统考勤表职工核对考勤表工资计算系统工资单核对工资单工资报表会计(一)、建立当前系统高层物理模型(3)实际例子2工资管理系统(电脑)工资事务计算工资程序工资报表程序工资单工资报表(一)、建立当前系统高层物理模型(4)(二)、抽象出当前系统高层逻辑模型(1)具体做法:1。去掉当前系统物理模型中各业务处理过程中的有关实体的传递,将物理模型抽象为:数据源与宿、数据流、数据处理、数据存储。2。画出当前系统的数据流程图。3。编制数据字典。(使用数据流程图和数据字典表示系统的逻辑模型)实际例子:工资管理系统职工录入考勤数据计算工资输出工资单会计输出工资报表考勤表工资单工资报表职工文件(二)、抽象出当前系统高层逻辑模型(2)有关的工作:1、根据新系统的要求,完善和扩充数据流程图。2、编数据字典。注:DFD----DataFlowDiagramDD---DataDictionary数据字典卡片名字:考勤数据别名:描述:作为计算全勤奖的依据。定义:考勤数据=职工号+考勤年月+出勤天数+缺勤天数位置:职工文件(二)、抽象出当前系统高层逻辑模型(3)这次课到次结束,同学们再见!
本文标题:软件工程rjgc03
链接地址:https://www.777doc.com/doc-213270 .html