您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程教案-4(第三篇需求建模)
模型(model)模型:现实世界某些重要方面的表示。术语:“抽象”。模型的类型•数学模型•描述模型•图形模型3.3需求建模需求分析的步骤当前系统目标系统物理模型逻辑模型逻辑模型物理模型模型化抽象化具体化实例化怎么做做什么当前系统目标系统需求定义需求分析过程示意学生(1)调查-当前系统的物理模型学生购书申请购书单发票领书单书107张教务科206王会计室206李出纳员303赵教材科学生购买教材的物理模型(2)去掉非本质因素-当前系统的逻辑模型学生购买教材的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型计算机售书系统的逻辑模型学生学生购书单发票领书单审查并开发票开领书单无效书单分析阶段中常用的模型(逻辑模型)•数据流图(DFD)•实体―联系图(ERD)•类图•用例图•状态图•时序图•协作图•事件列表•数据流定义•数据元素定义SafeHome的第1层DFD控制面板与用户交互控制面板显示密码电话号码拨音传感器状态显示信息配置请求用户命令和数据配置系统警铃电话线传感器配置信息显示信息和状态监控传感器激活/不激活系统传感器信息密码处理警告类型检验id信息开始停止状态信息客户保险销售人员签订一份保险单销售统计客户统计使用用例图举例状态图例:状态1Do:活动1状态2.…...事件1[条件1]/动作1结束事件初始事件空闲可视菜单左边按钮按下/显示弹出菜单左边按钮弹起/擦除弹出菜单光标移动/高亮菜单项弹出菜单动作电梯状态图举例在一楼上升停滞下降回到一楼回一楼想要到达楼层想要到达楼层电梯行程开始向上向上向下接电话的顺序图:受话者交换机远程交换机受话者拿起话筒听通话声拨号码......铃响信号铃响铃响停止信号拿起话筒铃响停止10deabc{b-a1}{e-d5}{c-b10}路径合作图举例打印机忙保存打印文件队列计算机打印机空闲打印文件打印机打印服务器打印文件F1:航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4航班号=3{十进制数字}3字母=“A”…“Z”十进制数字=“0”…“9”起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23”分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12”日=“01”…“31”§3.4分析建模方法结构化分析(传统建模方法)面向对象分析§3.4.1结构化分析方法(StructuredAnalysis,SA)基于数据流技术的分析方法分析模型的主要目标描述用户需要建立创建软件设计的基础定义软件完成后可被确认的一组需求分析模型的结构数据字典数据流图E-R图状态变迁图加工规约控制规约数据对象描述分析模型的元素数据字典(DD):模型核心(中心库)E-R图(ERD):数据流图(DFD)指明数据在系统中移动时如何被变换;描述对数据流进行变换的功能;DFD中每个功能的描述包含在加工规约(小说明)。状态变迁图(STD)指明作为外部事件的结果,系统将如何动作。3.4.2数据建模E-R图是数据建模的基础将分析模型转换为软件设计数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描述象数据设计体系结构设计接口设计过程设计分析模型设计模型讨论要点SA方法建立功能模型的描述方法•DFD•DD•其他描述方法3.4.3功能建模和信息流基于计算机的系统输入信息信息流模型输出信息外部实体外部实体外部实体输入信息外部实体外部实体输出信息输出信息一.数据流图(DFD,DataFlowDiagram)描述逻辑模型的图形工具,表示数据在系统内的变化。S2132.22.12.33.13.2顶层(不编号)0层1层SafeHome的控制面板与用户交互SAFEHOMEARMEDPOWER01123456789*0#OFFARAYSTAYMAXTESTBYPASSINSTANTCODECHIMEREADYpanicalarmcheckfireawaystayinstantbypassnotreadySafeHome的第0层DFDSafeHome软件系统用户命令和数据显示信息控制面板传感器传感器状态警铃电话线警告类型电话号码拨音控制面板显示SafeHome的第1层DFD控制面板与用户交互控制面板显示密码电话号码拨音传感器状态显示信息配置请求用户命令和数据配置系统警铃电话线传感器配置信息显示信息和状态监控传感器激活/不激活系统传感器信息密码处理警告类型检验id信息开始停止状态信息监控传感器的第2层DFD电话号码拨音传感器状态配置数据显示格式配置信息产生警告信息拨号评估设置传感器信息读传感器警告类型传感器id类型传感器id类型定位二.数据字典(DD,DataDictionary)数据流、数据存储包括:词条描述数据结构描述加工逻辑说明DD的实现(1)人工方法(2)自动方法(利用字典管理程序)例:数据库字典管理工具2006v2.1.3F1:航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4航班号=3{十进制数字}3字母=“A”…“Z”十进制数字=“0”…“9”起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23”分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12”日=“01”…“31”数据流条目DFD中数据流的定义包括:数据流标识数据流来源数据流去向数据流的数据组成流动属性描述:频率、数据量购书单发票领书单审查并开发票开领书单无效书单学生12各班学生用书表例:数据流条目说明学生教材存量表数据流名:购书单别名:无简述:学生购书时填写的项目来源:学生去向:加工1“审查并开发票”组成:(学号)+姓名+{书号+数量}数据流量:1000次/周高峰值:开学期间1000次/天文件名:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求能够立即查询例:数据存储条目说明数据项名:货物编号别名:G-No,G-num简述:本公司的所有货物的编号类型:字符串长度:10取值范围及含义:第1位:[J|G](进口/国产)第2∼4位:LB01..LB29(类别)第5∼7位:“A00”..“A99”(规格)第8∼10位:“001”..“999”(品名编号)例:数据项条目说明3.小说明(加工逻辑说明的另一种形式)处理名:月票额统计(MHCW713MD)编号:7.1.3激活条件:收到每日售票额信息处理逻辑:1统计月保险金总合月保险金信息=每日日保险金信息之和2统计月合计月合计信息=每日日合计信息之和执行频率:1次/月描述加工逻辑的工具:结构化语言判定表判定树处理名:核实订票处理(MHGP3200MD)编号:3.2激活条件:收到取订票信息处理逻辑:1读订票旅客信息文件2搜索此文件中是否有与输入信息中姓名及身份证号相符的项IF有THEN判断余项是否与文件中信息相符IF是THEN输出已订票信息ELSE输出未订票信息ELSE输出未订票信息执行频率:实时判定表(决策表)描述多条件、多目标动作的形式化工具例:计算机票折扣率旅游时间订票量折扣量7-9,12月≤20≤20202015%5%20%30%条件类别四种条件组合操作条件组合下操作的执行1-6,10,11月处理名:计算折扣率(MHGP534MD)编号:5.3.4激活条件:收到预订票信息处理逻辑:计算折扣率执行频率:实时旅游时间订票量折扣量7-9,12月1-6,10,11月≤20≤20202015%5%20%30%判定树(Decision决策树)条件1条件2结果计7-9,订票量20:15%算12月订票量≤20:5%折扣1-6,订票量20:30%量10,11月订票量≤20:5%二.结构化分析实施步骤1.确定系统边界,画出系统环境图2.自顶向下,画出各层数据流图3.定义数据字典4.定义小说明三.需求规格说明书(SRS)(SoftwareRequirementSpecification)需求分析阶段要完成的文档。SRS的作用:•开发者与用户间事实上的技术合同书•开发者下一步设计和编码的基础•测试验收目标系统的依据SRS大纲(模板)参:软件开发文档•引言•任务概述(项目概述)•数据描述(DFD、DD)•功能描述•接口•性能需求•属性•其它需求四.需求验证(1)正确性(2)无二义性(3)完整性(4)可验证性(5)一致性(6)可理解性(7)可修改性(8)可被跟踪性(9)可跟踪性(10)设计无关性(11)注释需求文档的陈述与改进举例产品必须在固定的时间间隔内提供状态消息,并且每次时间间隔不得小于60秒。后台任务管理器(BTM)应该在用户界面的指定区域显示状态消息。a.在后台任务进程启动之后,消息必须每隔60(10)秒更新一次,并且保持连续的可见性。b.如果正在正常处理后台任务进程,那么后台任务管理器(BTM)必须显示后台任务进程已完成的百分比。c.当完成后台任务时,后台任务管理器(BTM)必须显示一个“已完成”的消息。d.如果后台任务中止执行,那么后台任务管理器(BTM)必须显示一个出错信息。需求不完整,导致需求不可验证改进
本文标题:软件工程教案-4(第三篇需求建模)
链接地址:https://www.777doc.com/doc-3949576 .html