您好,欢迎访问三七文档
LOGOEmail:liangsun@dlut.edu.cn大连理工大学计算机科学与技术学院1软件工程主讲:孙亮第3章课程回顾1.总结、领会结构化分析方法、实体-联系图、状态转换图以及其他图形工具的逻辑建模用法2.结合实例和国家标准,深入领会需求规格说明书的写法3.知识点结构2第3章课程回顾4知识点总结软件客户-包括提出要求、支付款项、选择、具体说明或使用软件产品的项目风险承担者(stakeholder)或是获得产品所产生结果的人模型-对对象系统的形式化的特征抽象,概括性或近似地表示结构化分析方法(StructuredAnalysis,SA)-70年代中期提出的一种面向数据流、自顶向下、逐步求精进行需求分析的方法3第3章课程回顾各种需求分析方法所应遵循的准则包括必须理解并描述问题的信息域,建立数据模型必须定义软件应完成的功能,建立功能模型必须描述作为尾部时间结果的软件行为,建立行为模型必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节4第3章课程回顾需求分析的具体任务包括:1.确定软件系统的综合需求2.分析系统的数据要求•用E-R图、层次方框图等工具建立数据模型3.导出软件系统的逻辑模型:•用数据流图、ER图、状态转换图等工具建立逻辑模型4.修正系统的开发计划5.验证软件需求分析的正确性6.编写软件需求规格说明书5第3章课程回顾软件的综合要求一般包括内容1.功能需求:系统必须提供的服务2.性能要求:系统必须满足的定时约束或容量约束等3.可靠性和可用性需求4.出错处理需求:系统对环境错误应该怎样响应5.接口需求:系统与其他的环境通信格式要求6.约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件:精度/工具/语言/设计/标准/平台6第3章课程回顾7.逆向需求:说明软件系统不应该做什么8.将来可能提出的要求需求获取的常用方法访谈面向数据流自顶向下求精简易的应用规格说明技术7第3章课程回顾需求分析阶段中常用的模型主要有:数据流图(DFD):用于建立功能模型实体-联系图(ERD):用于建立数据模型类图:用于建立结构模型时序图:用于建立行为模型状态图:用于建立行为模型协作图:用于建立行为模型8第3章课程回顾结构化分析方法中使用的主要建模工具结构化分析方法中使用的建模工具主要包括:数据流图、数据字典、结构化英语、判定标和判定树数据模型的画法数据模型也称ER模型,它包括三要素:数据对象、数据属性和数据联系数据对象:存在且可区分的事物,用矩形框表示数据对象是指具有一系列不同性质或属性的事物,仅具有单个值的事物不是数据对象9第3章课程回顾属性定义了实体或联系所具有的性质。用圆角举行/椭圆形表示联系表示数据对象彼此之间相互连接的方式联系可以是一对一、一对多、多对多。用菱形框表示联系也可以有属性状态转换图的画法简称状态图通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为10第3章课程回顾状态图包括3个主要状态,即•初态/初始状态:仅1个,用实心圆表示•终态/最终状态:0-N个,用一对同心圆(内圆为实心圆)表示•中间状态/用圆角矩形表示状态图可以表示系统循环运行过程,这时不关系如何启动该状态状态图可以表示系统单程生命期,这时需标明初始状态和最终状态11第4章总体设计4.1设计过程4.2设计原理4.3启发规则4.4描绘软件结构的图形工具4.5面向数据流的设计方法4.6体系结构设计优化4.7总体设计报告书写12第4章总体设计总体设计又称为概要设计或初步设计开发阶段的开始:“怎么做?”基本目的:“概括地说,系统如何实现?”确定系统中每个程序由哪些模块组成以及这些模块相互间的关系13第4章总体设计在总体设计阶段,主要任务:划分物理元素:•物理元素内容包括:程序/文件/数据库/人工过程和文档等•物理元素分解程度:黑盒子级确定软件结构:•整个软件的程序组成144.1设计过程•每个程序的模块组成•模块之间的关系总体设计的必要性全局性分析,选最佳方案和最合理的软件结构总体设计过程分两个阶段系统设计:确定系统的具体实现方案结构设计:确定软件结构154.1设计过程实施总体设计的过程包括9个步骤:1.设想供选择的方案:•从数据流图(DFD)出发•区分各种处理、并分组•考虑各种处理的实现策略•设想、列出方案,但不评价164.1设计过程实际例讲评:《口算高手》部分方案选择174.1设计过程[1]输入数据类型的选择unsignedpara1,para2,output;unsignedpara1,para2,intoutput;intpara1,para2,output;intpara1,para2,longintoutpout;[2]试题数据保存方法的选择选用数组临时保存st_para1[100],st_para2[100],st_output[100]选用Delphi自带数据库选Foxpro/Oracle数据库/SQLserver等……184.1设计过程实例讲评:《客房管理系统》局部方案选择194.1设计过程[1]预定请求类型的选择只接受电话预定只接受网上预定只接受上门预定接受上述三种方案的任意组合预定[2]夜审时间与餐费列入方法的确定中午12点早晨8点餐费列入住宿费……204.1设计过程2.选取合理的方案分析员应提供的相关资料•系统流程图•物理元素清单•成本效益分析•进度计划考虑需求规格说明书要求,并征求用户意见214.1设计过程实例讲评:《口算高手》系统流程图224.1设计过程实例讲评:《口算高手》物理元素清单一个程序六个模块:输入模块、校验模块、退出模块、计算模块、打印模块、显示模块实例讲评:《口算高手》成本/效益分析:略实例讲评:《口算高手》实现进度计划可行性分析:0.5天,需求分析:0.5天总体设计:1天,详细设计与编码:1天软件测试:3天,文档资料编写、审议:1天234.1设计过程3.推荐最佳方案系统分析员推荐最佳方案用户和专家审查通过使用部门负责人认可完成系统设计,进入结构设计以上为总体设计过程的系统设计阶段244.1设计过程4.功能分解先结构设计:确定模块组成、相互关系。属于总体设计确定软件有哪些模块组成模块之间的关系后过程设计:确定每个模块的处理过程。属于详细设计分解后的每个功能对于程序员而言,是明显易懂的254.1设计过程实例讲评:《口算高手》模块组成264.1设计过程5设计软件结构:用层次图或结构图来描述6.设计数据库:模式设计:•确定物理数据库结构•满足第三范式•关系数据库模型•解决数据库管理系统的结构约束274.1设计过程实例讲评:《路灯管理系统》部分层次图284.1设计过程实例讲评:《路灯管理系统》数据库结构实例294.1设计过程子模式设计:用户使用的数据视图:非物理数据直接反映的数据完整性和安全性设计•内容完整性•使用安全性•操作安全性优化:模式和子模式的优化:利于存取304.1设计过程实例讲评:国家标准《数据库设计说明书》1引言1.1编写目的•说明编写这份数据库设计说明书的目的,指出预期的读者1.2背景说明•说明待开发的数据库的名称和使用此数据库的软件系统的名称•列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)31补充:数据库设计说明书(GB8567-88)主要内容1.3定义•列出本文件中用到的专门术语的定义、外文首字母组词的原词组1.4参考资料•列出有关的参考资料–本项目的经核准的计划任务书或合同、上级机关批文–属于本项目的其他已发表的文件–本文件中各处引用到的文件资料,包括所要用到的软件开发标准–列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源32补充:数据库设计说明书(GB8567-88)主要内容2外部设计2.1标识符和状态•联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或暂时使用的,则要说明这一特点及其有效时间范围2.2使用它的程序•列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号33补充:数据库设计说明书(GB8567-88)主要内容2.3约定•陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个问卷、纪录、数据项的命名约定等2.4专门指导•向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条34补充:数据库设计说明书(GB8567-88)主要内容2.5支持软件•简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修改、更新数据库的程序等•说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许的数据容量等•列出这些支持软件的技术文件的标题、编号及来源35补充:数据库设计说明书(GB8567-88)主要内容3.结构设计3.1概念结构设计•说明本数据库将反映的显示世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、纪录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图3.2逻辑结构设计•说明把上述原始数据进行分解、合并后重新组织起来的数据库全逻辑结构,包括所确定的关键字和属性、重新确定的纪录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图36补充:数据库设计说明书(GB8567-88)主要内容3.3物理结构设计•建立系统程序员视图,包括:–数据在内存中的安排,包括对索引区、缓冲区的设计–所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分–访问数据的方式方法37补充:数据库设计说明书(GB8567-88)主要内容4.运用设计4.1数据字典设计•对数据库设计中涉及到的各种项目,如数据项、纪录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑4.2安全保密设计•说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑384.1设计过程7制定测试计划测试方法选择:白盒测试/黑盒测试测试内容设计:模块测试/功能测试/性能测试测试条件:人员/设备/。。。测试用例设计测试人员安排测试时间进度实例讲评:国家标准《测试计划》39LOGO40
本文标题:软件工程学概述11
链接地址:https://www.777doc.com/doc-3374304 .html