ImageVerifierCode 换一换
格式:PPT , 页数:413 ,大小:11.24MB ,
文档编号:3219242      下载积分:32 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3219242.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(软件工程整套课件完整版电子教案最全ppt整本书课件全套教学教程.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

软件工程整套课件完整版电子教案最全ppt整本书课件全套教学教程.ppt

1、2022-8-6Software Engineering 2022-8-6 软件工程是计算机科学与技术专业的一门专业核心课程。通过本课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。课程的性质、目的与任务课程的性质、目的与任务2022-8-6 本课程比较全面、系统地介绍软件工程的概念、技术与方法。主要内容包括:软件工程概述、软件生存周期及软件需求分析、软件设计方法、软件测试技术等。通过本课程的学习,使学生能真正的从中了解软件开发的整个过程。为了让学生真正得以实践,结合实际软件开发项目

2、,让学生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试,这样一个软件开发过程,从而使学生掌握软件开发的基本技能。课程主要内容课程主要内容2022-8-6学习本课程的基本要求学习本课程的基本要求 本课程是继程序设计课程之后,对提高学生软件开发能力有重要作用的一门课程。要求学生在学习本课程前应掌握信息管理系统、数据结构、结构化程序设计、面向对象程序设计以及程序设计方法论。通过本课程的学习,为学生后期的毕业设计环节奠定了良好的基础。2022-8-6第一章第一章 软件工程概述软件工程概述水利工程建筑工程机械工程 本章将对软件的地位和作用、软件的

3、特点、软件 的发展、软件的危机以及软件工程学科的形成、软件 生期等方面的问题和基本概念传统工程新兴工程气象工程生物工程2022-8-61.1 软件的概念与特点软件的概念与特点1、软件softwaresoft+ware软制品(软体)软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合。2022-8-62、软件特点 软件是一种逻辑实体,而不是具体的物理实体 软件的生产与硬件不同 在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题磨合调整磨损用坏修改点实际曲线理想曲线硬件失效率曲线时间失效率时间失效率软件失效率曲线2022-8-6 软件的成本相当昂贵软件技术的发

4、展落后于需求时间软件复杂性软件需求差距软件技术硬、软件成本比例的变化年份成本%1950197019851995硬件硬件2022-8-63、软件的分类系统软件支撑软件应用软件2022-8-6支撑软件2022-8-6 按开发软件所需的 人力、时间以及完成的 源代码行数。2022-8-6 软件项目开发软件产品开发2022-8-61.2 软件工程的概念及范畴软件工程的概念及范畴 1、“软件工程”-Software Engineering 于1968年 NATO 组织在德国召开的一次会议上提出2022-8-6 软件工程学 软件开发技术 软件工程管理 软件开发方法学 软件工具 软件工程环境 软件工程管理学

5、 软件经济学-软件工程学的范畴 2、软件工程学 2022-8-6 Wake up every day with a feeling of passion for the different technology will make in peoples Life.微软企业文化宗旨部分内容 每天醒来的时候,要对技术给生活造成的改变 始终拥有一份 激情。2022-8-6程序 3、软件的演变(即从传统软件开发到现代软件开发)软件软件产品传统软件开发现代软件开发 1975 1989 2000 0.00016240营业额增长曲线 802022-8-61.3 软件生存周期软件生存周期把软件从产生、发展到成

6、熟、直至衰亡为止(SW life cycle)2022-8-6特点:上一阶段的变换结果 是下一阶段的变换的 输入,相邻两个阶段 具有因果关系,紧密 相联。需求分析需求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期软件生存周期模型(瀑布模型 Waterfall Model)2022-8-6原型模型(Prototype Model)加工原型原型原型:是指模拟某种产品的原始模型快速分析和设计建造原型客户评价原型1、原型系统仅包括未来系统的 主要功能,以及系统的重要 接口。2、为了尽

7、快向用户提供原型,开发原型系统时应尽量使用 能缩短开发周期的语言和工 具。2022-8-6 第二章第二章 问题的定义与可性行研究问题的定义与可性行研究 当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必要的。同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及完成任务的价值从而制定出完成任务的计划。那么问题的定义和可性行研究就是制定软件系统的计划的第一步。所以在软件工程中把这一步称为 计划时期2022-8-6开始问题定义可性行研究 可行否?项目实施计划终止项目的建议结束Y计划时期的工作流程图N2022-8-6Who 为谁设

8、计,用户是谁?What 要解决哪些问题?Why 为什么要解决这些问题 3W Win CE1.0 有用的软件有用的软件2022-8-62.1 现状调查和问题的定义现状调查和问题的定义 目的目的:弄清楚用户要求计算机解决什么问题弄清楚用户要求计算机解决什么问题任务任务:编写系统目标与规范说明书编写系统目标与规范说明书2022-8-62.2 可行性研究与论证可行性研究与论证 1、经济可行性:进行成本效益分析,评估项目的开发成本。基于计算机系统的成本由四部分组成1、购置软、硬件及有关设备费用2、系统开发费用3、系统安装和维护费用4、人员培训费用费用其论证的焦点是:围绕着对系统开发的价值价值进行论证20

9、22-8-6举例:关于开发CAD系统的软件开发成本及效益分析 1 2 3 4 5 年604020 0成本-效益(万元)该系统节省经费该系统成本盈亏平衡点投资回收期-成本及效益分析图2022-8-62、技术可行性:对系统的性能、可靠性、可维护性以及生产率等方面的信息进行评价。通过技术可行性的分析,将为新系统提交技术可行性评估。以指明为完成系统的功能和性能需要什么技术?需要哪些材料、方法、算法、或者过程等 技术可行性分析方法-数学模型和优化技术、概率和统计、排队论、控制论等方法。2022-8-6可行性论证报告1、系统概述2、可行性分析3、拟订开发计划4、结论意见2022-8-62.3 可行性分析所

10、需工具可行性分析所需工具(系流程图与系统结构图)1、系统流程图:是用来描述系统物理模型的一种传统工具。2022-8-62022-8-6 举例库存清单系统流程图库存清单程序库存清单程序定货报告定货报告事务事务定货信息定货信息结束结束报告生成程序报告生成程序零件库零件库2022-8-6人工销售教材 流程图2022-8-6计算机售书系统流程图2022-8-62022-8-62、系统结构图:系统工程师用结构摸板开发的系统模型-结构摸板-2022-8-6-传输线的分类系统 3、系统结构环境图(ACD-Architecture Context Diagram):ACD 可用于描述实现系统与系统运行环境之间

11、的信息边界。2022-8-6传输线分类系统条形码阅读器传输线分配站操作员分配站操作员分类机构主 机条形码线速指示器分路命令格式化报告数据查询查询及报告诊断数据-传输线分类系统的 ACD 图处理与控制功能区外部实体2022-8-6 ACD 的层次结构ABC2022-8-6请画出学生成绩管理系统的 ACD 图 2022-8-6 第第3 章章 软件需求分析软件需求分析 软件需求分析是软件开发早期的一个重要阶段。它在问题定义和可行性研究阶段之后进行。需求分析的基本任务是软件人员和用户一起完全弄清用户对系统的确切要求。这是关系到软件开发成败的关键步骤,也是整个系统开发的基础。软件需求分析阶段要求用 需求

12、规格说明书(SRS)来表达用户对系统的要求。规格说明书可用文字方式表示,也可用图形表示。本章将介绍需求分析的(面向数据流图分析方法、面向对象的分析方法)。2022-8-63.1 需求分析的任务需求分析的任务2022-8-6某学校医疗费管理系统2022-8-6 1 1、医疗费管理系统每天医疗费管理系统每天记录记录当天报销的若干职工或职工子女的医当天报销的若干职工或职工子女的医 疗费的疗费的类别、金额类别、金额。2 2、在当天下班前让系统在当天下班前让系统自动结帐自动结帐、统计当天报销的医疗费总额统计当天报销的医疗费总额,供,供 出纳员核对。出纳员核对。3 3、每笔帐要保存备查,每天所报销的费用要

13、和各个职工已报销的金每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金 额累计起来,以便检查哪些职工已超额。额累计起来,以便检查哪些职工已超额。4 4、系统还要配有适当的系统还要配有适当的查询功能查询功能。5 5、年终结算后,下一年度开始时要对数据库文件进行初始化。年终结算后,下一年度开始时要对数据库文件进行初始化。6 6、当职工调离本单位,职工调如本单位或在本单位内部门间调动,当职工调离本单位,职工调如本单位或在本单位内部门间调动,数据库文件应能及时得到修改。数据库文件应能及时得到修改。请完成对上述系统的 需求分析用户对系统的要求2022-8-62022-8-62022-8-62022

14、-8-62022-8-6问题需求问题需求 1、建立目标系统逻辑模型的步骤2022-8-6图形工具 数据流图 数据字典 2、建立目标系统逻辑模型的图形工具2022-8-6 -学生购买教材的具体模型 -学生购买教材的 逻辑模型 2022-8-6 完善目标系统并补充细节,的出目标系统的正式逻辑模型2022-8-62022-8-6一、数据流图一、数据流图 3.2 面向数据流的方法面向数据流的方法 -DFD(Data Flow Diagram)是用来描述系统逻辑模型的一种图形工具。是用来描述系统逻辑模型的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式数据流图从数据传递和加工的角度,以图形的方

15、式刻画数据流从输入到输出的移动变换过程。刻画数据流从输入到输出的移动变换过程。DFD2022-8-62022-8-62022-8-6-系统系统逻辑逻辑模型模型2022-8-62022-8-62022-8-62022-8-62022-8-62022-8-6外部实体外部实体2022-8-6 F1书号书号单价单价数量数量2022-8-62022-8-6-DFD 2022-8-6DFD 2022-8-62022-8-62022-8-6请画出学生成绩管理系统的 DFD 图 2022-8-6二、数据字典二、数据字典 -DD(Data Dictionary)数据字典的任务是数据字典的任务是:对于数据流图中出

16、现的所有被对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。每一个图形元素的名字都有一个确切的解释。DD2022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-62022-8-6 描述把输入数据流变 换为输出数据流的加工过 程,是加工说明的主体。2022-8-62022-8-6自然语言自然语言+结构化形式结构化形式结构化语言结构化语言2022-8-6 例例1:1:请写

17、出下列在请写出下列在 DFD DFD 图中给出的图中给出的 “统计晚婚职工统计晚婚职工”的加工说明的加工说明 Count Late-MarriageEmployeesLate-Marriage-Count RequestLate-Marriage-List=List-Count+Name-ListName-List=Name2022-8-6 Count Late-Marriage Employees Policy For each Late-Marriage-Count request:Repeat the following;Access the staffs-Record.If statu

18、s is single,If sex is maie and Age is over 30 or sex is female and Age is over 26 Write Name to Name-List.Increment List-Count.Until there are no more Staff-Records.Combine List-Count and Name-List.Write Up Late-Marriage-List.2022-8-6 例例2:2:请为下列请为下列DFDDFD中的中的“审查并开发票审查并开发票”加工点写加工点写 加工说明加工说明 2022-8-6把

19、学生学号和姓名写到发票上把学生学号和姓名写到发票上按购书单上学生的年级和系、专业与班号按购书单上学生的年级和系、专业与班号 检索检索“各班学生用书表各班学生用书表”文件,获得该生当年的书单文件,获得该生当年的书单 对对 购书单上的每一书号购书单上的每一书号 如果如果 书单上无此书号书单上无此书号 则则 把书号写到出错通知单上把书号写到出错通知单上 否则否则 按书号检索按书号检索 “教材存量表教材存量表”文件,文件,从而获得该书的单价与库存量从而获得该书的单价与库存量 如果如果 库存量库存量 购书单的数量购书单的数量 则则 将书号写到出错通知单上将书号写到出错通知单上 否则否则 将将书号、单价、

20、数量、总价等项写入到发票上;书号、单价、数量、总价等项写入到发票上;更新存书量,并写回更新存书量,并写回“教材存量表教材存量表”文件;文件;累计书费合计累计书费合计 把把书费合计写到发票上书费合计写到发票上对对每张购书单每张购书单2022-8-6分房分房加工加工婚龄婚龄中级职称中级职称晚婚晚婚正常分房正常分房优先分房优先分房不分房不分房分房加工逻辑分房加工逻辑判断表判断表采用表格的形式来表达采用表格的形式来表达具复杂判断的加工逻辑具复杂判断的加工逻辑1 1、一般职工婚后、一般职工婚后5 5年可参加分房年可参加分房 2 2、中级以上职称的职工婚后、中级以上职称的职工婚后3 3年年 可参加分房可参

21、加分房 3 3、符合正常分房条件的职工,、符合正常分房条件的职工,若再符合晚婚条件可优先分房若再符合晚婚条件可优先分房2022-8-6分房分房加工加工婚龄婚龄中级职称中级职称晚婚晚婚正常分房正常分房优先分房优先分房不分房不分房2022-8-6判断树判断树判断树是判断表的图形形式判断树是判断表的图形形式其适用场合与判断表相同其适用场合与判断表相同中中 级级 职职 称称不不 分分 房房初婚初婚分房决策分房决策 5年年3-5 年年E(P1)+E(P2)设:C(x)为复杂程度函数 E(x)为决定解决问题x x所需的工作量(时间)函数 C(P1)C(P2)E(P1)E(P2)C(P1+P2)C(P1)+

22、C(P2)Magical Number Seven,Plus or Minus Two,Some Limits on Our Capacity for Processing Information The Psychological Review,1956 G.A.Miller奇妙的数字 7+2,人类信息处理能力的限度2022-8-6C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2)软件工程基本定理最小成本区M模块成本接口成本总成本软件开发工作量 模块数 2022-8-6 每个模块的实现细节对于其他模块来说是隐藏的。也就是说,模块中所包含的信息是不允许其他不需要 这些

