文档详情

0面向对象分析.ppt

发布:2018-10-18约1.91万字共68页下载文档
文本预览下载声明
? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 创建操作契约的指导原则 契约不是必须的。如果用例可以提供大多数或者所有设计需要的细节,那么契约没有什么价值。创建操作契约的指导原则如下: 1.首先从系统顺序图中识别系统事件,然后针对每一个系统事件设计对应的系统操作。 2.对于那些复杂的、结果微妙的以及在用例中不清晰的系统操作,构造一个契约,作为用例的补充。 3.要描述后置条件。后置条件对于领域概念状态变化的描述关注下面三个方面: 实例创建和删除。 属性修改。 关联形成和断开。特别是在创建了新的实例后,往往需要和多个对象之间建立关联。 ? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 创建操作契约的指导原则 4.后置条件的陈述应该采用过去时态的声明语气和被动句型,以强调系统状态所发生的变化,而不是强调这种变化是如何设计实现的。 5.在需求工作时,如果要为一个系统操作建立契约,那么为系统操作产生一个完整、详细的后置条件集有时是不可能甚至是不需要的。 ? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 考试系统中的系统操作 考试系统中的8个系统操作: logon(role:string,Id:string,pwd:string) getAvailableTestPapers(stuId:string) selectTestPaper (courseName:string) logonTestPaper(pwd:string), startTest() submitAnswer(questionId:string,answer:string) getNextQuestion( ) endTest( ) ? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 logon 操作: logon(role:string,Id:string,pwd:string) 登陆系统 交叉引用: 用例:登陆 前置条件: 无 后置条件: 1.一个考生实例被创建(实例的创建)。 ? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 startTest 操作: startTest( )开始考试 交叉引用: 用例:考试 前置条件: 一个考卷实例、一个考生实例、若干个考题规格说明实例已经创建 后置条件: 1.一个考试实例被创建; 2.考试实例和考卷实例形成关联; 3.一个考卷生成规则实例被创建; 4.考卷生成规则实例和考试实例形成关联; 5.若干个考卷生成规则项实例被创建; 6.考卷生成规则项实例和考卷生成规则实例建立关联; 7.若干个考题子类的实例被创建(实例的创建,根据考卷生成规则)。 8.考题子类的实例和考卷实例形成关联(关联的形成)。 9.一个考题子类的实例和一个考题规格说明的实例形成关联(关联的形成,用于从考题规格说明里得到题目描述信息)。 ? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心 endTest 操作: endTest ( ) 结束考试 交叉引用: 用例:考试 前置条件: 一个考试在进行中 后置条件: 考卷实例的选择题总分属性被修改(属性的修改)。 一个考试实例和一个考卷实例间的关联被断开; 一个考卷生成规则实例和一个考试实例间的关联被断开; 考卷生成规则项实例和考卷生成规则实例间的关联被断开; 考题子类的实例和考卷实例间的关联被断开; 一个考题子类的实例和一个考题规格说明的实例被断开; 一个考试实例被删除; 若干个考卷实例被删除; 一个考卷生成规则实例被删除; 若干个考卷生成规则项实例被删除; 若干个考题子类的实例被删除; 若干个考题规格说明的实例被删除; * 用例建模时,首要识别的是主要参与者和它们的目标。 * 通常,像监视器、鼠标和键盘这样的标准用户接口设备不包括在内, * 由参与者首先发起会话的可能性比较大,但有些对话也可能是由系统首先发起的。例如,系统在发现某些异常情况时主动要求操作员的干预,或者系统主动向设备发出操作命令,邀请与外部通信。对于这种情况,就需要由系统首先发起对话的用例来描述。 * 上面谈的是围绕参与者的目标来找用例。下面的两个针对系统的问题有时也有助于找到用例: 1)系统需要什么样的输入和输出?输入来自哪里?输出去往哪里? 2)该系统的当前状况还存在哪些问题?有哪些改进的方向? * 可以将所有的条件处理放到“扩展”部分,从而使主要成功场景更易于理解和扩展。场景通常记录以下三种步骤: 参与者和系统之间的交互。 一个验证动作(通常由系统完成)。 由系统完成的状态的改变
显示全部
相似文档