学堂在线_清华大学_软件工程_第十章 行为建模

合集下载

第十章 状态机图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

第十章 状态机图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社
事件包含一个参数列表(可能为空),用于从事件的产生者向其接 收者传递信息。
对应于触发器转换,没有明确的触发器的转换成为结束转换或无触 发器转换,是在状态的内部活动执行完毕后隐式触发的。
转换——事件
能够在触发器中接收的事件有以下四种:
调用事件:调用事件表示对象接收到一个调用操作的请求。其期待的结 果是事件的接收者触发一个转换并执行相应的操作。
改变事件:改变事件的发生依赖于事件中某个表达式所表达的布尔条件。 改变事件没有参数,要一直等到条件被满足才能发生。
信号事件:信号由一个对象准确地送给另一个或一组对象。发送给一组 对象的信号可能触发每个对象的不同转换。
时间事件:时间事件的发生依赖于事件中的一个时间表达式。比如,可 以让对象进入某状态后经过一段给定的时间或到达某个绝对时间后发生 该事件。
转换——事件
stm 订单类 Unselected
click(posX, posY) [posX==x and posY==y]
Selected
(a)
SingleSelectionMode shiftKeyUp MultiSelectionMode shiftKeyDown (c)
状态机图
状态机 状态机图
状态机图的基本概念
状态机
状态机是一种行为,它说明对象在其生命周期中响应事件所经历的 状态变化序列以及对那些时间的响应。
一般情况下,一个状态机依附于一个类,用来描述这个类的实例的 状态及其转换,和对接收到的事件所做出的响应。此外,状态机也可 以依附于用例、操作、协作等元素上,描述它们的执行过程。
等待支付
[立即支付] 审核完成
[及时支付]
[超出支付时限]
审核失败
状态机图

软件工程课堂练习与参考答案

软件工程课堂练习与参考答案

软件工程课堂练习与参考答案课堂练习一、填空题1、软件的生存期包括:问题的定义、()、需要分析三个阶段。

2、可行性分析的内容包括:()、经济可行性、操作可行性和法律可行性。

3、模块独立性设计的标准是:模块化、抽象、()、和信息隐藏。

4、主程序员组由主程序员、()、后备程序员、编程秘书组成。

5、成本/效益分析目的是从()评价开发一个新的软件项目是否可行。

6、模块是由边界元素限定的()(例如,数据说明、可执行的语句等)的序列。

7、模块化就是把程序划分成()且可独立访问的模块。

8、人类在认识复杂现象的过程中使用的最强有力的思维工具是()。

9、人机界面的设计质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给以()。

10、质量保证是为保证产品和服务充分满足消费者要求的质量而进行的有计划、()的活动。

二、问答题1.简述需求分析的基本步骤。

2.有哪些常用的需求收集方法和技术?试选择某一系统并根据方法进行需求收集。

3.数据流图与数据词典之间有什么关系?4.试考察某一学生档案管理系统,用实体联系图描述该系统的主要数据。

5.试考察某一学生成绩管理系统,对其进行尽可能详细的功能建模和数据建模。

6.举例说明“做什么”与“怎么做”之间的差别。

7.某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,计算机根据各班学生用书表及售书登记表审查有效性。

若有效,计算机根据教材库存表进一步判断书库是否有书;若有书,计算机把领书单返回给学生,学生凭领书单到书库领书。

对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将进书通知返回给系统。

请就以上系统功能画出分层的DFD图(第三层只需画出销售子系统的DFD 图)。

参考答案一、填空题1、可行性分析2、技术可行性3、逐步求精4、程序员5、经济角度6、程序元素7、独立命名8、抽象9、足够重视 10、有组织二、问答题1.需求分析的基本步骤:1)获取用户需求2)分析用户需求3)编写需求文档4)评审需求文档5)管理需求2.需求收集方法和技术:1)跟班作业通过亲身参加业务工作来了解业务活动的情况。

课程标准-软件工程与UML项目化实用教程(第2版)-刘振华-清华大学出版社

课程标准-软件工程与UML项目化实用教程(第2版)-刘振华-清华大学出版社

《软件工程》课程标准课程信息【课程编码】:xxxxx【课程名称】:软件工程【适用专业】:计算机类各相关专业【先修课程】:C语言程序设计、SQL Server数据库技术、oracle 数据库技术、Java语言程序设计和Servlet&JSP开发技术等【后续课程】:顶岗实习【建议课时】:72课时1.课程定位《软件工程》是高等职业教育软件技术专业的专业必修课程。