23、信息的模块使用的。2、信息隐藏(information hiding)栈stack置空栈 makenull进栈 push退栈 pop2022-8-63、模块的独立性(module independence)模块的独立性是指软件系统中每个模块只模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。中其他模块的接口是简单的。2022-8-6(1)、内聚(Cohesion)低 高强弱 内聚性模块独立性2022-8-6 偶然性内聚偶然性内聚 M STORE RECN()TO N READ MASTRE FILE A

24、DD 1 TO X 。ABC 当模块内各部之间没有联系,或者即使有联系,这种联系也很松散。则称这种模块为巧合内聚模块。2022-8-6 逻辑性内聚逻辑性内聚 这种模块是把几种功能组合在一起,每次调用时,则由传递给模块的判定参数来确定该模块应执行哪一种功能。调用模块判定读一个记录写一个记录被调用模块2022-8-6SXYZWABCDSXYZW ABCD2022-8-6 信息性内聚信息性内聚 这种模块能完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。符符 号号 表表 查找登录删除修改2022-8-6 功能性内聚功能性内聚 如果一个模块内所有成分都完成一个功能则称这样的模

25、块为功能模块。主控模块录入查询打印低 高强弱 内聚性模块独立性2022-8-6(2)、耦合 耦合性是程序结构中各个模块之间相互关联的度量它取决于各个模块之间接口的复杂程度、调用模块的方式以及那些信息通过接口。低 高弱 强耦合性模块独立性2022-8-6 公共耦合公共耦合 允许一组模块访问同一全局性的数据结构。全局全局数据区数据区ABCDEFB、C、E 为公共耦合2022-8-6 控制耦合控制耦合 如果一个模块通过传送开关、标志、名字 等控制信息,明显地控制选择另一模块的功能 就是控制耦合。A 模块flagf1Bf2fn 2022-8-6 以上给出了 7种耦合类型,这只是从耦合 的机制上所做的分

