基于教学资源共享系统建模分析
一、项目描述
网络教学平台突破了传统教学中时间空间的限制,使学习可以随时随地,让学生可以更好地利用碎片化时间,因此网络共享平台地搭建成为一个富有意义的项目。 本系统实现文件的上传和下载,实现网上教学资源的共享,让教师可以上传、管理教学资源,学生则可以进行下载学习。
二、需求提取
首先理解需求--需求:用户期望的软件行为的表述。之后在项目的简单描述中找到业务功能相关部分进行扩展和提取。
需求描述:
网站用户包含学生和老师。
学生通过注册后,登录网站,搜索资源(名字或者资源号)后下载资源进行学习,然后退出。
老师登录网站后,上传资源(设置资源类别,名字,序号,描述),以便学生能够下载,同时对资源进行管理(分类,删除)。
老师能够对学生用户进行管理,删除和添加学生。老师能查询资源并下载资源。
三、用例建模
简单理解用例
3.1 用例
用例---是一种业务过程。有三个基本要素:
(1)参与者触发
(2)完成一个特定的业务任务
(3)为参与者返回一个结果
3.2用例的必要条件
必要条件一:它是不是一个业务过程?
必要条件二:它是不是由某个参与者触发开始?
必要条件三:它是不是显式地或隐式地终止于某个参与者?
必要条件四:它是不是为某个参与者完成了有用的业务工作?
3.3 用例关系
(1)关联关系:采用实线表示,表示两个对象之间存在联系,一般用于参与者和用例之间
(2)包含关系:虚线上加<include>,表示基本用例进行更具体的细分
(3)扩展关系:虚线上加<extend>,表示在基本用例上进行功能扩展的扩展用例
3.4 用例的层次
(1)抽象用例:业务任务(简单的动名词短语)
(2)高层用例:规定用例起始结束时间
(3)扩展用例:描述详细的参与者和系统的交互过程
3.5 用例建模的基本步骤
(1)从需求中找到用例(动名词短语)
(2)抽象-->高层, 用例按子系统分类,并描述关系
(3)扩展用例
理解用例之后,可以发现需求中的动名词极大可能是用例,再结合用例的必要条件就可以得到用例。 actor:学生。 动名词:资源查找(1.按编号查找 2.按名字查找),资源下载。 actor:老师。 动名词: 资源管理(资源上传,资源删除,资源分类),资源下载,资源查询(1.按编号查找 2.按名字查找),用户管理(用户删除,用户添加)。
因此用例图:
四、数据建模及业务类图
4.1业务领域建模的基本步骤
(1)收集业务领域信息
(2)头脑风暴
(3)给这些应用业务领域概念分类
(4)将结果用 UML 类图画出来。
4.2 头脑风暴具体做法
• 名词和名词短语(nouns / noun phrases)可能是类或者属性;
• “Y 的 X”(X of Y)表达方法,可能X是Y的属性,也可能X是关联关系中的一个参与者,比如中国科学技术大学的小王同学;
• 及物动词(transitive verbs)往往意味着关联关系;
• 形容词(adjectives)一般是属性值;
• 数量词(numeric)往往意味着属性或者属性值;
• 所有关系的表达方法(possession expressions)很可能是聚合关系,也可能是属性;
• 构成关系的表达方法(constituents / “part of" expressions)一般是聚合关系;
• 包含关系的表达方法(containment / containing expressions)一般表示关联关系或者聚合关系;
• ”X 是一种/类 Y“(X is a Y)表达方法一般是继承关系;
4.3 类图
4.3.1 基本画法
4.3.2 类之间的关系
(1)继承(泛化关系)关系:extends。表现在类中就是基本类的具体化。
(2)关联关系:关联关系表示继承和聚合以外的一般关系,是业务领域内特定的两个概念之间的关系。
(3)聚合关系:关联关系的一种特例,两个类之间存在整体与部分的关系。比如产品类和零件类之间的关系。
4.4 UML图建模
根据上述的规则可以得出:
(1)名词和名词短语(类):
资源
用户:老师,学生
(2)及物动词(代表类之间的关联关系):
搜索,下载(资源)
上传,分类,删除,下载,查询(资源)
删除,添加(用户---学生)
(3)包含关系(继承):用户---学生,老师。
所以类图可以得出:
相应的表设计如下:
1)用户表
Id | Password | Description | |
2)学生表
Sno | Sname | Dno | Id |
3)教师表
Tno | Tname | Dno | Id |
4)资源表
Fno | Fname | Description | Path | Category |
5)上传表
Tno | Fno | UploadTime |
6)下载表
Id | Fno | DownloadTime |
五、概念原型
概念原型是一种虚拟的、理想化的软件产品形式。概念原型 = 用例 + 数据模型。
整个项目的用例包括学生用例和老师用例。
数据模型包括:用户,学生,老师,资源,上传,下载共六张表。
整个软件的虚拟过程如下:
学生用户通过注册后,成功登录网站后,在搜索栏中按照资源名字或者资源编号查找,系统通过资源名字或者资源编号返回对应的资源信息(资源名字,资源编号,资源描述,资源类别)并将其呈现在屏幕上,然后学生进行下载,下载完成后学生退出网站。
教师用户成功登录网站后,点击上传按钮,然后填写资源的路径,描述,名字,类别等信息,然后系统自动根据当前时间自动填写资源上传时间和自动为资源进行编号,等待上传完毕,老师就可以退出或者进行其他活动。
整个软件的主要工作流程就是资源的上传下载过程,其他业务就不在细述。
六、总结
此博客对本人工程实践项目进行需求分析,用例建模,数据建模以及总结概念模型。我对项目的构建有了进一步的理解,由于此次是我第一次对完整项目分析,个人认为还存在疏漏,本次博客内容仅做参考和思路引导。
参考: