软件工程ch3结构化需求分析与建模_第1页
软件工程ch3结构化需求分析与建模_第2页
软件工程ch3结构化需求分析与建模_第3页
软件工程ch3结构化需求分析与建模_第4页
软件工程ch3结构化需求分析与建模_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章结构化需求分析与建模 主要内容 模型及其作用结构化分析功能模型 数据流图数据模型 实体关系图行为模型 状态转换图数据字典 分析阶段 分析阶段的活动 收集信息定义系统需求划分需求优先级构建可用性和发现原形产生评估各种方案和管理部门一起复查各种建议 分析阶段需要非常详细的定义 信息系统需要完成什么来为公司提供所期望的利润 应该提出多种方案 并选择最优的解决方案 在系统设计阶段 再对选中的方案进行详细的设计 在分析阶段 上述6项活动必须全部完成 并且通常是同时完成 3 1需求分析 需求分析的任务通过软件开发人员与用户的交流和讨论 准确地获取用户对系统的具体要求 用户对系统的需求功能性需求非功能性需求 需求分析的步骤 通过调查研究 获取用户的需求去除非本质因素 确定系统的真正需求描述需求 建立系统的逻辑模型书写需求说明书 进行需求复审 需求分析的原则 能够表达和理解问题的数据域和功能域能够将复杂问题分解化简能够给出系统的逻辑表示和物理表示 获取需求的方法 通过需求 详细 调查 获取需求需求 详细 调查的内容 组织概况 组织结构图组织的业务活动 组织的业务状态 业务的详细内容 业务 系统 流程图输入输出信息 信息流向 信息种类 利用的目的 信息的使用者和制造者 输入和输出地点 输入和输出信息量 存在问题 约束条件 未来要求等 需求 详细 调查对象 对组织的高层管理者 进行组织管理目标或经营方针等组织战略问题的调查 业务需求 对中层的管理者 进行全部业务流的调查 用户需求 对业务工作人员 进行详细业务信息的调查 用户需求 常用调查方法 信息收集技术 访谈 正式和非正式问卷调查情景分析实地考查构造原型建立分析小组领域专家 主角系统分析员 导演 准备调研的资料 可能的问题 部门的名称 人员数量和结构部门发展或变化简单介绍部门的主要任务部门各岗位的职责部门接受哪些部门或外界的信息及信息的内容和格式部门产生哪些信息部门产生的信息送到哪些其他部门 格式要求是什么现有的哪些设备要继续使用 准备调研的资料 可能的问题 业务处理流程业务处理过程中涉及哪些专业领域的知识主要算法描述哪些业务需要实时处理哪些业务需要交互操作业务处理有高峰期吗 高峰期的时间及业务量对信息的输入和输出方式和设备有何要求数据要求实时备份吗 备份设备及时间策略工作需要的审批流程是什么 准备调研的资料 可能的问题 对产品的运行环境有要求吗对界面风格和操作方式有要求吗在系统运行过程中允许停机吗需要的操作权限有哪些需要记录系统操作运行日志吗需要分布式处理吗需要什么方式的用户操作培训需要制作联机帮助吗用户有能力进行系统维护吗 二 组织结构图 组织结构图是用来描述组织的总体结构以及组织内部各部分之间的联系 要建立管理信息系统 就必须知道现行系统的组织机构设置情况和它们之间的隶属关系 当然 最为关心的是那些与计算机管理有关的机构和关系 用矩形框表示组织机构 用箭头表示领导关系 在画组织结构图时应注意 1 不能只画组织中的从属关系 领导和被领导关系 因为它们不是全部信息流 2 应具体调查结构的职能 不能仅按结构名称画图 3 实际情况往往较复杂 很难设计出面面俱到的IS 应突出重点 目标 某企业组织结构图 三 业务流程图 业务流程图 TransactionFlowDiagram TFD 是描绘物理系统的传统工具 系统流程图可用图形符号来表示系统中的各个元素 例如 人工处理 数据处理 数据库 文件等 业务流程图表示所描述部件的信息流程 而不表示信息加工的控制过程 系统流程图在可行性研究阶段也可以使用画系统流程图时 要搞清业务处理过程即处理中的各个元素 同时要理解系统的流程图各个符号的含义 业务流程图符号 基本符号 当以概括方式描述一个实际系统时 基本符号即可 当需要更具体地描绘一个物理系统时 还需使用系统符号 业务处理单位 业务流向 业务处理 某项业务参与的人或事务 业务处理功能 业务数据的流动方向 业务流程图符号 系统符号 工资管理系统业务流程图 学生成绩管理流程 每学期课程考核结束后 各任课教师须分班填写学生成绩登记表 经系主任审核签字后交学生所在学院及教务处教务员使用成绩管理系统登记所有成绩并将成绩单及补考通知书交给学生学生所在班级根据综合成绩计算综合评分 并将综合评分交给学生科 四 面谈 面对面交流是理解业务功能和规则的最有效方法该方法比较耗时和资源项目组成员与单个用户或用户组举行会议面谈步骤 准备面谈内容 问题详尽进行面谈 用心 得体面谈的后续工作 整理消化吸收 建模 4实地观察 观察方法 对办公室进行快速浏览安排一定的时间观察用户的工作过程同用户一道亲身实践体会工作过程使用工作流图来进行记录工作流 处理商业事务或客户请求的一系列步骤工作流图 流程图 数据流图 活动图工作流图在分析与设计阶段都是有效的工具活动图 一种工作流图 用来描述用户的活动以及这些活动的顺序 获取需求的方法 四 问卷调查 调查表在信息收集中的作用是具体而有限的使用场合 1 系统相关者较多 2 地理上分布广调查表问题类型 1 封闭问题 2 定量问题 3 开放问题 某出版社管理系统问卷调查表 某出版社管理系统问卷调查表 分析员需要一组模型来充分描述信息系统的需求不同的模型分别显示了问题和解决方案的不同部分 模型和建模 模型的作用 建立模型的过程能帮助分析员澄清和改良设计系统往往很复杂 模型能很好表示各部分之间的关系模型便于项目组成员之间交流模型有助于和系统用户之间进行交流并促进理解建立的模型可以作为以后的维护和升级时的文档 5 1 2模型的类型 数学模型 描述系统技术方面的一系列数学公式描述模型 描述系统某些方面的叙述性的备忘录 报表或列表等图形模型 描述系统的图表或系统某些方面的示意性表示 三种常见模型 数学模型 描述模型 图形模型 5 1 3用于分析和设计的模型 状态图协作图时序图用例图类图结构化英语 伪代码数据元素定义数据流定义ERDDFD事件列表 分析阶段创建的模型 界面设计报表设计数据库设计结构图系统流程图网络图分布图 设计阶段创建的模型 结构化分析方法StructuredAnalysis SA的核心 数据流图数据流图 用来表示信息流程和信息变换过程的图解方法 可以方便地描述用数据流的流动联系的各种功能 数据字典 数据流图中的各项数据 结构化英语 判定树 判定表用于具体描述数据流图中的基本功能 或过程 依赖数据流图的自顶向下的建模方法 数据实体系统需要存储的有关信息系统开发方法的信息 传统方法中 数据实体与过程是分离的 3 2数据建模 5 3事物和系统需求 5 3 5数据实体和对象 数据实体 在传统的系统开发方法中 事物被称为数据实体对象 在面向对象的系统开发方法中 将某一个事物称为对象 事物和系统需求 事件和事物的区别与联系 事件 发生在瞬间 有一定的随机性事物 客观存在 不以主观意志为转移联系 事件的发生可以改变事物的状态或产生新的事物 事物 在传统的开发方法中 事物就是构成系统存储信息的相关数据 在面向对象的开发方法中 事物就是在系统中相互交互的对象 事物 实实在在的事物 充当角色 组织部门 设备 突发事件 事件或交互行为 地点位置 飞机书交通工具文件工作表 雇员顾客医生病人最终用户系统管理员 管区部门工段任务组工作组 传感器定时器打印机键盘显示器鼠标 航班服务电话登录退出合同购买订单 仓库办公室工厂零售店桌面 事物和系统需求 属性 有关事物的一项特定信息关键字 唯一标识事物的一个属性 复合属性 包括了许多相关属性的属性 事物间的关系 关系 某些事物间自然发生的联系 比如客户发送订单以及雇员在某部门工作等 关系的基数 发生在事物间关联的数目 例如一个顾客发送了多个订单以及一个雇员在一个部门工作等 基数可以 0 1 0 n 1 n 几类事物之间的关系 两类不同事物 二元关系两种不同类型事物之间的关系 如顾客和订单关系 一元关系同一类型的两个事物之间的关系 如一个人和另一个人的婚姻关系 三元关系三种不同类型事物之间的关系 如学生 自然事物 课程 自然事物 选课 事件 之间的关系 N元关系N中不同类型事物之间的关系 如权限 用户 用户组 用户组选择权限 用户组选择用户 实体关系图 ERD 用来定义数据存储需求的模型数据存储需求包括数据实体数据实体的属性它们之间的关系 ERD符号用矩形代表实体 连接矩形的直线代表数据实体之间的关系 实体关系图 ERD E R模型中的基本符号 实体关系图ERD符号 实体 关系图ERD ERD实例 关联实体表示两个数据实体之间多对多关系的数据实体 例如学生和课程之间存在选课信息 关联实体 功能建模数据流图 图形化的系统模型 说明的是信息系统的主要需求 输入 输出 过程和数据存储 大型系统分层的数据流图来解决复杂问题分层作用实现信息抽象实现信息隐蔽 数据流图 图形元素少且符号简单易懂较充分表达系统的主要需求 输入 输出 处理和数据存储最终用户 管理人员和系统开发人员只需稍加培训即可读懂DFD图 方便交流 数据流图 用处理 外部实体 数据流以及数据存储来 DFD 表示系统需求的图表 DFD的特点 数据流图 基本元素 外部实体代表系统之外的人 物 组织发出或接受系统的数据提供系统和外界环境之间关系的注释性说明数据流表示DFD的过程 数据存储 外部实体间的数据移动数据流不代表控制流 反映处理对象 不影响过程执行数据流反映处理的对象控制流影响过程的执行 过程过程是对数据执行某种操作或转换 把输入数据变成输出数据的一种转换 数据存储不一定是一个完全的文件表示文件 或文件的一部分磁盘 磁带 存储器 数据流图元素符号 数据流图的符号说明 数据流图 数据流与加工之间的关系 与 数据A和B同时输入变成C 或 数据A或B 或者A和B同时输入变成C 异或 数据A或B其中之一变成C 数据流图例 图6 3显示处理 查询可用条目 的DFD 从外部实体出发的 数据流 可以是 1 外部实体发出的 处理请求 即一个事件2 外部实体给出的 输入数据 指向 外部实体 的 数据流 一般是 处理 的反馈或处理结果 DFD和ERD之间的一致性关系 绘制数据流图 自顶向下 逐层细化 抽象层次 把系统分解成一个逐步细化的分层集合的建模技术 DFD图可以描述高层次的具有高度概括的系统处理也可以描述低层次的具有更详细分解的系统处理 图6 5课程注册系统的DFD抽象层次 数据流图的层次 顶层DFD描述整个系统的作用范围分解高层数据流和数据过程 例 学生注册课程系统 顶层DFD 关联图 整个系统看作是一个过程 起名 学生注册课程系统此时不出现数据存储 DFD细化 一个过程符号表示系统响应一个事件的DFD 更进一步细化 评估DFD质量 高质量的DFD可读的 内部一致的 能够准确表示系统需求的 不反映处理的顺序 所有元素的命名对客户有意义 且与业务相关 图的编号 过程的编号应该唯一且有层次性 数据通过加工进行流动 避免从一个数据存储流向另一个数据存储 复杂性最小化 7 2 Miller数 单个DFD不应有超过7 2个过程单个DFD中不应超过7 2个数据流进出一个过程 数据存储或数据元素 接口最小化接口是指一个问题或描述中一部分与其他部分的连接 与7 2规则相关 接口应保证最小化 当单个过程有大量接口以致于复杂到不可理解时 可把这个过程分解成多个过程 数据流不一致问题一个过程和它的过程分解在数据流内容中有差别有数据流入但无相应数据流出有数据流出但无相应数据流入平衡进出过程的数据流与进出过程分解DFD的数据流在数据内容上一致 子图代表了父图中某个过程的细节 详细描述 父图代表了子图间的接口 抽象描述 二者代表了同一个东西 子图输入 输出数据流必须和父图中相应过程的输入 输出数据流相一致 即要达到平衡 数据流在单个过程或数据存储之间的一致性 流入过程的所有数据必须流出该过程或用于产生流出该过程的数据 流出过程的所有数据必须曾流入过该过程或是由流入该过程的数据产生 DFD质量评估 DFD图常见错误总结 非法的数据流 改正错误后的数据流 DFD过程描述 过程分解何时可以停止 最底层过程的描述方法 结构化英语决策树决策表数据字典 3 5数据字典 DataDictionary DD DD是SA方法中另一个重要的分析工具 DD给出了DFD中所有元素的严格的数据定义 它可以 减少了分析员和用户之间的通信 消除误解是以后进行系统设计及维护的重要依据是进行系统设计的最有价值的文档之一 数据字典 DD编写的基本要求 对DFD中各元素的定义必须明确 一致且易理解命名 编号应与DFD一致对DFD中各元素的定义与说明应无遗漏 无同名异义或异名同义格式规范 文字精练 符号正确 数据字典 符号 数据字典 数据流条目数据项条目数据文件条目 数据存储条目 数据加工条目数据结构条目 数据字典 数据流条目 系统名 属于哪个子系统数据流编号 名称 别名及其简要描述数据流的来源 一个外部实体 处理逻辑 数据存贮数据流的去向 同上数据流的组成 一个数据流可能包括若干个数据结构 若只有一个数据结构 就不需要专门定义数据流的流通量 单位时间的传输次数高峰时期的流通量 业务的频繁程度和时间有关 数据字典 数据流条目 数据字典 数据项条目 数据项也称数据元素 是不可再分的数据最小组成单位 主要内容有 系统名数据项名称 数据项名称必须唯一地标识这个数据项 以区别于其他数据项 名称要反映该数据项的含义 易于他人理解与记忆别名 同一数据项的名称可能不止一个简要说明属于数据流存储处 属于文件 数据项的类型 长度 取值范围 取值的含义 数据字典 数据项条目 数据字典 数据结构条目 数据结构描述了某些数据项之间的关系 一个数据结构可以由若干个数据项组成 也可以由若干个数据结构组成 也可以由若干个数据项和数据结构组成 主要内容包括如下 系统名数据结构的名称及其编号数据结构的组成 如果是一个简单的数据结构 只要列出它所包含的数据项即可 如果是一个嵌套的数据结构 只需列出它所包含的数据结构名称 因为这些数据结构同样在数据字典中有定义 数据字典 数据结构条目 数据字典 数据项间关系描述符号 数据字典 数据存贮条目 数据存贮是数据结构停留或保存的场所 主要内容 系统名数据存贮的名称及其编号 在数据流程图中对数据存贮给以命名 并编上一个唯一的编号 来源 去向存储组织方式数据存贮的组成 指它所包含的数据项或数据结构存取方式 存取频率等 数据字典 数据存贮条目 数据字典 加工条目 加工的名称及编号加工的输入和输出加工的主要功能 对处理逻辑的简明描述 其目的是使人了解这个处理逻辑是做什么用的加工的小说明 文档之一 数据字典 加工条目 加工逻辑描述 如何对DFD中的基本加工进行描述 是结构化分析的关键部分 对基本加工的描述称为 加工说明 加工说明编写要求 对DFD中的每个基本加工 必须有一个加工说明加工说明必须描述加工把输入数据流转换为输出数据流的转换规则 即加工 做什么 而不是用程序设计语言来描述具体加工过程常用工具 结构化语言 决策树 决策表 结构化英语 书写过程规范的方法 结构化编程技术 叙述性语言适合描述带有一系列处理步骤和相对简单的控制逻辑不适合 复杂的决策逻辑连续的处理步骤很少 或没有 IF我不在家里THEN我就在老树咖啡ELSE我就在去老树咖啡的路上 结构化英语 伪代码 一种描述 处理 的规范方法 将结构化编程技术和叙述性英语结合起来结构化英语适合用来描述处理步骤清楚 控制逻辑相对简单的情况 结构化英语示例 核对发货单 结构化英语示例 计算运输费用 加工说明 判定树 DecisionTree 判定树是用来表示逻辑判断问题的一种图形工具 它用 树 来表达不同条件下的不同处理 比语言 表格的方式更为直观 判定树的左侧 称为树根 为加工名 中间是各种条件 所有的行动都列于最右侧 加工说明 判定树 DecisionTree 成绩登记处理逻辑 加工说明 判定树 DecisionTree 学生升留级处理逻辑 判定树 计算运输费用 判定树 核对发货单 加工说明 判定表 DecisionTable 对于具有多个互相联系的条件和可能产生多种结果的问题 用结构化语言描述则显得不够直观和紧凑 这时可以用以清楚 简明为特征的判定表来描述 判定表采用表格形式来表达逻辑判断问题 表格分成四个部分 规则 将条件取值组合及其相应要执行的动作称为规则 规则或CASE 构造判定表步骤 确定规则的个数 m个条件 每个条件有n种取值 故规则个数为m n 列出所有的条件和动作 列出所有的条件组合 填写每种条件组合下对应的动作 若表中存在不同规则对应相同动作且其条件组合存在某种关系时 需要对表进行必要的化简 升留级处理判定表 加工说明 判定表 DecisionTable 如果表中有两条或更多的规则具有相同的动作 并且条件项之间存在着某种关系 则可设法将其合并 简化后的升留级处理判定表 决策表 核对发货单 判定树和判定表 适合描述复杂决策逻辑决策表一种处理逻辑的表格 包括 决策变量 决策变量值 角色或公式 决策树使用树型结构对过程逻辑进行图形化的描述 决策表更严密 决策树更易读 数据字典的建立1 建立数据字典的方法 1 手工建立 分别将数据字典中每一个条目按照规定的格式写在卡片上 由专人负责管理和维护 为了便于查找 通常可将卡片分类 按条目的名称或编号进行排序 2 自动建立 利用现有的数据字典建立程序 通过按照指定格式输入各类条目的内容 由计算机自动建立相应的数据字典 且通常这类工具软件还能够对建立好的数据字典进行完整性 一致性检查 以及进行日常的管理和维护工作 2 建立数据字典的原则 1 所有定义必须严密 精确 不能存在二义性 2 书写格式应简洁且严格 3 应可方便地实现对所需条目的按名查阅 4 应便于修改和更新 3 4行为建模状态转化图 描述系统的状态如何响应外部信号来进行推移的一种图形表示 圆圈 表示系统可达状态箭头 表示从一种状态向另一种状态的转换 3 4行为建模状态转化图 例 CPU分配的进程状态迁移t1 需要等待某一事件发生t2 等待的事件发生了t3 时间片到来t4 时间片用完了CPU分配的进程状态S1 就绪 等待分配CPU S2 运行 占用CPU进行相应的处理 S3 挂起 放弃CPU的使用 3 4行为建模状态迁移图 表3 5进程的状态迁移表 a 状态迁移图 b 细化后的状态迁移图 c 状态迁移图的变形 状态迁移图分层表示法 Petri网中的基本符号及含义 3 4行为建模Petri网 描述静态系统的Petri网 采用Petri网描述系统动态行为的状态变迁图初始状态 b 激发t1之后 c 激发t2之后 d 同时激发t1和t2之后 3 6结构化需求分析的若干技术 分解抽象采用 自顶向下 逐层分解 的分析思路 系统的顶层数据流图 自顶向下 逐步分解 过程示意图 3 7验证软件需求 3 7 1软件需求规格说明的主要内容需求分析阶段的最后一步工作是将对系统分析的结果用标准化的文档 即软件需求规格说明书的形式清晰地描述出来 以此作为审查需求分析阶段工作完成情况的依据和设计阶段开展工作的基础 需求规格说明书是系统所有相关人员 包括用户和开发人员对软件系统共同理解和认识的表达形式 是需求分析阶段最重要的技术文档 需求规格说明书中应包括如下主要内容 1 引言 用于说明项目的开发背景 应用范围 定义所用到的术语和缩略语 以及列出文档中所引用的参考资料等 2 项目概述 主要包括功能概述和约束条件 功能概述用于简要叙述系统预计实现的主要功能和各功能之间的相互关系 约束条件用于说明对系统设计产生影响的限制条件 如管理模式 用户特点 硬件限制及技术或工具的制约因素等 3 具体需求 主要包括功能需求 接口定义 性能需求 软件属性及其他需求等 功能需求用于说明系统中每个功能的输入 处理 输出等信息 主要借助于数据流图和数据字典等工具进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论