26、类,按耦合的强弱程度的排 列只是相对的关系。但它给设计人员在设计程 序结构时提供了一决策准则。实际上,开始时 两个模块之间的耦合不只是一种类型,而是多 种类型的混合。这就要求设计人员按照实际情 况进行分析、比较和分析,逐步加以改进,以 提高模块的独立性。2022-8-64.5 结构化设计方法结构化设计方法(SD-Structured Design)结构化设计方法是基于模块化、自顶向模块化、自顶向下细化、结构化程序设计下细化、结构化程序设计等程序设计技术基础发展起来的。它所提供的方法和原则,主要是用来指导软件的概要设计。它还提供了一种“结构图”的描述工具,是专门用来描述软件的总体结构的。2022

27、-8-6 结构化设计属于面向数据流 的设计方法。在软件的需求分析阶段,数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入端向输出端,则要经历一系列的变换或处理。用来表现这个过程的数据流(DFD),实际上就是软件系统的逻辑模型。面向数据流的设计要解决的任务,就是在上述需求分析的基础上,将DFD图 映射(Mapping)-软件系统的结构。换句话说,这类设计方法,允许把用 DFD图表示的系统逻辑模型,很方便地转换成对于软件结构的初始设计描述。结构化设计方法中,软件的结构一律用 图来描述。2022-8-6结构化设计的目的 使程序的结构尽可能反映要解决的问题的结构结构化设计的任务 完成目标系

