Skip to content

Commit

Permalink
Merge pull request #2523 from ZhangRay-zr/master
Browse files Browse the repository at this point in the history
#8 #329 排版,所有报告中的图增加了文字说明
  • Loading branch information
zengsn authored Apr 21, 2020
2 parents b952698 + ebc1eb5 commit 9d89bc8
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 134 deletions.
18 changes: 10 additions & 8 deletions students/1714080902529/lab1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,24 @@

## 一、实验目标

1.熟悉GitHub实验过程
2.安装与使用StartUML
1. 熟悉GitHub实验过程
2. 安装与使用StartUML

## 二、实验内容

1.安装GitHub并练习使用Git Bash
2.安装StartUML并创建一个图
1. 安装GitHub并练习使用Git Bash
2. 安装StartUML并创建一个图

## 三、实验步骤

1.安装GitHub以及StartUML
2.使用StartUML创建一个图并将其导出为.jpg格式图片保存到本地仓库
3.使用Git Bash将本地仓库新添的图片提交到远程个人库
1. 安装GitHub以及StartUML
2. 使用StartUML创建一个图并将其导出为.jpg格式图片保存到本地仓库
3. 使用Git Bash将本地仓库新添的图片提交到远程个人库

## 四、实验结果

创建的图如下所示:
![第一个UML图](./model1.jpg)
图1:用StartUML创建的第一个图

## 五、实验体会
这是UML课程的第一次实验,所以在实验过程中所接触的一切都让我觉得很新鲜,尤其是通过GitHub提交实验成果。虽然自己很早就接触过GitHub,但一直以来都只是停留在查找项目以及clone到本地,至于其它功能,虽然自己想去学习使用,但一直没有付诸行动,可能是缺少一个动力吧。如今,这门课规定要用GitHub,倒也给了自己学习GitHub的动力。在学习以及初步使用的过程中,我遇到很多问题的,但随着问题的逐一解决,自己收获了不少,对GitHub的基本功能以及使用有了初步但全面的了解。至于StartUML这个工具,由于目前还未真正地使用它,所以对它还不怎么了解。
35 changes: 17 additions & 18 deletions students/1714080902529/lab2.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,36 @@
# 实验二:用例建模

## 一、实验目标
1. 学习UML及用例的基本概念;
2. 确定个人建模选题;
3. 学习用例建模;
4. 学习用例规约的编写。
1. 学习UML及用例的基本概念。
2. 确定选题并根据选题进行用例建模以及用例规约的编写。

## 二、实验内容
1. 细化功能需求;
2. 画出用例图;
3. 编写用例规约。
1. 确定选题并细化功能需求。
2. 画出用例图以及编写用例规约。

