欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[软件工程期末复习】知识点+大题详解(E-R图、数据流图、N-S框图、状态图、活动图、用例图 ....)(下图)

最编程 2024-04-13 12:46:03
...

5.活动图


(1)基本符号


和状态图类似,初态用实心表示,终态用环形表示,圆角矩形代表活动,菱形代表分支,横线黑线代表并发。

可以参考这张图,更为直观

(2)实战演练


例题:下面的文字描述了某大学新生报到的过程:

新生首先要填一张新生注册表单。如果填写不正确,则在别人的帮助下重新填写,直至填写正确,然后进行注册。注册成功之后,要进行开学典礼,同时在新生选课系统中注册,然后交齐第一个学期的学费。 画出活动图。

6.用例图


用例图由三个基本元素和四个关系构成。

三个元素:参与者、用例、容器

四个关系:关联、泛化、包含、扩展


(1)基本符号


①三个元素

②四个关系

Ⅰ 关联

适用于参与者和用例之间,通常由参与者指向用例。

单向实箭头表示

Ⅱ 泛化

适用于于用例与用例之间或参与者与参与者之间。它和面向对象中的继承关系类似,子用例继承父用例的所有功能。

空心三角箭头表示

Ⅲ 包含

适用于用例和用例直接,由复杂用例分解出简单用例

虚线箭头表示

Ⅳ 扩展

适用于用例与用例直接,对基础用例的功能扩展

虚线箭头表示

(2)实战演练1


例题:在火车票预订系统中,客户可以进行购买车票、退订车票、查询余票和查询列车时刻四个操作。不管是购买车票还是退订车票,用户都必须先进行登录系统操作。其中查询列车时刻主要包括按站站查询和按车次查询两种方式。如果在登录系统的过程中忘记密码,则还可使用找回密码功能。画出用例图。

(3)实战演练2


例题:系统拥有注册功能,顾客注册后进行登录,才能在系统中购买商品;顾客可以通过系统浏览商品,查看商品的详细信息,购买自己喜欢的商品;顾客付费方式要多样化,既可以通过银行的在线支付功能付款,也可通过汇款方式付款;系统拥有商品的促销功能,对于某些系统指定的商品或用户购买的商品金额超过一定数量时,在顾客结账时给予优惠;

用例图顾客登录后,可以使用留言功能对商品或服务留言评价;

系统的管理员可以使用留言功能对顾客提出的疑问做出解答,还可以管理注册的用户;录入员能够更新商品信息,包括增加新商品和对现有商品信息的更新;系统允许多人同时在线,进行商品的浏览和购买操作。

7.类图


(1)构成要素


类图由类的名称、字段和属性、方法,三部分构成。

其中“+” 表示public;“-“ 表示private;”#"表示protected

比如

第一层“动物”是类的名称;

第二层“+有生命”是动物的属性;

第三层“+新陈代谢+繁殖”是动物具有的方法。

(2)基本关系


①继承

鸟属于动物,可以继承动物属性

表示方法:实线+空心箭头

②实现

飞翔实现了“飞行”方法

表示方法:虚线+空心箭头

③关联

企鹅的生活和气候息息相关

表示方法:实线箭头


④依赖

动物需要水和氧气才能生存

表示方法:虚线箭头

⑤聚合(包含)

一个雁群中有很多大雁,即包含关系

表示方法:空心菱形 + 实线箭头

⑥组合(拥有)

鸟和它的翅膀体现了部分和整体的关系,即组合关系

表示方法:实心菱形 + 实线箭头

(3)实战演练


根据以下描述,画出相应的UML类图

神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。

航天员可以在返回舱内驾驶飞船,轨道舱是航天员工作和休息的场所。在紧急的情况下,可以利用逃逸救生塔逃生。

在飞船两侧有多个太阳能电池翼,可以为飞船提供电能

8.程序图(顺序图/程序控制流图)


(1)基本概念


程序图可以将程序流程图,N-S图,PAD图映射到图形中。


注意:

一个或多个顺序语句可以映射为程序图的一个节点,用带标识的圆表示。

一个处理框或判定框可以映射为一个节点

程序控制流向用方向箭头表示,且一条边必须终止于一个节点(该节点可以不代表任何含义)

比如下图,可以将2,3分为两个圆表示,也可以合在一起

(2)计算环形复杂度


环形复杂度V(G)=E-N+2,其中,E是程序图中边数,N是结点数

上图中V(G)=11-9+2=4

有人可能要问,如果将图中2、3两个节点和4、5两个节点分开结果依然正确吗?

可以自己试试,不影响复杂度,V(G)=13-11+2=4


9.常见软件过程模型的特点


模型名称 技术特点 适用范围
瀑布模型 简单,分阶段,阶段间存在因果关系,各个阶段完成后都有评审,允许反馈,不支持,用户参与,要求预先确定需求 需求明确且不易改变的软件系统,专业
快速原型模型 不要求需求预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化 需求复杂、难以确定、动态变化的软件系统,小白
增量模型 软件产品是被增量式地一块块开发的,允许开发活动并行和重叠 软件开放,逐渐增加功能的软件系统
迭代模型 不要求一次性地开发出完整的软件系统,将软件开发视为一个逐步获取用广需求、完善软件产品的过程 需求难以确定、不断变更的软件系统
螺旋模型 结合瀑布模型、快速原型模型和迭代模型的思想,并引进了风险分析活动 需求难以获取和确定、软件开发风险较大的软件系统
RUP