28、统的系统结构图()2022-8-6目标系统的DFDSC 图-Structured Chart 该图常用来表示系统的软件结构。利用它可以清楚地表达软件结构中模块间的层次调用关系和模块之间的联系。SD目标系统的SC2022-8-6ASC 图中的主要内容图中的主要内容1、模块-在SC图中用矩形框表示,并用名字来标记它-模块调用关系2、模块的调用关系和接口B调用模块调用模块A(查询学生)B(查找学生记录)数据信号控制信号学号查找成功信号-模块间接口的表示2022-8-6产生最佳解产生最佳解得到好的输入得到好的输入计算最佳解计算最佳解输出结果输出结果读输入读输入编辑输入编辑输入好输入好输入解解原始输入原

29、始输入编辑结果结果格式化结果格式化显示结果显示结果解格式化的解SC 图的一般格式图的一般格式2022-8-61、在系统结构图中的模块一、典型的系统一、典型的系统结构形式结构形式原子模块:在系统结构图中通常是指不能再分割的底层模块 完全因子分解系统 如果一个软件系统,它的全部实际加工(即数据计算或处理)都是由底层的原子模块来 完成,而其它所有非原子模块仅仅执行控制或 协调功能。2022-8-6传入模块AA传入模块 从下属模块取得数据,进行某些处理,再将其结果 传给上级模块。在此,将它传送的数据流称为逻辑输入 数据流。在系统结构图中有四种类型的模块:逻辑输入数据流成绩录入成绩录入 2022-8-6