本课程是一门研究和指导软件开发和维护的工程性课程,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品。

通过本课程的学习,使学生掌握软件工程的常用工具的使用,能够熟练使用工具辅助完成软件需求分析建模、数据库设计、界面设计和管理工作。

2.课程设计理念《软件工程》作为一专业必修课程,重点要求学生学习了解与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范。

进而通过课程实践培养学生运用软件工程工具辅助完成软件需求分析建模、软件设计、数据库设计、界面设计和管理工作的实践应用能力与创新能力,努力成为当今信息社会和知识经济时代所需要的高素质计算机人才。

3.课程目标本课程是软件技术专业的专业必修课程。

通过本课程的学习,使学生初步建立工程化意识,掌握用工程化思想(包括技术、方法与环境)开发各种软件,以软件的生命周期作为主线,了解软件工程的基本理论,进一步系统化、工程化,为今后实际工程中能够进行系统分析与设计奠定良好的基础。

3.1知识目标1)熟悉软件与软件工程基本概念和基本知识。

2)熟悉软件与软件工程基本原理和准备、实施、评价策略。

3)掌握运用一些具体的方法与技术,如软件需求规格说明书的格式叙写、软件设计方法、软件测试的步骤等。

4)熟悉软件工程主要文档编制规范。

大学生心理健康清华大学学堂在线 答案

大学生心理健康清华大学学堂在线 答案

大学生心理健康清华大学学堂在线答案
1.心理学是在()模式下研究人的问题的。

A简单
B.健康
C通约
D.一般
正确答案:C
2心理学学科的发展迄今是()的局面。

A稳步向前
B.曲折坎坷
C百花齐放
D.停滞不前正确答案:C学习心理学要追求()、不要苛求()。

A正确有效
B.有效正确
C真理逻辑D逻辑真理
正确答案:B心理学的研究跟其他学科不一样,是因为它研究的是复杂多面的“人”。

正确答案:√
科学不代表真实,只是行走在通近真实的道路上。

正确答案:V
作业标题:什么是心理学
主观是由我们的感知和觉知之间构成的现实。

正确答案:√
2客观是被所有人都能够感知的那个现实。

正确答案:V
3你理解的事物就是事物的本身。

正确答案:x
4我们能理解美国人“嗷嗽”是在学狗叫,是因为()(多选)A美国人养大狗
B.关于狗叫声形成了通约
C这是不同情境下的不同标准
D.中国人智商较高
正确答案:ABC
5心理学是:研究个体感觉、()、情绪、意识与精神活动之间关系的科学A思想
B.行为
C外形
D.动作
正确答案:B。

全国2024年上半年高等教育自考试软件工程试题含解析

全国2024年上半年高等教育自考试软件工程试题含解析

全国2024年上半年高等教育自考试软件工程试题一、单项选择题1、结构化分析方法给出了一种能表达功能模型的工具是______。

A.HIPO图B.PAD图C.N-S图D.DFD图2、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。

A.IdleB.InitializingC.CommandD.Active3、结构精细化设计过程中,为了提高模块的独立性,应遵循的原则是______。

A.低内聚高耦合B.低内聚低耦合C.高内聚低耦合D.高内聚高耦合4、软件工程在20世纪60年代末到80年代初获得的主要成果有______。

A.CASE产品B.面向对象语言C.瀑布模型D.软件生存周期过程5、“与所规约的系统执行之间的偏差”是指______。

A.错误B.失效C.故障D.误差6、集成化能力成熟度模型(CMMI)中有22个过程域,分为4类:项目管理类、工程类、过程管理类和______。

A.需求管理类B.支持类C.项目包类D.目标类7、RUP的迭代、增量式开发过程中,需要估算成本、进度,并能够减少次要的错误风险,至少需要完成______。

A.初始阶段B.精化阶段C.构造阶段D.移交阶段8、下列不属于软件危机的主要表现是______。

A.软件生产效率低B.软件开发没有工具支持C.软件生产质量低D.软件开发缺乏可遵循的原理、原则、方法体系以及有效的管理9、在销售管理系统需求文档中出现下列描述,属于设计约束范畴的是______。

