第1篇:建立电子图书在线阅读系统的事件模型

很多学编程的同学都有类似的感觉:编程代码一看都明白,但让你独自开放软件项目或以团队方式开发软件项目时,却无从下手,代码也不知道怎么写。产生这种情况的主要原因是缺乏实战项目开发经验,没有真正自己主导开发过软件项目。

电子图书在线阅读系统就是一个以自己为主导的实战项目,项目涵盖Java WEB前端和后端、移动APP开发、第三方支付、接口等技术。

对系统需求建模就是把系统要实现的具体业务,通过事件列表、数据字典、数据流图、实体关系图、流程图、用例图等图形完整描述出来,用户可以通过模型感知或认识到系统,并进一步提出问题和改进需求,避免出现实际研发出的系统和用户最初的期望相背离的问题。

所有的系统开发方法都是以事件开始建模的,事件发生在某一特点的时间和地点、可描述并且系统应该记录下来。

我们先看个事件的例子,家中用的空调都是自动调节温度的,用于调节温度的重要部件是温度控制器,它可以感知周围的环境温度。当温度高于设定温度时,温度控制器触发继电器闭合,空调运转,当温度低于设定温度时,温度控制器触发继电器断开,空调停止运转。

图片

图 2-1空调温度控制器事件

从图2-1看出,温度控制器本身触发了2个事件,一个事件是当温度高于设定温度时发生,事件发生后执行的动作是启动空调;另外一个事件是当温度低于设定温度时发生,事件发生后行的动作是关闭空调。

系统所有的过程都是由事件驱动或触发的。当为一个系统定义需求时,先调查清楚能对该系统产生影响的事件是十分有用的,概括说,就是什么事件发生时,需要系统做出响应?通过调查对系统有影响的事件,可以把注意力集中在系统外部环境上,并把整个系统看成一个黑盒,从较高层次上全面考察系统,而不是集中在系统内部工作上。

在调查系统需求之前,需要先识别出系统干系人,然后针对识别出的系统干系人进行调查,列出系统需求列表。

调研系统相关者

系统功能需求的主要来源是新系统的各种系统相关者,系统相关者是对系统感兴趣的人。对基于互联网提供服务的系统来说,系统相关者主要有四类:一是通过互联网使用系统的人,这类人也称为用户;二是购买和拥有系统的人,这类人也称为客户,例如软件公司为互联网公司研发系统;三是为系统提供服务的人,这类人也称为系统运营者;四是确保系统运行的维护人员,这类人也称为系统管理员。

图片

图 2-2系统相关者

图2-2描述了电子图书在线阅读系统相关者。

用户是通过计算机浏览器、或通过APP客户端使用系统的人,他们通过浏览器或APP客户端购买和阅读图书。

系统运营者是为系统提供服务的人,他们通过浏览器登录系统后端,完成上传图书、上架或下架图书、处理用户的投诉和建议等任务。

系统管理员为系统正常运行提供技术支持,他们负责系统的部署、维护和数据备份。

客户是为系统提供资金的人和组织。客户可能是项目招标方、购买系统的个人和组织、制定项目的公司管理层等。把客户包括在系统相关者列表中,是因为系统开发者必须在项目的整个开发过程中,始终向客户提供项目进展的概要情况。

召开需求座谈会是理解系统功能和业务规则最有效方法,但也非常耗费时间和资源。在这种方法中,我们需要准备关于系统需求的一些问题,然后和系统使用者、系统运营者或客户讨论,直到理解了他们对系统的需求和期望,需求座谈会根据项目开发需要有可能会进行多次。

需求座谈会最终的成果是系统功能需求列表,电子图书在线阅读系统功能需求见表格2-1。

表格 2-1功能需求列表

图片

识别系统事件

从表格2-1需求列表识别外部实体,外部实体是和系统打交道的人,表格2-2列出了系统的外部实体。

表格 2-2外部实体表

图片

依据表2-2列出的外部实体,识别外部实体触发系统的事件。图2-3是用户触发的系统事件。

图片

图 2-3用户触发的系统事件

图2-4给出了系统运营者触发的系统事件。

图片

图 2-4系统运营者触发的事件

事件识别出后,还要注意每个事件的附加信息,以备将来分析使用。一个事件的附加信息有触发器、来源、动作、响应和目的地。触发器就是通知系统该事件将要发生,需要系统对该事件做出响应。事件的来源就是触发该事件的外部实体或参与者。事件的动作就是事件发生时,系统执行的一系列操作。事件的响应就是事件处理完毕,系统产生的输出结果。事件的目的地就是接受系统输出结果的外部实体或参与者。

触发器——

用来通知系统某一事件发生了,这一事件可以是需要处理的数据到达了或到了一个时间点

来源——

为系统提供数据的外部实体或参与者

动作——

当某一事件发生时系统执行的操作

响应——

系统产生的一个输出结果,该结果将被选到某个目的地

目的地——

接收系统输出数据的外部实体或参与者

事件的附加信息一般以事件列表进行组织,一个事件列表包括行和列,行代表事件,列是事件的附加信息。事件表中的每行都记录了一个事件的信息,表中的每列代表了事件的一个关键信息。

表格2-3给出了用户事件列表。

表格 2-3用户事件列表

图片

表格2-4给出了系统运营者事件列表。

表格 2-4系统运营者事件列表

图片

关注编程实践楼,进入项目实战开发,积累编程经验。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值