




已阅读5页,还剩119页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二部分软件需求分析 第5章软件需求分析过程 什么是软件需求 软件需求分析有哪些过程 如何启动分析过程 需求规格文档有哪些内容 需求分析有哪些技术 软件需求 功能需求 描述系统预期提供的功能或服务系统应提供的服务如何对输入做出反应系统在特定条件下的行为非功能需求 指那些不直接与系统具体功能相关的一类需求性能需求机构需求外部需求 功能需求 软件系统的功能需求描述可以有许多方式 文字描述图表表示功能需求可以以不同的详细程度反复编写和细化功能需求描述应该完整而且一致和准确完整性意味着用户所需的所有的服务应该全部给出描述一致性意味着需求描述不能前后矛盾准确性是指需求不能出现模糊和二义性的地方 功能需求描述 出卷系统 教师能够根据自己的要求手动或自动出一份试卷 教师可以修改试卷中不合适的题目 并能自动生成各种样式的试卷 教师可以对试题中的题目进行更新 非功能需求 非功能需求主要与系统的总体特征相关 是一些限制性要求 是对实际使用环境所做的要求性能要求可靠性要求安全性要求可用性要求移植性要求非功能需求关心的是系统整体特征而不是个别的系统的特征 比功能需求对系统更关键 非功能需求却很难检验非功能需求与功能需求有时会发生冲突 它们之间存在着相互作用关系 非功能需求举例 一个POS系统所需的存储因为成本原因有所限制 而商品的描述和价目表的信息量很大 如果采用远程服务器 提供商品描述和价目表信息 那必然需要网络通信 而这需要网络技术 当POS机数量多时必然引起服务器处理瓶颈问题 需求分析过程 需求分析主要是理解客户需要什么 分析要求 评价可行性 协商合理的方案 无歧义地详细说明方案 确认规格说明 管理需求以至将这些需求转化为可行系统过程包括 初步沟通导出需求 范围问题 理解问题 易变问题 大师说 没有不变的需求 世上的软件都改动过3次以上 唯一一个只改动过两次的软件的拥有者已经死了 死在去修改需求的路上 分析和精化可行性研究协商与沟通规格说明 规格说明书需求验证变更管理 初步沟通 业务领域的共利益者 如业务管理人员 市场营销人员 产品管理人员 定义业务用例确定市场的范围初略地可行性分析确定项目范围的工作说明 导出需求 导出需求应理解问题范围问题 系统的边界 是客户和开发者共同关心的部分理解问题 确定业务需求 需求冲突 说明有歧义和不可测试的需求易变问题 分清需求稳定部分和易变部分收集活动 识别真正的客户 用户正确理解客户的需求耐心听取客户意见和思考尽量使用符合客户语言习惯的表达 分析和精化 开发一个精确的技术模型 用以说明软件的功能 特征和约束 精化是一个分析建模动作 由一系列建模和求精任务构成定义了问题的信息域 功能域和行为域 可行性研究 可行性研究的目的是确定用最小的代价 在尽可能短的时间内确定问题是否能够解决可行性研究的输入是系统的一个框架描述和高层逻辑模型输出是一份需求开发评价报告 对需求工程和系统开发是否值得做的具体建议和意见三个问题 系统是否符合机构的总体要求 系统是否可以在现有的技术条件 预算和时间限制内完成 系统能否把已存在的其他系统集成 协商与沟通 调节冲突和问题需求排序识别和分析与每项需求相关的风险 开发工作量 成本和交付时间 软件需求规格 一个规格说明可以是一份写好的文档 一套图形化的模型 一个形式化的数学模型 一组使用场景 一个原型或以上各项的任意组合 软件需求规格 SRS SoftwareRequirementSpecification 是需求分析任务的最终 产品 它是客户 管理者 分析工程师 测试工程师 维护工程师交流的标准和依据 软件需求规格描述了系统的数据 功能 行为 性能需求 设计约束 验收标准 以及其他与需求相关的信息 分为 用户需求和系统需求 15 SampleRequirementsDefinitionOutline 16 SampleRequirementsDefinitionOutline 17 SampleRequirementsDefinitionOutline 用户需求描述示例 2 1处理销售 完成一次销售过程 2 1 1基本流程 1 顾客携带所购商品或服务到收银台通过POS机付款 2 收银员开始一次新的销售交易 3 收银员输入商品条码 4 系统逐条记录销售的商品 并显示该商品的描述 价格和累计额 重复 3 4 直到输入结束 5 系统显示总额 6 收银员告知顾客总额 并请求付款 7 顾客付款 系统处理支付 8 系统记录完整的销售信息 并将销售金和支持信息发送到外部的帐务系统和库存系统 9 系统打印票据 10 顾客携带商品和票据离开 2 1 2扩展流程 系统需求 系统需求是比用户需求更详细的需求描述 是系统实现的基本依据系统需求描述可能包括许多不同的模型 如对象模型和数据流模型 需求验证 需求验证对需求文档和制品进行质量评估 确保需求说明准确 完整包括以下内容 正确性一致性完整性可行性必要性可检验性需求的可跟踪性最后签字 需求变更管理 需求变更管理是组织 控制和文档化需求的系统方法建立基线以便在客户和开发人员之间建筑一个约定需求管理从标识开始 建立跟踪表需求跟踪表可以跟踪需求的特征 来源 依赖 子系统和接口等关系 启动分析过程 确定共利益者 直接或间接从正在开发的系统中获益的人 例如 POS机系统中的共利益者有 收银员 售货员 顾客 公司 经理 支付授权服务 帐务系统和库存系统等识别视点 从不同的视角看待该系统 比如 收银员关心准确 快速生成一次销售 且没有支付错误 售货员关注销售提成协同工作 共利益者之间的协作首次提问 集中于客户和其他共利益 整体目标 收益等 非形式化需求分析技术 会谈 正式会谈 提出一些事先准备好的议题非正式会谈 提出一些可自由回答的问题情景分析 需求分析从对场景的评论中得到信息 然后再将其以形式化方式表示出来 使用调查表制定调查表分析建立原型界面执行过程 场景分析 分析员与项目相关人员共同识别出情景 并捕获这些情景的细节 把细节加入到一个纲要的需求描述中时 情景特别有用情景是对交互实例片断的描述 每个情景可能包含一个或多个交互 它们能在不同的细节层次上提供不同类型的情景信息情景开始于一个框架 在导出过程中 细节被逐渐增加 直到产生交互的一个完整的描述 情景 一个情景可能包括如下内容 在情景开始部分有一个系统状态描述 一个关于标准事件流的描述 一个关于哪儿会出错 以及如何处理错误的描述 有关其他可能在同一时间进行的活动的信息 在情景完成后系统状态的描述 26 对象建模 客户输入正确密码 客户选择取款操作 并确定取款金额 查询余额 系统显示余额 是 否 系统从账户余额减去取款金额 打印账单 系统显示余额 否 是 取信用卡 结束操作 实例分析 出卷系统 用户 教师 关注如何出一份合理的试卷 并能根据样式打印与输出 学生 关注如何通过生成一些模拟试题 并在线学习和检查学习结果 题库维护人员 关注试题的添加 更新和删除等工作 视点 教师关注自动出卷 手工出卷 试卷编辑和试卷输出 学生关注随时抽卷 联系试卷和评价分析 题库维护人员关注试题管理 出卷系统的功能需求 自动出卷 系统根据教师的要求自动生成一份合理的试卷 手动出卷 教师手动从候选的试题中挑选题目 随机抽卷 系统随机抽取试题生产一份试卷 在线练习 学生可以在线做练习和查看答案 在线评价 系统在线评价学生练习的情况 试题管理 管理人员维护题库中的试题 试卷编辑 更新试题 试卷输出 根据某个样式输出试卷 实例分析 POS机系统 收银员 能够准确 快速地输入 而且没有支付错误 因为如果少收货款 将从其薪水众扣除 售货员 自动更新销售提成 顾客 希望以最小代价完成购买活动并得到快速服务 便捷 清晰地看到所输入的商品项目和价格 得到购买凭证 以便退货 公司 希望准确地记录交易 满足顾客要求 确保记录了支付授权服务的支付票据 有一定的容错性 能够自动 快速地更新记帐和库存信息 经理 能够快速执行超控操作 并易于更正收银员的不当操作 支持授权服务 依据正确的通信格式进行授权服务 库存系统 正确的方式更新库存信息 记账系统 能够准确地记录每次销售支付信息 POS机系统主要功能需求 处理销售 收银员完成一次销售记录 并出具票据和更新库存系统和帐务系统 处理支付 完成一次销售对应的支付 包括现金支付 信用卡支付和支票支付 处理退货 根据顾客请求完成商品退货处理 办理会员卡 注册 注销和更新会员记录 实例分析 图书馆系统 图书馆系统的共利益者与视点有 图书流通管理 负责图书借还工作 用户 希望快速得到借书 还书服务 能够续借 预约图书 以及查询个人和图书信息 编目管理员 负责图书的管理 用户管理和处理罚金等 图书馆系统的主要功能需求 图书借出 管理员完成一次借书过程 图书归还 管理员完成一次还书过程 图书预约 用户查询要借的图书 若不能借 可预约该图书 图书续借 用户可以将图书的归还日期延长一段时间 图书管理 添加新书 更新图书馆信息 销毁图书 用户管理 注册新用户 更新用户信息 注销用户 处理罚金 用户缴纳罚金吼 系统将罚金数额清零 实例分析 短信系统 本系统共利益者和视点有 收发人员 负责发送短信给用户或接受用户的短信 用户管理 添加用户 更新用户信息 删除用户 本系统主要功能需求有 短信发送 填写发送内容 选择发送用户 并指明是否要回执 然后发送短信 通过无线终端或短信网关 短信接收 从无线终端或短信网关读取短信内容 并显示查看 用户管理 添加新用户 更新用户信息 删除用户 实例分析 ATM系统 银行客户 接受系统服务 银行的代表 银行间自动柜员机有互惠协议 支行管理者 从该系统中获得管理信息 支行柜台职员 负责系统日常运转和处理客户意见 数据库管理者 负责系统和客户数据库集成 银行信息安全管理者 负责保证系统信息安全 银行市场开发部 将该系统视为银行市场开拓手段 硬件和软件工程师 负责硬件和软件维护及升级 ATM系统主要功能需求 存款 从ATM机上存钱到指定账户上 取款 从指定账户上取一定数量的货币 转账 从一个账户取出一定数量的货币 然后转存到另一个账号上 查询余额 察看指定账户的余额 修改密码 修改账户密码 小结 需求分析也称为需求工程 是一个非常重要而有很复杂的 需要交替进行 反复迭代的过程 软件需求分为功能需求和非功能需求 功能需求描述系统所预期提供的服务 而非功能需求描述与系统不直接相关的一些需求 领域需求是一种特有的功能需求 反应应用领域的基本问题 软件需求规格说明文档描述了系统的数据 功能 行为 性能需求 设计约束 验收标准以及其他于需求相关的信息 它有可能成为客户与开发商之间的合同 需求分析过程通过执行初步沟通 需求导出 分析与精化 可行性研究 协商和沟通 规格说明 验证和变更管理八个不同的活动来完成 非形式技术主要包括会谈 调查表和场景技术 用于获取用户需求和系统需求 第7章面向对象分析 面向对象建模用例模型领域模型行为模型案例分析 面向对象建模 面向对象模型对象模型 定义了 做什么 的实体动态模型 规定在何种状态下 接受什么事件的触发而 做什么 功能模型 指明了系统应该 做什么 对象模型 对象模型表示静态的 结构化系统的 数据 性质 它是对模拟客观世界实体的对象 以及对象彼此间的关系的映射 描述了系统的静态结构 对象模型是一个类 包括其属性和行为 对象 类的实例 类和 或 类之间关系的定义集 类名是一类对象的抽象命名 其命名是否恰当对系统的可理解性影响相当大 对象模型还必须表示类 对象之间的结构关系 类之间的关系一般可概括为关联 归纳 泛化 组合 聚集 三类 40 4 2对象类的概念 4 2 1对象类图的图形符号表示 类的图形符号表示分为长式和短式两种 41 42 4 4类之间的关系 4 4 1关联关系 1 一般关联 关联是类之间的语义联系 代表类的对象 实例 之间的一组连接 称为链 1 常规关联 0 1 表示 零或1 0 或 表示 0 或 多 1 表示 1或多 5 11 表示 5至11 1 3 8 是枚举型 表示 1或3或8 43 2 关联类 把类之间的关联定义成类 称为关联类 关联类也有属性 操作并与其他的类关联 44 45 2 多重关联 两个以上的类之间也可以互相关联 46 UML系统建模与分析设计 3 关联的约束 1 ordered 有序的对象 47 48 4 受限关联 5 递归关联 49 关联按逻辑关系分类 聚集关系1 共享聚集2 组合聚集继承关系依赖和细化关系 50 4 4 2聚集关系 部分 整体 1 共享聚集 共享聚集的 部分 对象可以是任意 整体 对象的一部分 表示事物的整体 部分关系较弱的情况 51 2 组合聚集 52 4 4 3继承关系 一般 特殊 53 4 4 4依赖和细化关系 54 4 5接口 4 5 1接口的定义 55 4 5 2接口的实施 的另一表示法 动态模型 动态模型表示瞬间的 行为化的系统 控制 性质 它规定了对象模型中对象的合法变化序列 对象运行周期中的阶段就是对象的状态 对象状态是对对象属性的一种抽象 对象之间相互触发 作用的行为 称为事件 引起了一系列的状态变化 事件是某个特定时刻所发生的一个系统行为 它是对引起对象从一种状态转换到另一个状态的现实世界事件的抽象 对象对事件的响应 取决于接受该触发的对象当时所处的状态 其响应包括改变自己的状态 或者是形成一个新的触发行为 事件 动态模型描绘了对象的状态 触发状态转换的事件 以及对象行为 对事件的响应 功能模型 功能模型表示变化的系统的 功能 性质 指明了系统应该 做什么 它更直接地反映了用户对目标系统的需求 面向对象是以用例驱动的 用例站在用户的角度描述用户的交互过程 有助于软件开发人员更深入地理解问题域 改进和完善自己的分析和设计 对象模型 动态模型和功能模型相辅相承 使得对系统的需求分析和设计描述更加直观 全面 对象模型是最基本 最重要的 它为其他两种模型奠定了基础 统一建模语言UML 统一建模语言 UML UnifiedModelingLanguage 是一种基于面向对象的可视化建模语言 UML用丰富的图形符号隐含表示了模型元素的语法 而用这些图形符号组成元模型表达语义 组成模型描述系统结构 或称为静态特征 以及行为 或称为动态特征 UML的模型元素 一类模型元素用于表示模型中的某个概念 如类 对象 用例 结点 构件 包 接口等 另一类模型元素用于表示模型元素之间相互连接的关系 主要有关联 泛化 表示一般与特殊的关系 依赖 聚集 表示整体与部分的关系 等 UML模型元素 UML模型结构 四个抽象层次 元元模型 定义了描述元模型的语言元模型 定义了元类 元属性 元操作等一些概念模型 定义了描述信息领域的语言用户模型 模型的实例 用于表达一个模型的特定情况 UML模型视图 UML主要是用来描述模型的 它可以从不同视角为系统建模 形成不同的视图 View 每个视图是系统完整描述中的一个抽象 代表该系统一个特定的方面 每个视图又由一组图 Diagram 构成 图包含了强调系统某一方面的信息 两类图 静态图 包括用例图 类图 对象图 构件图和部署图动态图 包括状态图 时序图 协作图和活动图五种视图 用例视图从用户角度表达系统功能 结构视图主要使用类图和对象图描述系统静态结构 行为视图展示系统动态行为及其并发性 实现视图展示系统实现的结构和行为特征 部署视图展示系统的实现环境和构件是如何在物理结构中部署的 用例建模 需求捕获的目标 发现真正的需求以适用于用户 客户和开发人员的方式加以表示系统用户表示为一个参与者参与者在与用例进行交互时使用系统用例向参与者提供某些有价值结果而执行一些动作序列 编写用例 用例着眼于为用户增加价值 提供了一种捕获功能需求的系统且直观的方法 可驱动整个开发过程 用例从某个特定参与者的角度用简单易懂的语言说明一个特定的使用场景 要开始开发用例 应列出特定参与者执行的功能或者活动 用例模型帮助客户 用户和开发人员在如何使用系统方面达成共识 用例图描述部分用例模型 显示带有联系的用例和参与者的集合 POS机系统部分用例图 用例图 用例图包括 参与者 用例 关联和边界四个要素 参与者 用小人形表示用例 用椭圆表示关联 用直线表示说明参与者驱动某个用例边界 用矩形框表示 说明系统关注点 开发用例 用例使用非正式的描述性风格编写 也可以使用某个结构化的格式编写 有些格式更强调描述的直观性 POS机系统中处理销售的场景 用例名称 处理销售范围 POS机应用级别 用户目标主要参与者 收银员涉众及其关注点 收银员 希望能够准确 快速地输入 而且没有支付错误 因为如果少收货款 将从其薪水众扣除 售货员 希望自动更新销售提成顾客 希望以最小代价完成购买活动并得到快速服务 希望便捷 清晰地看到所输入的商品项目和价格 希望得到购买凭证 以便退货 公司 希望准确地记录交易 满足顾客要求 希望确保记录了支付授权服务的支付票据 希望有一定的容错性 即便在某些服务器构件不可用时 如远程信用卡验证 也能够完成销售 希望能够自动 快速地更新帐户和库存信息 经理 希望能够快速执行超控操作 并易于更正收银员的不当操作 前置条件 收银员必须经过确认和认证 成功保证 或后置条件 存储销售信息 更新帐户和库存信息 记录提成 生成票据 记录支付授权的批准 主成功场景 1 顾客携带所购商品或服务到收银台通过POS机付款 2 收银员开始一次新的销售交易 3 收银员输入商品条码 4 系统逐步记录出售的商品 并显示该商品的描述 价格和累计额 价格通过一组价格规则来计算 收银员重复3 4步 直到输入结束 5 系统显示总额和计算折扣 6 收银员告知顾客总额 并请顾客付款 7 顾客付款 系统处理支付 8 系统记录完整的销售信息 并将销售和支付信息发送到外部的账务系统 进行账务处理和提成 和库存系统 更新库存 9 系统打印票据 10 顾客携带商品和票据离开 开发活动图 UML活动图通过提供特定的场景内交流的图形化表示来补充用例 活动图符号 两端为半圆形的矩形表示一个特定的系统功能箭头表示通过系统的流判定菱形表示判定分支水平线 分叉点和连接表示并发活动对象节点表示活动对象活动图通常能够既表示控制流又表示数据流 UML活动图代替传统的数据流图 DataFlowDiagram 表示法 处理销售用例中的UML活动图 泳道图 UML泳道图 swimlane 是活动图的一种有用的变形可以让建模人员表示用例所描述的活动图 同时看哪个参与者或分析类对活动矩形所描述的活动负责 泳道用纵向分割图的并列条形部分表示 就像游泳池中的泳道 也称特定分区 UML泳道图通常对于涉及众多参与者的非常复杂的业务过程建模具有价值 泳道图举例 建立领域模型 领域模型能捕获语境中最重要的对象模型 领域对象代表系统工作的环境中存在的事情或发生的事件 领域有三种典型的形式 业务对象 表示业务中可操作的东西 例如订单 帐户和合同等 系统需要处理的现实世界中的对象和概念 如导弹 轮船等 将要发生或已经发生的事件 例如飞机起飞或午餐休息等 领域建模的目的是理解和描述在领域语境中最重要的类 识别分析类 领域模型实际上是更为完整的业务模型的一个特例有两种类型的UML模型支持业务建模 用例模型对象模型对系统开发的用例或处理叙述进行 语法分析 可以开始分析类的识别 分析类识别方式 外部实体 使用基于计算机的系统的信息 事物 问题信息域的一部分 发生或事件 在系统操作环境内发生 角色 由和系统交互的人员扮演 组织单元 和某个应用相关 场地 建立问题的环境和系统的整体功能 结构 定义了对象的类或与对象相关的类 分析类 分析类侧重于处理功能性需求通过较高的 非形式化层次的职责类定义某行为分析类三种基本构造型 边界类 边界类用于建立系统与其参与者之间交互的模型 经常代表对窗口 窗体 窗幕 通信接口 打印机接口 传感器 终端以及API等的抽象 每个边界类至少应该与一个参与者有关 反之亦然 控制类 控制类代表协调 排序 事务处理以及其他对象的控制 经常用于封装与某个具体用例有关的控制 控制类还可以用来表示复杂的派生与演算 如业务逻辑 实体类 实体类用于对长效持久的信息建模 大多数情况下 实体类是直接从业务对象模型中相应的业务实体类得到的 分析类举例 控制类 控制类类似于设计模型中的控制器类 其目的是UI层之上的第一个对象 主要负责接收和处理系统操作消息 把职务分配给能代表以下选择之一的类 代表整个 系统 根对象 运行软件的设备或主要子系统 这些是外观控制器的所有变体 代表用例场景 在该场景中发生系统事件 通常命名为UsecaseName Handler UsecaseName Coordinator或UsecaseName Session 控制类举例 用例实现分析 用例实现分析是分析模型内部的一种协作 主要描述了如何根据分析类及其交互的分析对象来实现和执行一个具体的用例 用例实现包括事件流的文本描述 反映参与者用例实现的分析的类图以及按照分析对象的交互作用描述特定流实现或用例脚本的交互图 用例实现侧重于功能性需求 处理销售类图 交互图 当参与者向系统发送某种形式的消息而激活用例时 开始执行该用例中的动作序列 边界类对象将接收来自参与者的消息 边界对象向其他对象发送一个消息 并使有关对象与之交互从而实现该用例 在分析阶段 通常使用协作图类描述用例的实现 协作图又称为通信图 是以图或网络格式描述对象交互 其中对象可以置于图中任何位置 处理销售协作流的事件 分析流 收银员通过处理销售商品界面发起一次销售 控制类创建一个销售类 收银员逐个输入商品 销售类创建商品 并放入销售列表中 控制类要求计算商品总价 收银员请求顾客付款 控制类委派销售类创建一个支付 分析包 分析包描述了对分析模型的制品进行组织的方式 它可以包括分析类 用例实现及其他分析 分析包应是有强内聚性与低耦合性 具有以下特点 分析包可以表示对分析内容的分割 在统一过程中 服务的概念是由服务包支持的 服务包在按照系统提供的服务而组织的分析包层次结构中处于较低层 服务包包含了一组活动相关的类 服务包不可分割 在实现用例时 可能会有一个或多个服务包参与其实现 服务包相对独立 可以复用 UML包图用于描述系统的逻辑架构 层 子系统 包等 UML包用一大一小两个矩形组合而成 如果内部显示了其成员 则包名称标在上面的小矩形内 否则 可以标在包内 UML包图 逻辑架构 逻辑架构是类的宏观组织结构 它将类组织为包 子系统和层等 层是对类 包或子系统的甚为粗粒度的分组 是有对系统主要方面加以内聚的职责 分层逻辑架构 关联与依赖 两个分析类以某种方式相互联系 这些联系被称作关联 关联可进一步指出多样性 也称为基数 两个分析类之间存在客户 服务器联系 客户类在某些方面依赖于服务器类并且建立了依赖关系 识别属性和操作 属性描述类的性质 可以通过分析该类存在的一些信息类构建 操作定义了某个对象的行为 操作可以分为四种类型 以某种方式操纵数据 例如 添加 删除 选择 更新等 执行计算的操纵 例如 销售中的计算总价 请求某个对象状态的操作 监视某个对象发生某个控制事件的操作 操作的构造需要交互图和场景描述等手段多次反复分析才能获取 在研究语法分析并分离动词作为候选的操作 推荐的一个方法是使用CRC技术 CRC技术 CRC Class Responsibility Collaborator 类 职责 协作者 建模提供识别和组织与产品相关的类 一旦系统的基本使用场景 用例 确定后 则要标识侯选类 指明它们的责任和协作 即类 责任 协作者建模 责任是与类相关的属性和操作 即责任是类知道要做的事情 协作者是为某类提供完成责任所需要的信息的类 即协作类 CRC建模方法提供了一种简单标识和组织与系统或产品需求相关的类的手段 CRC模型是一组表示类标准的索引卡 CRC卡的集合 CRC卡的内容分成三个部分 类的名字类的责任协作类 销售类CRC卡 行为建模 行为模型显示了软件如何对外部事件或激励做出响应 要生成行为模型 分析师必须按如下步骤进行 评估所有的用例 以使得完成理解系统内的交互序列 识别驱动交互序列的事件 并理解这些事件如何和具体的类相互关联 为每个用例生产序列 创建系统状态图 评估行为模型以验证准确性和一致性 系统顺序图 系统顺序图 SystemSequenceDiagram SSD 是为了阐述与讨论系统相关的输入和输出事件而快速 简单地创建的制品 它们是操作契约和重要对象设计的输入 用例文本及其所示的系统事件是创建SSD的输入 SSD展示了直接与系统交互的外部参与者 系统以及由参与者发起的系统事件 SSD可以用UML顺序图的形式表示 用以阐述外部参与者到系统的事件 系统事件就是将系统看作黑盒 参与者为完成功能而向系统发出的事件 处理销售用例的系统SSD 操作契约 操作契约使用前置条件和后置条件的形式 详细和精确描述领域模型中的对象的变化 并作为系统操作的结果 操作契约的主要输入是SSD中确定的系统操作 领域模型和领域专家的见解 操作契约四部分 操作是指操作的名称和参数交叉引用是指会发生此操作的用例前置条件是指执行操作之前对系统领域模型对象状态的假设后置条件是指完成操作后 领域模型对象的状态 后置条件 后置条件 PostCondition 描述了领域模型内对象状态的变化 领域模型状态变化包括创建用例 形成或消除关联以及改变属性 后置条件不是在操作过程中执行的活动 相反 它们是对领域模型对象的观察结果 后置条件可以分为三种类型 创建或删除实例属性值的变化形成或消除关联 操作enterItem的契约 操作名称 enterItem id quantity 交叉引用 处理销售用例前置条件 正在进行的销售后置条件 1 创建了SaleLineItem的实例 创建关联 2 SaleLineItem与当前Sale关联 形成关联 3 SaleLineItem quantity赋值为quantity 修改属性 4 基于id匹配 将SaleLineItem关联到ProductDescription 形成关联 顺序图与协作图 表现系统行为方式的一种方式是UML的顺序图和协作图 顺序图和协作图的作用相同 但顺序图强调事件的时间关系 顺序图表现了导致行为从一个类流动到另一个类的关键类和事件 顺序图的主要元素有 对象 参与交互的类的实例 对象之间可以发送事件和接收事件 参与者 描述本次交互的发起者 即用例的驱动者 用小人形状表示 生命线 表示一个类的实例 用虚线表示 消息 表示对象间的每个事件 用带箭头的实线表示 执行规格条 表示控制焦点的控制期 也称为激活条 消息标签 指明消息的名称 消息可以有两种方式返回结果 使用消息语法returnvar message parameter 在执行规格条末端使用应答消息线 带箭头虚线 处理支付用例的顺序图 状态图 两种不同的状态描述 系统执行其功能时每个类的状态 类状态动两种特征 被动状态较简单 是某个对象所有属性的当前状态 主动状态表示的是对象进行持续变换和处理时的当前状态 系统执行其功能时从外部观察到的系统状态 UML状态图描述系统的动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙商银行丽水分行社会招聘笔试备考试题及答案解析
- 公司文档传播管理
- 物业员工责任分工说明
- UML建模原则预案
- 2025下半年新疆兵团招聘事业单位工作人员2398人笔试备考题库及答案解析
- 如何在学校中获得成功
- 嵌入式系统调试技术制度
- 2025年逃生防具测试题及答案
- 2025年事业单位笔试-天津-天津卫生事业管理(医疗招聘)历年参考题库含答案解析
- 2025四川绵阳三台县教体系统考调事业单位工作人员6人笔试含答案
- 机械厂设备使用维护细则
- 康复辅助技术咨询师理论知识考核试卷及答案
- LNG安全教育培训课件
- 河北省琢名小渔名校联考2025-2026学年高三上学期开学调研检测英语试题(含答案)
- 人保新人考试题及答案
- 2025年社保自缴协议书
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 宿州辅警考试题库(含答案)
- 《酒店客户关系管理 》课件-项目三 酒店客户关系管理制度
- 邮轮客舱服务管理全套教学课件
- 注塑成型工艺参数表(模板与说明)
评论
0/150
提交评论