A.系统应能产生月销售报表B.系统应在5分钟内计算出给定季度的总销售税C.对要构建的账户接收系统,必须为月财务状况系统提供更新信息D.任取1秒钟,一个特定应用所消耗的可用计算能力平均不超过50%10、需求规约的基本性质包括重要性和稳定性程度、一致的、完整的和______。

A.可修改的B.可复用的C.可测试的D.无歧义的11、软件测试中,白盒测试技术依据的是程序的______。

基于学堂在线MOOC平台的《工程制图基础》在线开放课程建设

基于学堂在线MOOC平台的《工程制图基础》在线开放课程建设
[15]司国东,宋鸿陟,赵玉.认知负荷理论基础上的移 动学习资源设计策略研究[J].中国远程教育,2013(9):8892.
[16]李浩君,项静,吴亮亮.概念图理论在移动学习资 源设计中的应用研究[J].中国远程教育,2013(7):76-82.
渊编辑院王天鹏冤
58 中国教育信息化/2018.05
《中国教育信息化》编辑部:mis@
叶工程制图基础曳在线开放课程 MOOC 教学视频过程中的单独知识点 PPT 时长及要求尧脚本和拍摄大纲
准备尧摄影棚及拍摄设备尧服装要求袁并总结了宣传片取景原则尧宣传资料准备及拍摄过程遥 最后给出了基
于 MOOC 平台制作教学视频的建议遥
关键词院工程制图曰MOOC曰学堂在线曰教学视频曰录制过程
中图分类号院G434
图 1 中文 MOOC 平台学堂在线的发展模式
二尧基于 MOOC 平台的在线开放课程优点 野慕课冶作为大规模开放在线课程袁虽然仍以在线教 育为其基本形式袁 但与传统的在线教育已大不相同袁这 不仅表现在所使用的技术手段得到更新袁更重要的是体 现在两者所倚赖的理念上袁因而所彰显的特征也有如下 差异[6袁7]院 渊1冤开放性遥 学习者只需要在野慕课冶网站上注册账 号袁设定用户名和密码就可以学习相应的课程遥 一门课 程的注册学习人数可能达至几万人甚至十几万人袁课程 授课教师的影响也成倍扩散袁课程的野入冶与野出冶在时间 与空间上都得以拓展遥 渊2冤互动性遥 野慕课冶与传统在线教育相较而言最为 明显的差异之一就在于互动性袁野慕课冶的课程设计尤为 注重在教师与学生之间尧学生与学生之间营造互动的学 习体验遥 渊3冤自主性遥 野慕课冶的课程内容通常采用组合模式袁 即完成若干个小模块的组合才能完成课程学习遥 自己选 择课程尧解决学习时间分散的困难以及逐项完成整个课 程的学习等要求都表明野慕课冶所蕴含的自主性特征遥 MOOC 是在传统教育基础上融合互联网尧 大数据尧 人工智能等先进科技发展成果发展出来的一种最新教 育形式袁其本质是野互联网+教育冶袁也是野教育+互联网冶袁 是教育和互联网的有机融合遥 MOOC 实现了优质教育资 源的社会化共享与智能化呈现袁形成了以学生为中心的 教育理念袁 多种教育展示形态相结合以及智能 野教冶与

第-五讲--行为建模PPT课件

第-五讲--行为建模PPT课件

西安邮电学院通信工程系
格式: begin: 块名 … end 或 fork:块名 … join
第五讲 行为建模
过程的时序控制
西安邮电学院通信工程系
在过程块中可以说明过程时序。过程时序控制有三类: ❖ 延时执行:#delay, 延迟指定时间步后执行语句 ❖ 边沿敏感事件的时序控制:@(<signal>)
第五讲 行为建模
有名块
有名块的块名作用: ❖ 便于实现对块语句的有效控制 用disable语句终止或提前结束有名块的执行过
程 ❖ 允许在块内引入局部变量 只在块内起作用的变量 变量名可以和块外的其他变量名相同 一定是寄存器类 例: begin: SEQ_BLK
reg[3:0] sat sat = mask & data; ff = ^sat; end
❖ Verilog的行为建模是用一系列以高级编程语言编写的并行的、动态的过
程块来描述系统的工作。
D触发器行为
在每一个时钟上升沿,
若Clr不是低电平,
ห้องสมุดไป่ตู้
置Q为D值,
置Qb为D值的反
无论何时Clr变低 置Q为0, 置Qb为1
第五讲 行为建模
西安邮电学院通信工程系
过程块(procedural)
❖ 过程块是行为模型的基础。一个模块中可以有多个过程块,过程块有两种:
第五讲 行为建模
西安邮电学院通信工程系
行为建模(描述)
❖ 行为级描述是对系统的高抽象级描述。在这个抽象级,注重的是整个系 统的功能而不是实现。
❖ Verilog有高级编程语言结构用于行为描述,包括:initial, always,@, wait, for, while, if else, case 和 forever 等。

