最近的时间一直花费在一个工程实践项目上,恰好学习上遇到了需求分析和概念原型的问题,刚好拿来学习一番。
一、概述
目前的工程实践项目是基于Python的智能信息收集系统设计与实现,主要是通过对相关数据进行爬取,归类,格式化存储。再对或得到的数据进行分析处理,得到我们想要的结果。
本文将以对豆瓣影评的内容爬取为例
二、需求分析
我们的主要目的有以下几点:
1、用户可以查找待爬取的数据
2、用户可以根据需要爬取豆瓣网的数据
3、用户能够查看爬取到本地的数据
三、用例建模
用例(英语:use case),或译使用案例、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。在UML的文档中,Use Case的定义是:在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。
3.1 用例建模
3.2 小结
Use Case 是系统提供的功能块,换句话来说Use Case演示了人们如何使用系统。通过Use Case观察系统,能够将系统实现与系统目标分开,有助于了解最重要的部分――满足用户要求和期望,而不会沉浸于实现细节。通过Use Case 用户可以看到系统提供的功能,先确定系统范围再深入开展项目工作。
四、业务领域建模
4.1 概念
业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。
4.2 收集信息
收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料。
4.3 头脑风暴
集思广益,团队成员一起从收集的业务领域的信息中按规则识别业务领域相关的概念并列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系。
4.4 概念分类
给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系。
4.5 UML类图
五、数据模型建模
数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三部分,分别是数据结构、数据操作和数据约束。
①数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
②数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。
③数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
数据模型
六、概念原型
概念是人对能代表某种事物或发展过程的特点及意义所形成的思维结论。概念原型是一种虚拟的、理想化的软件产品形式。
6.1 工作过程
用户登录上爬虫系统,选择性的爬取自己想要的影评内容,也可以查看上次爬取的内容,还能够对已爬取的内容进行检索。