30、传出模块 从上级模块获得数据,进行某些处理,再将其结果 传给下属模块。在此,将它传送的数据流称为逻辑输出 数据流。传出模块DD逻辑输出数据流成绩输出成绩输出 2022-8-6变换模块 也叫加工模块。它是从上级模块获得数据,进行 特定的处理,将其转换为其他形式,再传回上级模块 它所加工的数据流叫做变换数据流。变换模块CB变换数据流2022-8-6协调模块 对所有下属模块进行协调和管理的模块。在一个 好的系统结构图中,协调模块应在较高层出现。协调模块YXYX2022-8-62、典型的系统结构形式之一(变换型系统结构图)取得数据iaeo变换数据给出数据传入部分变换中心传出部分-具有变换型数据流图20

31、22-8-6主模块C变换成D取得C给出D取得BB变换成CD变换成E给出E取得AA变换成BAABBBCCDCDED取得数据CD变换数据给出数据协调模块变换模块传出模块-具有变换型系统结构图DFD-SC2022-8-63、典型的系统结构形式之二(事务型系统结构图)“事务”引起、触发或启动某一动作或一串动作的任何数据、控制信号、事件或状态的变化。由它接受一项事务,根据事务处理的特点和性质 选择分配一个适当的处理单元,然后给出结果。2022-8-6输入-事务型 数据流图ABCDEFGH中心变换输出逻辑输入物理输入逻辑输出物理输出2022-8-6ABCDEFGHMT3逻辑输入逻辑输出CDCD,E,F-事

