当前位置首页 > 计算机 > 架构及软件工程
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

软件工程课件第三章.ppt

文档格式:PPT| 63 页|大小 406.50KB|积分 15|2020-08-03 发布|文档ID:15029191
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 63
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 3 .1 .1 确定对系统的综合要求,1系统功能要求 提出系统必须完成的全部功能,并完整的划分出来通常以层次图的形式表示2系统性能要求, 响应速度 精度 存储容量,3. 可靠性和可用性需求 4出错处理需求 5接口需求 6约束 7逆向需求 8将来可能提出的要求,,312 分析系统的数据要求, 建立E-R模型 对数据结构进行规范化 利用图形工具辅助描绘数据结构 常用的图形工具有: 层次方框图 Warnier 图,,313 导出系统的逻辑模型,根据前两项任务的结果给出: 数据流图 实体-联系图 状态转换图 数据字典 主要的处理算法描述,,第三章 需求分析,主要内容,需求分析的任务 获取需求的方法 数据、功能和行为模型 图形工具 验证软件需求,需要重点掌握的:, 需求分析的任务 描述数据、功能和行为的三个模型 IPO图(输入处理输出图),定义时期: 问题定义 可行性研究 需求分析 开发时期: 总体设计 (设计) 详细设计 编码和单元测试 综合测试 维护时期: 软件维护,软件生命周期,基本任务: 准确回答“系统必须做什么”1) 理解描述问题的信息域,建立数据模型(E-R图)。

    (2) 定义软件应完成的功能,建立功能模型(数据流图+数据字典) (3) 描述作为外部事件结果的软件行为,建立行为模型(状态转换图) (4) 对描述信息、功能和行为的模型,用层次的方式展示细节需求分析方法必须遵守的准则:,1确定对系统的综合要求 2分析系统的数据要求 3导出系统的逻辑模型 4修正系统的开发计划,3.1 需求分析的任务,32 与用户沟通获取需求的方法,1. 访谈 2. 面向数据流自顶向下求精 3. 简易的应用规格说明技术 4. 快速建立软件原型,321 访谈, 采用正式和非正式两种形式的访谈 使用情景分析技术,,好处在于 : 便于用户理解 保证用户积极主动322 面向数据流自顶向下求精,求精过程如图所示:,,是一种面向团队的需求收集方法 分析需求的过程: 由开发者和用户分别写出“产品需求”; 针对每个议题创建意见一致的列表; 为每张列表中的项目制定小型规格说明,制定出产品的确认标准 ; 创建出意见一致的确认标准起草完整的软件需求规格说明书323 简易的应用规格说明技术,,目的: 尽快提供可运行的目标系统的模型,以使用户和开发者在 “做什么”这个问题上尽可能快地达成共识。

    要点: 实现用户看得见的功能,省略目标系统的“隐含”功能 应具备的特性: “快速”、“容易修改”,324 快速建立软件原型,常用的方法和工具:,(1) 第四代技术,(2) 可重用的软件构件,(3) 形式化规格说明和原型环境,33 分析建模与规格说明,需求分析阶段需要建立3种模型: 数据模型:实体-联系图 功能模型:数据流图 行为模型:状态转换图,331 分析建模,332 软件需求规格说明,是需求分析阶段最主要的文档34 实体-联系图,是一种面向问题的数据模型 对象:可由一组属性来定义的实体 属性:对象或联系所具有的性质 联系:对象之间相互连接的方式基本要点: 用矩形框表示实体型 用椭圆框表示实体的属性 用菱形框表示实体间的联系,关系模型: 职工(职工号,姓名,年龄,性别,部门号) 部门(部门号,名称,经理),关系模型:供应者(供应者号, , ) 工程(工程号, , ) 零件(零件号, , ) 供应(供应号,工程号,零件号,供应量),E-R图:,商店(商店号, 商店名, 地址, 经理) 职工(职工号, 姓名,性别,商店号,来店时间) 商品(商品号, 商品名, 产地, 价格) 销售(职工号,商品号, 销售数量) 经营(商品号,商店号,月销量),对应的关系模式如下:,35 数据规范化,为减少数据冗余,避免插入异常、删除异常,简化修改数据的过程,应该对数据进行规范化。

    通常用范式定义消除数据冗余的程度 第一范式:每个属性都必须是原子值 第二范式:每个非码属性都完全函数依赖于码 第三范式:每个非码属性不传递依赖于码例:描述学校的数据库: 学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程号(Cno) 成绩(Grade),Student, 更新异常 数据冗余 ,更新数据时,维护数据完整性代价大 例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组, 数据冗余太大 浪费大量的存储空间 例:每一个系主任的姓名重复出现, 插入异常 该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库 删除异常 不该删除的数据不得不删 例,如果某个系的学生全部毕业了, 我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了结论: Student关系模式不是一个好的模式 “好”的模式: 不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少 原因: 由存在于模式中的某些数据依赖引起的属性组U上的一组函数依赖: F Sno Sdept, Sdept Mname, (Sno, Cno) Grade ,Student(Sno, Sdept, Mname, Cno, Grade),关键字: (Sno, Cno) 属于第一范式,即:对上述关系模式,通过投影,分解为 如下三个关系模式: 学生:S(SNO,SDEPT) SNOSDEPT ; 选课:SG(SNO,CNO,G) (SNO,CNO)G; 系:DEPT(SDEPT,MNAME) SDEPTMNAME ; 所有的异常都会得到解决。

    解决方法: 通过分解关系模式来消除其中不合适的数据依赖规范化就是将较低一级范式的关系模式通过分解,转换为若干个较高一级范式的关系模式集合规范化,计算机储蓄系统数据流图,计算机储蓄系统的实体-联系图,M,N,36 状态转换图,通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为 1状态 系统在某个特定阶段所具有的行为模式 有:初态、终态和中间状态 一张状态图上只能有一个初态,而终态可以有0至多个3符号,2事件 是在某个特定时刻发生的事情,是引起系统动作或状态转换的控制信息初始状态,中间状态,最终状态,当描绘单程生命期时,需要标明初始状态和终止状态活动表的语法格式: 事件名 / 动作表达式 常使用的标准事件名有: entry: 指定进入该状态的动作 do: 指定在该状态下的动作 exit: 指定退出该状态的动作,事件表达式的语法格式: 事件说明 守卫条件 / 动作表达式 守卫条件为真时:发生状态转换电梯的状态转换图,客房的状态转换图,象棋比赛状态转换图,用完CPU时间,进程的状态转换图,当有多个申请占用CPU运行的进程时, 有关CPU分配的进程的状态转换。

    中断事件,中断已处理,分配CPU,37 其它图形工具, 层次方框图 Warnier图 IPO图,(输入/处理/输出图的简称),用树型结构描绘数据的层次结构371 层次方框图,层次结构图(层次图),层次方框图与层次结构图的区别,层次方框图: 描述系统数据的层次结构 图中的连线表示数据的组成关系层次结构图:(层次图、功能模块图) 描述系统的软件结构 图中的连线表示模块的调用关系372 Warnier图,可以表明信息的逻辑组织表示同一类信息,异或: 表明在一定条件下才出现,而且上、下方不能同时出现,,代表每种软件的数量,373 IPO图,是一种描绘输入数据、对数据的处理和输出数据之间关系的图形工具IPO图描绘的不是数据结构, 而是算法与输入输出数据之间的关系, 以及算法处理的过程改进的IPO图(表):,增加了一些附加信息38 验证软件需求, 从哪些方面验证软件需求的正确性 1.一致性 2.完整性 3.现实性 4.有效性, 验证软件需求的方法,1. 验证需求的一致性 形式化的描述方法,用软件工具验证 2. 验证需求的现实性 参照以往经验,分析现有技术实现的可能性 3. 验证需求的完整性和有效性 使用原型的方法。

    用于需求分析的软件工具,软件工具应该满足下列要求: 1有形式化语言 2能导出详细的文档 3提供分析手段,指明分析的结果 4能够改进通信状况典型代表: PSL/PSA 问题陈述语言/问题陈述分析系统,(1)描述任何应用领域的信息系统 (2)创建数据库,保存对系统的描述符 (3)对描述符施加增、删、改操作 (4)产生格式化文档及各种分析报告优点: 改进了文档质量,保证文档具有完整性、一致性、无二义性,从而减少管理和维护费用便于增、删、改PSL/PSA的主要功能:,本章小结,需求分析的根本任务是确定系统必须做什么 具体任务: 1. 确定系统的综合要求; 2. 分析系统的数据要求; 3. 导出系统的逻辑模型; 4. 修正开发计划是发现、求精、建模、规格说明和复审的过程 访谈 面向数据流自顶向下求精 面向团队的需求收集法 快速原型法 建立模型的方法,需求分析阶段的主要方法有:, 软件需求规格说明书 数据流图 实体-联系图 状态图 数据字典 IPO图、层次方框图、Warnier图为减少冗余,简化修改,还需要对数据结构进行规范化需求分析阶段的主要文档有:,第三章 复习要点,1. 为什么要进行需求分析?通常对软件有哪些需求? 2. 需求分析阶段有哪些任务?获取需求通常采用哪些方法? 3. 描绘系统精确的逻辑模型,通常需要建立哪些模型?简述各模型的作用。

    4. 层次方框图、Warnier图的作用是什么?二者有何区别? 5. 什么是IPO图?IPO图的作用是什么? 6. 验证软件需求需要从哪几方面进行验证?,软件需求说明书1 引言1.1 编写目的:阐明编写需求说明书的目的,指明读者对象1.2 项目背景:应包括 项目的委托单位、开发单位和主管部门; 该软件系统与其他系统的关系1.3 定义:列出文档中所用到的专门术语的定义和缩写词的愿文1.4 参考资料:可包括 项目经核准的计划任务书、合同或上级机关的批文 文档所引用的资料、规范等 列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源 2 任务概述2.1 目标2.2 运行环境2.3 条件与限制,3 数据描述3.1 表态数据3.2 动态数据:包括输入数据和输出数据3.3 数据库描述:给出使用数据库的名称和类型3.4 数据词典3.5 数据采集,,4 功能需求4.1功能划分4.2功能描述 5 性能需求5.1 数据精确度5.2 时间特性:如响应时间、更新处理时间、数据转换与传输时间、运行时间等5.3 适应性:在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力6 运行需求 6.1 用户界面:如屏幕格式、报表格式、菜单格式、输入输出时间等。

    6.2 硬件接口 6.3 软件接口 6.4 故障处理 7 其他需求:如可使用性、安全保密、可维护性、可移植性等文档编写标准化(国家标准) 在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等 软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备 概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。

    用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解, 为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节 测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等 测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见 开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等 项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护 软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档 软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。

    点击阅读更多内容
    卖家[上传人]:maxianhui
    资质:实名认证