## 三、实验步骤
1. 确定选题为优惠劵发放系统,发布在Issues(#329
1. 确定选题为优惠劵发放系统,发布在Issues(#329
2. 确定系统背景:
- 优惠券发放系统为某一个线上销售平台的子系统,用户使用该销售平台的账户登陆优惠券发放系统。客户在系统中成功领取优惠券后,客户使用领取优惠券的账户登陆销售平台可以查看已领取的优惠券和使用优惠券。
3. 确定参与者(用户):
- 商家
- 客户
3. 确定参与者(用户):商家、客户。
4. 确定用例(功能需求):
- 发放优惠券:商家在系统的优惠券发放页面中,输入商品ID后点击发放优惠券按钮,若该商品存在,系统显示优惠券信息填写页面,商家按要求输入优惠券信息,点击确认发放按钮。若无误即可在该系统中向客户发放某一商品的优惠券。
- 领取优惠券:客户在系统的优惠券领取页面中,点击某一优惠券的领取链接,若该客户未曾领取过该券且优惠券现存数量大于0,客户可成功领取优惠券。
5. 根据确定的参与者和用例,绘制用例图
5. 根据确定的参与者和用例,绘制用例图
6. 编写用例规约。

## 四、实验结果

优惠劵发放系统的用例图如下所示:
## 四、实验结果

![用例图](./lab2_UseCaseDiagram.jpg)
图1:优惠劵发放系统的用例图
图1:优惠劵发放系统的用例图

优惠券发放系统共有两个参与者(Actor),分别是商家和客户,以及共有两个用例,分别是商家发放优惠券用例和客户领取优惠券用例。

## 表1:发放优惠券用例规约

用例编号 | UC01 | 备注
-|:-|-
用例名称 | 发放优惠券 |
用例名称| 发放优惠券 |
前置条件 | 商家进入系统的优惠券发放页面 |
后置条件 | |
基本流程 | 1.商家输入商品ID,点击发放优惠券按钮; |*用例执行成功的步骤*
Expand All @@ -45,7 +41,7 @@
扩展流程 | 2.1系统没有查询到商品ID对应的商品,提示“该商品不存在”; |*用例执行失败*
~| 4.1系统检查到信息的输入格式有误,提示“发放失败,信息的输入格式有误”。 |

## 表2:领取优惠券用例规约
## 表2:领取优惠券用例规约

用例编号 | UC02 | 备注
-|:-|-
Expand All @@ -58,3 +54,6 @@
~| 4.系统提示“优惠券已发放至账户”。 |
扩展流程 | 2.1系统查询到客户的领券记录存在该券的领取记录,提示“您的账户已领取过该券”;|*用例执行失败*
~| 3.1系统查询到券的数量为0,提示“该券已被领取完”。 |

## 五、实验体会
由于刚确定选题,所以对所选系统的总体设计考虑地不全面,导致编写用例规约时有很多重要的点被忽略了,直到看了老师的评语才想到。另外,编写用例规约时如何用精炼的文字将自己所想表达出来也是一大困难,自己时常会卡在某处,对一句话反复地修改。虽然这次实验很麻烦,用例规约被反复地修改,但是耐心地将本次实验做完后,会发现自己对系统的设计思路以及要点越来越清晰了。这无疑对后面的实验提供了巨大的帮助。
30 changes: 16 additions & 14 deletions students/1714080902529/lab3.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,33 @@

## 一、实验目标

1.掌握过程建模方法
2.掌握活动图(Activity Diagram)的画法
1.掌握过程建模方法
2.掌握活动图(Activity Diagram)的画法

## 二、实验内容

1.学习过程建模的概念
2.学习活动图概念及构成
3.绘制活动图
1.学习过程建模的概念
2.学习活动图概念及构成
3.绘制活动图

## 三、实验步骤
1.学习过程建模方法、活动图的概念及构成,了解到活动图的作用为:
- Activity diagrams allow you to specify how your system will accomplish its goals.

2.根据发放优惠券用例规约绘制该用例的活动图
3.根据领取优惠券用例规约绘制该用例的活动图
4.根据绘制活动图过程中所发现的有关于用例规约问题,进一步提炼用例规约
2.根据发放优惠券用例规约绘制该用例的活动图
3.根据领取优惠券用例规约绘制该用例的活动图
4.根据绘制活动图过程中所发现的有关于用例规约问题,进一步提炼用例规约

## 四、实验结果
发放优惠券的活动图如下所示:
![活动图](./发放优惠券_ActivityDiagram.jpg)
图1:发放优惠券的活动图
图1:发放优惠券的活动图

活动过程为:商家输入商品ID,点击发放优惠券按钮,系统将查询商品,若成功则显示优惠券信息填写页面;否则提示“商品不存在”。商家输入优惠券信息,点击确认发放按钮,系统将检查信息的输入格式,若格式正确,系统保存优惠券信息,提示“优惠券发放成功”;否则提示“信息的输入格式有误”。

![活动图](./领取优惠券_ActivityDiagram.jpg)
图2:领取优惠券的活动图

领取优惠券的活动图如下所示:
![活动图](./领取优惠券_ActivityDiagram.jpg)
图2:领取优惠券的活动图
活动过程为:客户点击优惠券的领取链接,系统将查询客户的领券记录,若存在该券的领取记录,系统提示:“已领取过该优惠券”;若不存在该券的领取记录,系统继续查询优惠券的数量,若数量大于0,系统更新优惠券数量、保存本次领券记录并添加所领取的优惠券至账户,最后提示“优惠券已发放至账户”;否则系统提示“该券已被领取完”。

## 五、实验总结
## 五、实验体会
通过这一次实验,我才体会到用例规约对后面的实验有多么的重要。比如在这次实验中,如果用例规约写得简练、准确,那么照着这样的用例规约来绘制活动图将会很简单。我在实验二写的领取优惠券用例规约并不够精炼,导致在画该用例的活动图时,会卡在一个Action上,需要不断地修修改改。当然,通过这样的一个过程,用例规约也被我进一步地提炼。
77 changes: 25 additions & 52 deletions students/1714080902529/lab45.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,60 +2,33 @@

## 一、实验目标

1.掌握类建模方法
2.了解MVC或个人所熟悉的设计模式
3.掌握类图(Class Diagram)的画法
4.理解类的5种关系
5.掌握类之间关系的画法
1. 掌握类建模方法以及类图(Class Diagram)的画法。
2. 了解MVC或个人所熟悉的设计模式。
3. 理解类的5种关系以及掌握类之间关系的画法。

## 二、实验内容

1.学习类的概念以及类建模方法
2.学习类的5种关系
3.学习MVC设计模式
4.绘制类图

## 三、学习笔记

1.What is a class?
- It has an identity.
- A class is a type of something.
- Attributes and operations are the mainstays of a class's description.(属性与操作)

2.At its simplest,a class in UML is drawn as a rectangle split into up to three sections.(用尖角矩形表示)
- The top section contains the name of the class.(名称)
- The middle section contains the attributes or information that the class contains.(属性)
- The final section contains the operations that represent the behavior that the class exhibits.(操作)

3.UML's four different visibility classifications.
- Public、Protected、Package、Private.

4.Class relationships.(It's better to build a weak class relationship——低耦合)
- Dependency:When objects of one class work briefly with objects of another class.(Weaker class relationship)
- Association.(联合)
- Aggregation.(聚合)
- Composition.(组合)
- Inheritance:When one class is a type of another class.(stronger class relationship)

5.MVC Design Pattern
- Model.(模型、实体、数据)
- View.(视图、界面)
- Control.(控制器、系统)

## 四、实验步骤
1.在类图中增加Control类(发放优惠券控制器和领取优惠券控制器)
2.在类图中增加View类(优惠券的信息填写页面和已发放优惠券的信息页面)
3.根据用例规约提取出各类信息、数据
4.将提取出的信息、数据抽象成类,作为MVC设计模式中的Model
5.在类图中增加Model类
6.设计各Model类之间的关系

## 五、实验结果
![活动图](./Send_MVC_ClassDiagram.jpg)
图1:发放优惠券的类图
1. 学习类的概念、类建模方法、类的5种关系以及MVC设计模式。
2. 绘制类图。

## 三、实验步骤
1. 了解类之间的5种关系:Dependency(依赖)、Association(联合)、Aggregation(聚合)、Composition(组合)、Inheritance(继承)。
2. 了解MVC设计模式:Model(模型、实体、数据)、View(视图、界面)、Control(控制器、系统)。
3. 在类图中增加Control类(发放优惠券控制器和领取优惠券控制器)。
4. 在类图中增加View类(优惠券发放页面、优惠券信息填写页面和优惠券领取页面)。
5. 根据用例规约提取出各类信息、数据,将提取出的信息、数据抽象成类,作为MVC设计模式中的Model,并在类图中增加Model类。
6. 设计各Model类之间的关系。

## 四、实验结果
![类图](./Send_MVC_ClassDiagram.jpg)
图1:发放优惠券的类图

上图是用MVC设计模式画的发放优惠券的类图。其中共有五个类,包括Control类:发放优惠券控制器,View类:优惠券发放页面、优惠券信息填写页面,Model类:优惠券、商品。发放优惠券控制器与其它四个类都存在着依赖关系,优惠券类与商品类之间存在聚合关系。

![活动图](./Receive_MVC_ClassDiagram.jpg)
图2:领取优惠券的类图

## 六、实验总结
![类图](./Receive_MVC_ClassDiagram.jpg)
图2:领取优惠券的类图

上图是用MVC设计模式画的领取优惠券的类图。其中共有五个类,包括Control类:领取优惠券控制器,View类:优惠券领取页面,Model类:优惠券、账户、领券记录。领取优惠券控制器与其它四个类都存在着依赖关系,账户类与优惠券类之间存在聚合关系,领券记录类与账户类之间存在聚合关系,领券记录类与优惠券类之间存在聚合关系。

## 五、实验体会
通过这一次实验,我学习了类的基本概念、类建模方法、类之间的关系以及MVC设计模式。在画类图的过程中,我认为最重要的是要把用例规约中的各类信息、数据找出来,并抽象成一个类,最后还要考虑这些类之间是否存在着某种关系。从MVC设计模式角度来看,主要就是要找出Model以及Model之间的关系。如果能把这些理清楚,那么类图就基本没什么问题了。
46 changes: 20 additions & 26 deletions students/1714080902529/lab6.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,31 @@
# 实验六:对象交互建模

## 一、实验目标
1. 理解系统交互;
2. 掌握UML顺序图的画法;
3. 掌握对象交互的定义与建模方法。
1. 理解系统交互,掌握对象交互的定义与建模方法。
2. 掌握UML顺序图的画法。

## 二、实验内容
1. 根据用例模型和类模型,确定功能所涉及的系统对象;
2. 在顺序图上画出参与者(对象);
3. 在顺序图上画出消息(交互)。
1. 根据用例模型和类模型,确定功能所涉及的系统对象。
2. 绘制顺序图。

## 三、学习笔记
1. A sequence diagram describes the order in which the interactions take place,so time is an important factor.(描述了交互发生的顺序)
2. Time on a sequence diagram starts at the top of the page,just beneath the topmost participant heading,and then progresses down the page.(时间顺序——从上到下)
3. Time on a sequence diagram is all about ordering,not duration.(时间仅表示先后顺序,不表示时间跨度)
4. An event is any point in an interaction where something occurs.
5. An activation bar can be shown on the sending and receiving ends of a message.(存活条显示了发送端和接收端,注:所有的消息都要画在存活条上)
6. 为了图的简洁,可以不画返回消息.

## 四、实验步骤
1. 从用例图找到第1个参与者(Actor);
2. 从类图找到N个参与者(View、Control、Model都是参与者);
3. 从活动图找到操作步骤,画出参与者之间的消息;
4. 在画顺序图的过程中,发现有些地方是不正确的,对用例规约、活动图、类图依此进行修改;
5. 继续画顺序图,若再发现不正确的,回到步骤4;
## 三、实验步骤
1. 从用例图找到第1个参与者(Actor)。
2. 从类图找到N个参与者(View、Control、Model都是参与者)。
3. 从活动图找到操作步骤,画出参与者之间的消息。
4. 在画顺序图的过程中,发现有些地方是不正确的,对用例规约、活动图、类图依此进行修改。
5. 继续画顺序图,若再发现不正确的,回到步骤4。
6. 如此反复执行步骤4和步骤5,直到成功完成顺序图。

## 、实验结果
## 、实验结果
![顺序图](./Send_SequenceDiagram.jpg)
图1:发放优惠券的顺序图

图1:发放优惠券的顺序图

上图是发放优惠券的顺序图。参与者有商家、优惠券发放页面、优惠券信息填写页面、发放优惠券控制器、商品、优惠券。参与者之间具体的交互过程为:商家向优惠券发放页面发送消息“输入商品ID”;商家向优惠券发放页面发送消息“点击发放优惠券按钮”;优惠券发放页面向控制器发送消息“查询商品”;控制器向商品发送消息“查询商品”;如果查询成功,控制器向优惠券信息填写页面发送消息“显示页面”;商家向优惠券信息填写页面发送消息“输入优惠券信息”;商家向优惠券信息填写页面发送消息“点击确认发放按钮”;优惠券信息填写页面向控制器发送消息“发放优惠券”;控制器检查信息的输入格式;若无误,控制器向优惠券发送消息“保存优惠券信息”。

![顺序图](./Receive_SequenceDiagram.jpg)
图2:领取优惠券的顺序图

## 六、实验总结
图2:领取优惠券的顺序图

上图是领取优惠券的顺序图。参与者有客户、优惠券领取页面、领取优惠券控制器、优惠券、领券记录、账户。参与者之间具体的交互过程为:客户向优惠券领取页面发送消息“点击优惠券的领取链接”;领取页面向控制器发送消息“领取优惠券”;控制器向领券记录发送消息“查询领券记录”;若不存在领券记录,控制器向优惠券发送消息“查询数量”;若数量大于0,控制器向优惠券发送消息“更新数量”;控制器向领券记录发送消息“保存领券记录”;控制器向账户发送消息“添加所领取的优惠券”。

## 五、实验体会
这次的实验再一次让我感受到了前面实验的重要性,前面的实验如果完成得好,相当于给后面的实验打下了稳固的基础。我就是前面的实验完成得不太好,有些地方没有想清楚如何去设计,以至于在此次画顺序图的过程中,不断地发现不合理的点,需要倒回去修改用例规约、活动图、类图。虽然这一个过程很麻烦,但随着不断地修改,自己对这个系统的设计思路越来越清晰,这无疑对后面实验的开展有巨大的帮助。
Loading

0 comments on commit 9d89bc8

Please sign in to comment.