32、务型 数据流图(DFD)-事务型 系统结构图(SC)2022-8-6事务中心输入已分析的作业内部表示的作业结果-事务型系统结构(层次)图输出结果调度作业信息读入作业分析作业事务1事务2事务3事务4操作2操作3 操作4 操作5操作6操作1细节2细节3 细节4 细节5细节6细节1细节7结果2022-8-6-简化的事务型系统结构图事务中心得到作业 作业结果输出结果分析 调度事务1事务2事务32022-8-6二、从二、从 DFD 图导出图导出 SC图的步骤图的步骤开 始细化修改SRS中的DFD图判断DFD图的结构类型 是变换型吗?F事务分析变换分析完善SC 图T对最终的SC 图进行评审结束2022-8

33、-61、变换分析-是将具有变换型的DFD图导出SC图2022-8-6在 图上标出逻辑输入、逻辑输出和变换中心的分界abdvrp变换中心变换中心c,e 逻辑输入w,u 逻辑输出-具有变换型数据流图2022-8-6完成第第一级分解abvrpdeMcMAMTMEC,eC,eU,wU,w变换中心变换中心顶层第一层第一级分解后的 SC 图协调模块YXYX2022-8-6abvrpde第一级分解后的 SC 图(另一种画法)McMA1ME1C eU MA2QPRME2e c,p pr r w,uw2022-8-6完成第第二级分解abvrpdeMA变换中心变换中心对逻辑输入的分解CEBADabdeccbaAB

34、CMAEDde 逻辑输入模块的调用与执行过程2022-8-6MACEBADabdecMAGet CGet EBtoCAtoBDtoEaecReadDGet BRead Ac,eabbbcde2022-8-6abvrpdeME变换中心变换中心对输出的分解WUVvuwMTQPR eC,prU,w对变换中心加工的分解 prw,u2022-8-6MACBAEDMTQPR从变换分析导出的初始 SC 图MEWUVMCc,eW,uW,uC,e获得完整的 图2022-8-6运用变换分析方法建立系统的SC时需注意以下几点:2022-8-6主模块主模块ABCA1A2A3A11A12A132022-8-6低 高强弱

35、 内聚性模块独立性低 高弱 强耦合性模块独立性 具有高内聚低耦合的模块才是模块独立性比较强的模块。2022-8-6 具有高内聚低耦合的模块才是模块独立性比较强的模块。模块A模块D模块C模块B非直接耦合通过参数表通过参数表传递传递数据数据(数据耦合数据耦合)通过参数表通过参数表传递传递数据结构数据结构(数据耦合数据耦合)具有松散型 的耦合类型 2022-8-6请将上列给出的具有变换型的DFD图导出它的SC图a1a2b1c1c1p1P2 2022-8-62、事务分析-是将具有事务型的DFD图导出SC图事务中心事务源2022-8-6主模块给出H取得ALMNA GHBECF D2022-8-6发送部分

36、书库保管员F2F1F5F6F72022-8-6发送部分-采购子系统的 SC 图-2022-8-6三、软件模块结构的改进三、软件模块结构的改进一、模块功能的完善化2022-8-6 二、消除重复功能,改善软件结构。2022-8-6物理输入相似部分相似模块的各种合并方案的示意图2022-8-6 三、模块的作用范围应在控制范围之内。2022-8-62022-8-6 一个模块的作用范围,是指受这个模块中的判定所影响的模块。关于模块的作用范围/控制范围的关系示意图 2022-8-6 理想的情况,应该使判定的作用范围和判定所在模块的控制范围尽可能地吻合(即应使模块的作用范围尽可能地在控制范围之内)。对于一个

37、理想 SC图中的模块设计,所有受到一个判定影响的模块应该都从属该判定所在的模块,最好位于作出判定的那个模块本身及它的直接下属模块。2022-8-6计算实发工资取得工资数据工人实发工资工人实发工资人员实发工资计时制工资额税收扣款薪金制工资额常规扣款编外人员 工资编外人员税款编外人员扣款2022-8-6 四、尽可能地减少高扇出结构,随着深度增大扇入。扇入:指模块的上级模块数。(即共有多少个模块需要 调用这个模块)扇出:指模块调用其下属模块 数目。调用的下属模块数应控制在小于3-4个模块。2022-8-6PP1P2Q1Q2Q3Q2022-8-6 五、模块的大小要适中。50-100 模块的大小,可以用

