软件工程课件第三章.ppt





《软件工程课件第三章.ppt》由会员分享,可在线阅读,更多相关《软件工程课件第三章.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1.1 3.1.1 确定对系统的综合要求确定对系统的综合要求 1 1系统功能要求系统功能要求 提出系统必须完成的全部功能,并完整提出系统必须完成的全部功能,并完整的划分出来。通常以的划分出来。通常以层次图层次图的形式表示。的形式表示。文件管理文件管理 录录入入案卷管理案卷管理 借阅管理借阅管理 打印报表打印报表 备份备份 删删除除修修改改排排序序插插入入 例如例如:档案管理系统档案管理系统2 2系统性能要求系统性能要求 响应速度响应速度 精度精度 存储容量存储容量 3.3.可靠性和可用性需求可靠性和可用性需求4 4出错处理需求出错处理需求 5 5接口需求接口需求6 6约束约束 7 7逆向需
2、求逆向需求8 8将来可能提出的要求将来可能提出的要求 3 31 12 2 分析系统的数据要求分析系统的数据要求 建立建立E-RE-R模型模型 对数据结构进行规范化对数据结构进行规范化 利用图形工具辅助描绘数据结构利用图形工具辅助描绘数据结构 常用的图形工具有:常用的图形工具有:层次方框图层次方框图 Warnier Warnier 图图3 31 13 3 导出系统的逻辑模型导出系统的逻辑模型 根据前两项任务的结果给出:根据前两项任务的结果给出:数据流图数据流图 实体实体-联系图联系图 状态转换图状态转换图 数据字典数据字典 主要的处理算法描述主要的处理算法描述第三章第三章 需求分析需求分析主要内
3、容 需求分析的任务需求分析的任务 获取需求的方法获取需求的方法 数据、功能和行为模型数据、功能和行为模型 图形工具图形工具 验证软件需求验证软件需求需要重点掌握的:需要重点掌握的:需求分析的任务需求分析的任务 描述数据、功能和行为的三个模型描述数据、功能和行为的三个模型 IPOIPO图(输入处理输出图)图(输入处理输出图)定义时期:定义时期:问题定义问题定义 可行性研究可行性研究 需求分析需求分析 开发时期:开发时期:总体设计总体设计 (设计)(设计)详细设计详细设计 编码和单元测试编码和单元测试 综合测试综合测试 维护时期:维护时期:软件维护软件维护软软件件生生命命周周期期基本任务基本任务:
4、准确回答准确回答“系统必须做什么系统必须做什么”。(1)(1)理理解解描描述述问问题题的的信信息息域域,建建立立数数据据模模型(型(E-RE-R图)。图)。(2)(2)定定义义软软件件应应完完成成的的功功能能,建建立立功功能能模模型(数据流图型(数据流图+数据字典)。数据字典)。(3)(3)描描述述作作为为外外部部事事件件结结果果的的软软件件行行为为,建立行为模型(状态转换图)。建立行为模型(状态转换图)。(4)(4)对描述信息、功能和行为的模型,用对描述信息、功能和行为的模型,用层次的方式展示细节。层次的方式展示细节。需求分析方法必须遵守的准则:需求分析方法必须遵守的准则:1 1确定对系统的
5、综合要求确定对系统的综合要求2 2分析系统的数据要求分析系统的数据要求3 3导出系统的逻辑模型导出系统的逻辑模型4 4修正系统的开发计划修正系统的开发计划3.1 3.1 需求分析的任务需求分析的任务 3 32 2 与用户沟通获取需求的方法与用户沟通获取需求的方法 1.1.访谈访谈2.2.面向数据流自顶向下求精面向数据流自顶向下求精3.3.简易的应用规格说明技术简易的应用规格说明技术4.4.快速建立软件原型快速建立软件原型 3 32 21 1 访谈访谈 采用正式和非正式两种形式的访谈采用正式和非正式两种形式的访谈 使用情景分析技术使用情景分析技术 好处在于好处在于 :便于用户理解。便于用户理解。
6、保证用户积极主动。保证用户积极主动。3 32 22 2 面向数据流自顶向下求精面向数据流自顶向下求精 有补充修正有补充修正需要分解需要分解不需分解不需分解 无补充无补充 修正修正分析追踪分析追踪数据流图数据流图用户用户 复查复查细化数细化数 据流图据流图求精过程如图所示:求精过程如图所示:是一种是一种面向团队面向团队的需求收集方法。的需求收集方法。分析需求的过程:分析需求的过程:由开发者和用户分别写出由开发者和用户分别写出“产品需求产品需求”;针对每个议题创建意见一致的列表;针对每个议题创建意见一致的列表;为每张列表中的项目制定小型规格说明,制为每张列表中的项目制定小型规格说明,制定出产品的确
7、认标准定出产品的确认标准;创建出意见一致的确认标准。起草完整的软创建出意见一致的确认标准。起草完整的软件需求规格说明书。件需求规格说明书。3 32 23 3 简易的应用规格说明技术简易的应用规格说明技术 目的:目的:尽尽快快提提供供可可运运行行的的目目标标系系统统的的模模型型,以以使使用用户户和和开开发发者者在在 “做做什什么么”这这个个问问题上尽可能快地达成共识。题上尽可能快地达成共识。要点:要点:实实现现用用户户看看得得见见的的功功能能,省省略略目目标标系系统的统的“隐含隐含”功能。功能。应具备的特性:应具备的特性:“快速快速”、“容易修改容易修改”3 32 24 4 快速建立软件原型快速
8、建立软件原型常用的方法和工具:常用的方法和工具:(1 1)第四代技术第四代技术(2 2)可重用的软件构件可重用的软件构件(3 3)形式化规格说明和原型环境形式化规格说明和原型环境3 33 3 分析建模与规格说明分析建模与规格说明 需求分析阶段需要建立需求分析阶段需要建立3 3种模型:种模型:数据模型:数据模型:实体实体-联系图联系图 功能模型:功能模型:数据流图数据流图 行为模型:行为模型:状态转换图状态转换图 3 33 31 1 分析建模分析建模3 33 32 2 软件需求规格说明软件需求规格说明 是需求分析阶段最主要的文档。是需求分析阶段最主要的文档。3 34 4 实体实体-联系图联系图是
9、一种面向问题的数据模型。是一种面向问题的数据模型。对象:对象:可由一组属性来定义的实体。可由一组属性来定义的实体。属性:属性:对象或联系所具有的性质。对象或联系所具有的性质。联系:联系:对象之间相互连接的方式。对象之间相互连接的方式。1 1:1 1 一对一一对一1 1:m m 一对多一对多m m:n n 多对多多对多基本要点:基本要点:用矩形框表示实体型用矩形框表示实体型 用椭圆框表示实体的属性用椭圆框表示实体的属性 用菱形框表示实体间的联系用菱形框表示实体间的联系1 1m m职工职工部门部门 属于属于职工号职工号姓名姓名年龄年龄性别性别部门号部门号名称名称经理经理关系模型:关系模型:职工(职
10、工(职工号职工号,姓名姓名,年龄年龄,性别性别,部门号部门号)部门(部门(部门号部门号,名称,经理),名称,经理)L Ln nm m供应者供应者工程工程供应供应零件零件供应量供应量关系模型:供应者(关系模型:供应者(供应者号供应者号,)工程(工程(工程号工程号,)零件(零件(零件号零件号,)供应供应(供应号,工程号,零件号供应号,工程号,零件号,供应量),供应量)E-RE-R图:图:商店商店 商品商品 职工职工聘用聘用经营经营销售销售职工号职工号姓名姓名性别性别价格价格产地产地商品名商品名商品号商品号商店号商店号商店名商店名地址地址经理经理月销量月销量1 1n nm mn nm mm m来店时
11、间来店时间商店(商店(商店号商店号,商店名商店名,地址地址,经理)经理)职工(职工(职工号职工号,姓名姓名,性别性别,商店号商店号,来店时间来店时间)商品(商品(商品号商品号,商品名商品名,产地产地,价格价格)销售销售(职工号职工号,商品号商品号,销售数量)销售数量)经营经营(商品号商品号,商店号商店号,月销量),月销量)对应的关系模式如下:对应的关系模式如下:3 35 5 数据规范化数据规范化 为减少数据冗余,避免插入异常、删除为减少数据冗余,避免插入异常、删除异常,简化修改数据的过程,应该对数据进异常,简化修改数据的过程,应该对数据进行规范化。行规范化。通常用通常用范式范式定义消除数据冗余
12、的程度。定义消除数据冗余的程度。第一范式:第一范式:每个属性都必须是原子值。每个属性都必须是原子值。第二范式:第二范式:每个非码属性都完全函数依赖于每个非码属性都完全函数依赖于码。码。第三范式:第三范式:每个非码属性不传递依赖于码。每个非码属性不传递依赖于码。例:描述学校的数据库:例:描述学校的数据库:学生的学号(学生的学号(SnoSno)、所在系()、所在系(SdeptSdept)系主任姓名(系主任姓名(MnameMname)、课程号()、课程号(CnoCno)成绩(成绩(GradeGrade)SnoSnoSdeptSdeptMnameMnameCnoCnoGradeGrade1csm1c1
13、a1csm1c2b2csm1c1b2csm1c3b3mim2c51Student 更新异常更新异常 数据冗余数据冗余 ,更新数据时,维护数据完整性代更新数据时,维护数据完整性代价大。价大。例:某系更换系主任后,系统必须修改与该例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组系学生有关的每一个元组 数据冗余太大数据冗余太大浪费大量的存储空间浪费大量的存储空间例:每一个系主任的姓名重复出现例:每一个系主任的姓名重复出现 插入异常插入异常 该插的数据插不进去该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库
14、。就无法把这个系及其系主任的信息存入数据库。删除异常删除异常 不该删除的数据不得不删不该删除的数据不得不删例,如果某个系的学生全部毕业了,例,如果某个系的学生全部毕业了,我们在我们在删除该系学生信息的同时,把这个系及其系主删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。任的信息也丢掉了。结论:结论:Student Student关系模式不是一个好的模式。关系模式不是一个好的模式。“好好”的模式:的模式:不会发生插入异常、删除异常、更新异不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。常,数据冗余应尽可能少。原因:原因:由存在于模式中的由存在于模式中的某些数据依赖某些数据依赖
15、引起的。引起的。属性组属性组U U上的一组函数依赖上的一组函数依赖:F F Sno Sdept,Sdept Mname,Sno Sdept,Sdept Mname,(Sno,Cno)Grade (Sno,Cno)Grade SnoCnoSdeptMnameGradeStudentStudent(Sno,Sdept,Mname,Cno,Grade)(Sno,Sdept,Mname,Cno,Grade)关键字:关键字:(Sno,Cno)(Sno,Cno)属于第一范式属于第一范式即:即:对上述关系模式,通过投影,分解为对上述关系模式,通过投影,分解为如下三个关系模式:如下三个关系模式:学生:学生:S
16、(SNO,SDEPT)SNOSDEPT S(SNO,SDEPT)SNOSDEPT;选课:选课:SG(SNO,CNO,G)(SNO,CNO)GSG(SNO,CNO,G)(SNO,CNO)G;系:系:DEPT(SDEPT,MNAME)SDEPTMNAME DEPT(SDEPT,MNAME)SDEPTMNAME;所有的异常都会得到解决。所有的异常都会得到解决。解决方法:解决方法:通过分解关系模式来消除其中不合适的通过分解关系模式来消除其中不合适的数据依赖。数据依赖。规范化就是将较低一级范式的规范化就是将较低一级范式的关系模式通过分解,转换为若干个关系模式通过分解,转换为若干个较高一级范式的关系模式集
17、合。较高一级范式的关系模式集合。规范化规范化计算机储蓄系统数据流图计算机储蓄系统数据流图存款存单存款存单存款单存款单1记录存记录存款信息款信息存款信息存款信息2打印存打印存款存单款存单 D1 D1 存款信息存款信息储户储户存款信息存款信息存款信息存款信息利息值利息值3核对核对密码密码存款信息存款信息4计算计算利息利息5打印利打印利息清单息清单储户储户取款单取款单利利息息清清单单计算机储蓄系统的实体计算机储蓄系统的实体-联系图联系图储户储户储蓄所储蓄所存取款存取款姓名姓名住址住址电话号码电话号码身份证号码身份证号码电话号码电话号码名称名称地址地址数额数额类型类型利率利率密码密码到期日期到期日期M
18、N3 36 6 状态转换图状态转换图 通过描绘系统的通过描绘系统的状态状态及引起系统状态转及引起系统状态转换的换的事件事件,来表示系统的行为。,来表示系统的行为。1 1状态状态 系统在某个特定阶段所具有的行为模式。系统在某个特定阶段所具有的行为模式。有:有:初态初态、终态终态和和中间状态中间状态。一一张张状状态态图图上上只只能能有有一一个个初初态态,而而终终态态可以有可以有0 0至多个至多个。状态状态1状态变量状态变量1活动表活动表1状态状态2状态变量状态变量2活动表活动表2 初始事件初始事件事件表达式事件表达式结束事件结束事件3 3符号符号2 2事件事件 是在某个特定时刻发生的事情,是在某个
19、特定时刻发生的事情,是引起系统动作或状态转换的控制信息。是引起系统动作或状态转换的控制信息。初始状态初始状态中间状态中间状态最终状态最终状态 当描绘单程生命期时,需要标明初始当描绘单程生命期时,需要标明初始状态和终止状态。状态和终止状态。活动表的语法格式:活动表的语法格式:事件名事件名/动作表达动作表达式式 常使用的标准事件名有:常使用的标准事件名有:entry:entry:指定进入该状态的动作指定进入该状态的动作 do do:指定在该状态下的动作指定在该状态下的动作 exit:exit:指定退出该状态的动作指定退出该状态的动作事件表达式的语法格式:事件表达式的语法格式:事件说明事件说明 守卫
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件 第三

限制150内