基于Python信息搜集的需求分析和概念原型
1、前言
在近几周的高级软件工程课程中,我们学习了需求分析以及如何用例建模和概念模型分析,为了进一步加深自己的理解,我利用需求分析了自己本学年的工程实践项目——基于Python的智能信息搜集系统设计及实现,其具体实现如下文所示。
我的项目中网络爬虫主要的抓取对象为新浪财经网和卓创资讯网。网络爬虫需要对商品的价格、交易量、数量、信息等数据的抓取,对于抓取回来的网页进行加工处理并且存储到数据库中。
2、需求分析
需求是对用户期望的软件行为的表述;获取需求就是需求分析师通过关注用户的期望和需要,从而获得用户期望的软件行为,然后对其进行表述的工作;需求分析是在获取需求的基础上进一步对软件涉及的对象或实体的状态、特征和行为进行准确描述或建模的工作。
现在的社会已经进入了信息时代,尤其是了解各地商品价格的数据变化,对于企业和个人的经济发展非常重要,大数据的获取和分析对于促进经济发展有着重要的意义。掌握消费者的爱好和习惯,有助于商家及时的调整商品的类型和定价。
电脑在我们的日常生活中使用的越来越频繁,为了更好的掌握消费者对于手机品牌、价格以及店铺的喜好程度,我们选爬取通用塑料PP等的出厂价格数据作为研究的目标,通过获取网站的数据,利用数据库技术存储数据,最后用可视化分析的形式给出我们最终的研究结果。
3、用例建模
在待开发软件所处的业务领域内完成特定业务任务(business task)的一系列活动就是业务过程。用例(Use Case)的核心概念中首先它是一个业务过程(business process),经过逻辑整理抽象出来的一个业务过程。
为了进一步理解用例,我们需要知道他的三大基本要素:一个用例应该由业务领域内的某个参与者(Actor)所触发。用例必须能为特定的参与者完成一个特定的业务任务。一个用例必须终止于某个特定参与者,也就是特定参与者明确地或者隐含地得到了业务任务完成的结果。
此外为了画出用例图,我们还需要知道用例建模的四大基本步骤:第一步,从需求表述中找出用例,往往是动名词短语表示的抽象用例;第二步,描述用例开始和结束的状态,用TUCBW和TUCEW表示的高层用例;第三步,对用例按照子系统或不同的方面进行分类,描述用例与用例、用例与参与者之间的上下文关系,并画出用例图;第四步,进一步逐一分析用例与参与者的详细交互过程,完成一个两列的表格将参与者和待开发软件系统之间从用例开始到用例结束的所有交互步骤都列举出来扩展用例。
根据以上所学,使用vscode画出基于该项目的用例图:
4、业务领域建模
业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。
根据项目所画出的业务类图如下:
5、数据类型建模
数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。 将经过系统分析后抽象出来的概念模型转化为物理模型后,建立数据库实体以及各实体之间关系的过程。
通过分析上述业务类图,可以建模以下数据模型
字段名
字段类型
字段描述
id
int
账号
name
string
姓名
password
string
密码
gender
string
性别
potrait
string
头像
price_type
string
价格类型
price
float
价格
provider
string
供货商
date
datetime
日期
6、概念原型
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。概念原型是一种虚拟的、理想化的软件产品形式。我们有以下关系式::
7、总结
通过对基于Python的智能信息搜集系统设计及实现的一系列分析过程,我学习并实操了软件工程中的一些很有用的建模方法。这些方法能够让我在实际的工作中更好地理解需求,对我的工程实践有着巨大帮助。为以后的学习打下更坚实的基础。