软件工程理论与实践(高等教育出版社)课后答案

软件工程理论与实践(高等教育出版社)课后答案

习题一答案一、选择题1. 软件的主要特性是(A B C)。

A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。

A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。

A) 螺旋模型B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件工程的主要目标是(C)。

A) 软件需求B) 软件设计C) 风险分析 D) 软件实现5. 下列属于面向对象开发方法的是(A B CD)。

A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。

A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A BC)A) 螺旋模型B) 循环模型C) 瀑布模型 D) 专家模型8. 软件工程的目标有(A B C)。

A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。

A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。

(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。

(×)4. 结构化方法和OO方法都是一种面向过程的软件开发方法。

(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。

(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。

( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。

(×)8. 软件工具的作用是为了延长软件产品的寿命。

(×)9. 软件工程过程应该以软件设计为中心,关键是编写程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
消息 addDeposit(amount, target)比 addDeposit(Currency, Account) 传递了更多的信息
• 在消息中只使用类型信息不能传递足够的信息 • 参数的类型信息用UML类图表示更好
7
顺序图建模风格
• 建模风格3:不要对明显的返回值建模。
马小跳: 学生
选课登记表
选课管理员
线性代数
线性代数 A段
1: 填写个人信息
2: 提交
3: 将马小跳加入线代选课名单 4: 添加马小跳
5: 还有位置吗?
6: 如果有,添加马小跳
2
组合框:复杂控制结构表示
• 框(Frame):框中包含顺序图的部分结构,表示选择(selection)或者 循环(loop)结构,左上角注明结构类型,[]中注明条件。
If -> (opt)[condition]
if/else -> (alt)[condition]
通过水平虚线分割不同情形 并发结构 -> (par)
• 集中式的? • 分布式的?
11
例1:集中控制的计价系统顺序图
12
例2:分布控制的计价系统顺序图
CalculatePrice
an Order
An Order Line
aProduct
1. calculatePrice 1.1. getPrice(quanEty:number)
{c.receiveTimec.sendTime<1秒}
:交换机
a:拿起话筒 b:发拨号声 c:*拨号 {时间少于30秒}
逻辑连通 创建 c:会话
接通
连接s与r
r :电话
阵铃{30秒} 拿起话筒 接通
问题:时间超过30秒的情况没说明 会话对象没有说明计费等情况
<5秒
集中、分布控制 • 下述两种系统的控制流有什么特点?
9
绘制顺序图 1. 在顺序图顶端绘制矩形框,定义参与交互的类实例(对象)名; 2. 在每个对象下面绘制竖直虚线,表示该对象的生命线; 3. 在对象间添加箭头表示各种类型的消息,跟踪对象间的控制流; 4. 生命线加竖直矩形定义对象激活期,表明对象正在执行某操作; 5. 根据需要添加框的组合与关联,表示复杂的控制结构。
• 如果对象存在,则具有相应表示其属性的值 • 每一种状态表示一种可能的状态赋值
• 例如:栈
Push()
Push()
Push()
Push()
new()
empty
1 item
2 items
3 items
4 items

Pop()
Top()
Pop()
Top()
Pop()
Top()
Pop()
Top()
引用相关图表
Deliver cash
对象的创建与撤销
• 创建(creation):”new”标明的箭头 • 用例场景中新建的对象在图中的位置较低
• 撤销(deletion,destroy): 生命线底部的“X” • 注:在Java没有明确的销毁对象的操作, 通过垃圾回收机制处理
7
1
顺序图建模过程:
• 参与者
顺序图中有关的对象或者实体
• 消息
参与对象之间的通信,通过箭头表示 • 顺序图的起始是一个没有发起对象的
消息 • 每个消息代表的操作属于消息接受方
• 轴
• 横轴: 表明正在进行操作的对象/参与者 • 纵轴: 时间(向下表明时间的顺延)
5
消息的表示形式
例:一些消息的例子 2: display (x, y) 1.3.1: p:= find(specs) 4 [x < 0] : invert (x, color) 3.1*: update ( ) A3,B4/ C2: copy(a,b)
简单消息 嵌套消息,消息带返回值 条件消息 循环消息 线程间同步
1
顺序图与用例对应
1. The customer requests a funds transfer. 2. The system asks the user to iden7fy the accounts between which funds are to be transferred and the transfer amount. 3. Customer selects the account to transfer funds from, the account to transfer to, and then indicates the amount of funds to transfer. 4. The system checks the account from which funds are to be transferred and confirms that sufficient funds are available. 5. The amount is debited to the account from which funds are to be transferred and credited to the account previously selected by the customer by the system.
例:银行行系统的交易验证
创建 :交易
创建
:交易协调器
创建
创建
信用:交易检查器 担保:交易检查器
返回有效性
成功
全部做完? 成功
全部做完?
思考题:有缺陷的顺序图 • 这个顺序图有什么问题?
(留意UML的语法以及场景的可行性)
9
修改方案1
s :电话 {b.receiveTimea.sendTime<1分钟}
5
顺序图建模风格
• 建模风格1:把注意力集中于关键的交互。 • 创建模型时要把注意力集中于系统的关键方面,而不要包括无关的细节。 例如: 如果顺序图是用于描述业务逻辑的,就没必要包括对象和数据库之间 的详细交互。
6
顺序图建模风格
• 建模风格2:对于参数,优先考虑使用参数名而不是参数类型。 • 例如
• 建模风格4:可以把返回值建模为方法调用的一部分。
8
顺序图常见问题分析
• 顺序图中时间约束的表示 • 用约束 (constraint)来表示。
9
控制焦点(focus of control)的嵌套
• 嵌套的FOC可以更精确地说明消息的开始和结束位置。 • 图例:
激活期(ac/va/on):表示对象执行一个动作的期间(直接操作或者通过下级操 作),也即对象激活的时间段。 控制焦点和激活期是同一个概念。
顺序图常见问题分析
• 顺序图中递归的表示 • 利用嵌套的FOC表示
例1. 单个对象自身的递归。
11
顺序图常见问题分析
• 顺序图中递归的表示 • 利用嵌套的FOC表示
例2. 多个对象间相互递归调用的表示。
12
顺序图的作用
• 帮助分析人员对照检查用例中描述需求,是否已经落实给具体对象去实现 • 提醒分析人员去补充遗漏的对象类或操作 • 帮助分析人员识别哪些对象是主动对象 • 通过对一个特定的对象群体的动态方面建模,深入地理解对象之间的交互
UML 2.0中图的分类
Profile Diagram UML 2.5
1
交互行为建模—顺序图
Modelling Interac9ons
顺序图举例(Sequence Diagram)
• 顺序图用来刻画系统实现某个功能的必要步骤
6
顺序图中的基本结构
循环
条件
返回消息
创建对象
对象
7
顺序图中消息的循环发送
• 在消息名字前加循环条件或添加循环控制框
例: 1.1 *[ for all order lines]: message1() 2.1 *[i:=1..n]: message2()
8
顺序图中带条件消息的发送 • 在消息名字前加条件子句; • 使用文字说明; • 添加条件控制框; • 分成多个顺序图子图并关联
n 消息(Message)用于描述对象间的交互操作和值传递过程
n 消息类型:
n Synchronous 同步消息(调用消息)
n Asynchronous 异步消息
n Return
返回消息
n Self-message 自关联消息
n Time-out
超时等待
n Uncommitted/Balking 阻塞
2. getDiscountedValue(an Order) 2.1. getBaseValue
2.2. discountedValue
aCustomer
13
顺序图与用例的关系 I
• 顺序图表达单个情景实例的行为。 • 每个用例对应一个顺序图。 • 顺序图表达对象间如何协作完成用例所描述的功能。 • 顺序图用于表示为完成用例而在系统边界输入输出的数据以及消息 • 顺序图也用于表示系统内部对象间的消息传递。
2
有限状态机
• 有限数量的状态 (所有的属性取值为有限的范围)
alt [value>$10000]
1: dispatch()
[else]
2: dispatch()
opt
3: confirm()
5
顺序图间的关联
• 当一个顺序图过大 • 需要引用其他图表时,
选择下述表示:
• 不完整的箭头和注释 • 通过名为”ref”的框图
loop -> (loop)[condition or items to loop over]
相关文档
最新文档