38、模块中所含语句的数量的多少来衡量。2022-8-6 六、应设计出功能可预测的模块,但要避免过分受限制的模块。2022-8-6发送部分2022-8-6发送部分请完成下列描述的DFD图,导出它的SC图 美国某大学共有美国某大学共有200200名教师,校方与工会刚刚签定一名教师,校方与工会刚刚签定一 项协议按照协议,所有年工资项协议按照协议,所有年工资=$26,000=$26,000的教师工资将保的教师工资将保 持不变,年工资持不变,年工资$26,000$26,000的教师将增加工资,的教师将增加工资,所增加的所增加的 工资数按下述方法计算:工资数按下述方法计算:给每个由此教师所赡养的人给每个由此教

39、师所赡养的人(包括教师本人包括教师本人)每年补每年补 助助$100$100,此外,教师满一年工龄的再多补助,此外,教师满一年工龄的再多补助$50$50,但是增,但是增 加后的年工资总额不能多于加后的年工资总额不能多于$26,000$26,000。教师的工资档案储存在行政办公室的磁带上,教师的工资档案储存在行政办公室的磁带上,档案档案 中有目前的年工资、赡养人数、雇用日期等信息。中有目前的年工资、赡养人数、雇用日期等信息。2022-8-6发送部分请将上列给出的 DFD图导出它的SC图2022-8-6 第五章第五章 详细设计描述的工具详细设计描述的工具5.1 详细设计阶段的目的与任务 详细设计的目

40、的 为软件结构图(SC)中的每一个模块确定采用的算法和模块内 数据结构,用某种选定的表达工具给出清 晰的描述。详细设计阶段的主要任务 编写软件的“详细设计说明书”2022-8-6需求分析需求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期2022-8-6详细设计阶段的主要任务为每一模块确定算法确定每一模块使用的数据结构确定模块的外部接口和用户界面为每一模块设计一组测试用例2022-8-6描述工具程序流程图 图 图 伪代码5.2 详细设计阶段的描述工具2022-8-6A1、顺序型

41、一、程序流程图 B几个连续的加工依次序排列expFTA B2、选择型 由某个判断式的取值决定选择两个加工中的一个。2022-8-63、当型循环型 当循环控制条件成立时,重复执行特定的加工。FT4、直到型循环型 重复执行特定的加工,直到循环控制条件成立时。FT2022-8-65、多情况选择型 列出多种加工情况,根据控制变量的取值,选择执行其一。FTTTFF2022-8-6-具有嵌套形式的程序流程图FTTTFF入口FTFT=1=2=32022-8-6 标准化程序流程图规定符号 起止端点 输入/输出 一般处理 准备或预处理 预定义处理 条件判断 循环上界 循环下界 文件或文档 外接 内接 流程线虚线

42、 省略线 并行方式 注解或注释2022-8-6 流程符号的使用规则 1、循环符号的使用 循环名进入循环条件循环体 循环名 S=S+i S=0S=S+iS=0,i=1i=i+1 循环体-循环流程符号的使用 2022-8-6 2、判断有一个入口,但也允许有多个可选出口 A=B AB x=1 x=2 x=3 x=4=1=2=3=4=5-多出口判断流程符号的使用 2022-8-6 请利用程序流程图描述下列问题的程序结构 某汽车修配厂,有一个存有汽车零件的仓库,其中存有若干种零件,请编写一个查询程序,用于查询该库中某零件的库存量为多少。设该模块为 查询模块。请设计该模块的 程序结构。具体要求:1、应具有

43、重复查询功能;2、应具有数据检测功能;3、请利用程序流程图描述该模块的算法。2022-8-6 顺序型二、图A B 选择型-Nassi and Shneideman BpFTA ApFT p=1=2=n A1 A2 An do while(p)S do until(p)S 当型循环型 直到型循环型 多分支选择型 2022-8-6建立零件库(s数组),i=0 输入零件号 x do while(x!=s0i)i+i+x=s0i)Y N s0i输出 s1i 输入错误!继续查询?Y N 跳出循环 2022-8-6三、图 直到型循环型A BAB A While P SUntil P S 当型循环型 顺序型

