页数:22页文件大小:4.49 MB来源: 软件工程ppt课件
本课件讲解动态模型与功能模型的建立,包括编写正常与异常脚本、设想用户界面、画事件跟踪图与状态图并审查动态模型,随后说明基本系统模型图与功能级数据流图的画法、处理框功能描述以及常规行为、事件导出操作等服务的定义,并附牙科诊所管理系统练习。
本节内容提纲
建立功能模型
画出基本系统模型图
画出基本系统模型图
本页正文以课件图示为主,源文件仅提取到上述文字说明,具体图形内容请对照原课件图片。
9.5.2画出功能级数据流图把基本系统模型中单一的处理框分解成若干个处理框,以描述系统加工、变换数据的基本功能,就得到功能级数据流图。自动提款机(ATM)系统。
本节内容提纲
定义服务
“对象”是由描述其属性的数据,及可以对这些数据施加的操作(即服务),封装在一起构成的独立单元。因此,为建立完整的对象模型,既要确定类中应该定义的属性,又要确定类中应该定义的服务为了更好的定义服务,需要了解动态模型和功能模型中明确地描述每个类中应该提供哪些服务。事实上,在确定类中应有的服务时,既要考虑该类实体的常规行为,又要考虑在本系统中特殊需要的服务。
常规行为在分析阶段
可以认为,类中定义的每个属性都是可以访问的,也就是说,假设在每个类中都定义了读、写该类每个属性的操作。但是,通常无需在类图中显式表示这些常规操作。
(2)从事件中导出的操作状态图中发往对象的事件也就是该对象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作修改对象状态(即属性值)并启动相应的服务。例如,在ATM系统中,发行分行的事件“请分行验卡”启动该对象的服务“验证卡号”。
(3)与数据流图中处理框对应的操作数据流图中的每个处理框都与一个对象(也可能是若干个对象)上的操作相对应。应该仔细对照状态图和数据流图,以便更正确地确定对象应该提供的服务。例如,在ATM系统中,从状态图上看出分行对象应该提供“验证卡号”服务,而在数据流图上与之对应的处理框是“验卡”,根据实际应该完成的功能看,该对象提供的这个服务应该是“验卡”。
(4)与利用继承减少冗余操作应该尽量利用继承机制以减少所需定义的服务数目。只要不违背领域知识和常识,就尽量抽取出相似类的公共属性和操作,以建立这些类的新父类,并在类等级的不同层次中正确地定义各个服务。
本节内容提纲
定义服务:牙科诊所
本页正文以课件图示为主,源文件仅提取到上述文字说明,具体图形内容请对照原课件图片。
张大夫
他有一位牙科助手、一个牙科保健员和一个接待员。张大夫需要一个软件系统来管理预约。当病人打来电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早诊治。如果病人同意建议的就诊时间,接待员就输入约定时间和病人的名字。系统将核实病人的名字并提供记录的病人数据(病历号等)。
在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果必要会安排病人下一次来。系统能够按病人姓名和日期进行查询,能够显示记录的病人数据和预约信息。接待员可以取消预约,可以打印前两天预约未就诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天、每周的工作安排。
张大夫
他有一位牙科助手、一个牙科保健员和一个接待员。张大夫需要一个软件系统来管理预约。当病人打来电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早诊治。如果病人同意建议的就诊时间,接待员就输入约定时间和病人的名字。系统将核实病人的名字并提供记录的病人数据(病历号等)。
在每次治疗或清洗后,助手或保健员将标记相应的预约诊治已经完成,如果必要会安排病人下一次来。系统能够按病人姓名和日期进行查询,能够显示记录的病人数据和预约信息。接待员可以取消预约,可以打印前两天预约未就诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天、每周的工作安排。预约登记表和病人的属性。
分析问题域中对象彼此之间
的关系:每天工作安排和每周工作安排有很多共同点,可以从他们泛化出一个父类“工作安排”。牙科诊所诊治多名病人一位病人有一份病人记录一位病人可能预约多次也可能一次也没有预约牙科诊所在一段时间内将打印出多份病人清单牙科诊所开业来已经建立了多份预约登记表预约登记表中记录了多位病人的预约根据预约登记表在不同时间内可以制定出不同的工作安排。
数据流图
从牙科诊所管理系统的需求陈述可以得知,当进行预约时病人提供姓名、希望的就诊日期等数据,系统查询预约登记表,以确定一个有效的就诊日期,此外,系统还将查询病人记录一获得病历号等病人数据。在每次预约就诊完成之后,应该更新预约登记表,以标记相应的预约诊治已经完成,必要时约定下次就诊日期。诊所职员可以按病人姓名和日期查询预约信息,也可以取消预约。
此外,系统可以打印出每天和每周的工作安排给牙医。
病人职员1查询病人数据2查询预约日期4取消预约5更新预约6查询预约姓名日期姓名,日期姓名姓名,日期D1病人记录病人记录3完成预约7打印工作安排病人数据有效日期D2预约登记表预约信息职员预约信息预约信息预约信息牙医每天、每周工作安排
本章结束软件工程
本页正文以课件图示为主,源文件仅提取到上述文字说明,具体图形内容请对照原课件图片。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}