1 前言
需求是对用户期望的软件行为的表述;获取需求就是需求分析师通过关注用户的期望和需要,从而获得用户期望的软件行为,然后对其进行表述的工作;需求分析是在获取需求的基础上进一步对软件涉及的对象或实体的状态、特征和行为进行准确描述或建模的工作。
本文将以电影推荐系统为例,简述需求分析和概念原型创建的过程。
2 用例图
用例的核心概念中首先它是一个业务过程,经过逻辑整理抽象出来的一个业务过程,这是用例的实质。业务过程是指在待开发软件所处的业务领域内完成特定业务任务的一系列活动。
本文所设计的推荐系统主要服务于用户和管理员,接下来将从用户与管理员两种角度来进行用例图的绘制。
2.1 用户用例图

2.2 管理员用例图
从管理员的角度来看,管理员在系统中具有最高权限,其主要是对用户信息以及电影信息进行维护与管理操作。管理员可以随时添加新电影,以及对电影信息进行删除,更新修改以及检索等,管理员还可以添加、删除、查找用户信息,还可以对用户行为进行管理。管理员的用例图如下:
3 类图
类图可以帮助我们识别业务中需求的人、业务概念、物品和事件等,并理清他们之间的关系。需求中提到的各种业务概念、人物等,经抽象后可视之为类。本文类图主要使用UML图,大概分为Movies,Rating,Tag,User,Recommendation5个模块及完成这些任务所需要的服务类。类图构建如下:
4 数据模型
4.1 概念数据模型
概念数据模型实现世界到信息世界的第一层抽象,主要是在高水平和面向业务的角度对信息的一种描述。本文设计概念模型主要使用E-R图。
工作流程:每个用户登陆后,可以收到来自推荐系统推荐的电影信息,同时他也可以标记电影为“看过”或“想看”,或者对看过的电影进行评价和打分。具体实例如下:
4.2 物理数据模型
物理模型是概念模型的具体表示,描述了数据在物理存储介质上的具体组织结构,不但与数据管理系统有关,同时还与具体的操作系统及硬件有关。物理数据模型将综合考虑各种存储条件的限制,进行数据库的设计,从而真正的实现数据在数据库中的存放。其主要的工作是根据逻辑数据模型中的实体、属性、联系转换为对应的物理模型中的元素,包括定义多有的表和列,定义外键以维持表之间的联系等。本文以电影信息,用户评分信息和电影标签信息为例:
5 小结
本文主要展示了在需求分析(以电影推荐系统为例)的过程中,各种模型、图表的绘制样例,由于项目还未做完,可能疏漏和错误,随便看看就好,别误导大家。