44、 选择型A1 A2An 多分支选择型循环型-Problem Analysis Diagram2022-8-6s17s22=0while num(1-1000)输入 age s17+s18+s19+s20+s21+s22+while i(17-22)输出 sibeginend2022-8-6 请为学生成绩管理系统中的学生成绩统计模块设计程序结构。要求:1、统计各专业、各班级的高等数学平均分;2、并将统计结果输出;3、按平均成绩以班级为单位由高到低排序;4、请利用PAD图描述该模块的算法。2022-8-6四、-Program Ddesign Language是一种用于描述功能模块的算法设计和加工细

45、节的语言。称为设计程序用语言。它是一种伪代码(Pseudo code)-关键词+自然语言2022-8-6(1)、数据说明:格式:TYPE AS 其功能是定义数据的类型和作用域说明:1.变量名:是一个模块内部使用的变量或模块间共用 的全局变量名。2.限定词1:标明数据类型 3.限定词2:标明该变量的作用域 TYPE number AS STRING LENGTH(12)2022-8-6(2)、程序块:PDL的过程成分是由块结构构成的,而块将作为一个单个的实体来执行。BEGIN END2022-8-6(3)、子程序结构:把 PDL 中的过程称为子程序。PROCEDURE INTERFACE END

46、2022-8-6(4)、基本控制结构:IF THEN ;ELSE ;ENDIF-选择型结构 2022-8-6 DO WHILE ;ENDDO REPEAT UNTIL ;ENDREP-重复型结构 2022-8-6 DO LOOP ;EXIT WHEN ENDLOOP DO FOR ;ENDFOR-重复型结构 2022-8-6-多路选择结构 CASE OF;WHEN SELECT;WHEN SELECT;DEFAULT:缺省或错误case:;ENDCASE2022-8-6 READ/WRITE TO -输入/输出结构 2022-8-6 Enter a vector Set Maximum to

47、the value of the first element in the vector DO for each second one to the last IF value of THEN element is greater than the Maximum value Set Maximum to value of the element ENDDO Print the Maximum valueInput array AMax=A(1)DO for I=2 to N IF MaxA(I)Set Max=A(I)ENDIFENDDOPrint Max2022-8-6 设某模块的功能是:

48、读入任意长的设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课输出一个单词表,并指出每个单词在课 文中所出现的次数。文中所出现的次数。请按下列给出的文字要求,用 PDL 描述其该模块的算法2022-8-6请将下列的 PDL 表示的某模块的过程性描述,改为用:1、N-S 图 2、PAD 图表示2022-8-62022-8-6第六章第六章 程序编码程序编码 编码的目的 是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书写的源程序(源代码)模块的过程性描述 (不可执行的)源程序(可执行的)编码6.1 编码

49、的目的2022-8-6编码要求结果 名次评判 项目Winberg 的程序实验结果2022-8-6 结构化程序设计是一种设计程序的技术,它采用自顶向下逐步细化的设计方法和单入口(Single entry)单出口(Single exit)的控制结构。这种控制结构包括有:顺序、选择和循环。6.2 结构化程序设计(Structured Programming)2022-8-6 for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;a=20b%3=1 b+=3 a+b-=5TFFT a=0,b=1单入口 M1单出口2022-8-6ABA,B,CBCAC打印

50、BFTFTTF打印C打印A If(A.LT.B)goto 120 If(B.LT.C)goto 110100 write(6,*)C goto 140 110 write(6,*)B goto 140 120 If(A.LT.C)goto 130 goto 100 130 write(6,*)A 140 continue -单入口多出口结构 M22022-8-6无节制地使用了GOTO语句所产生的程序流程 M 2022-8-6 一、结构化程序设计的原则1 1、使用语言中的顺序、选择、重复等有限的基本控制结构表示程序2、选用的控制结构只准许有一个入口和一个出口 3、程序语句组成容易识别的块(Blo

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|