软件需求分析
功能需求
1、用例分析是要求每一个子功能点都要有一个用例
例如:线路增加,线路删除,线路修改,线路查询。每一个功能描述一个用例
线路删除用例:
2、(后置条件是指:执行基本流程获得成功以后所达到的状态(条件)。体现的是执行该用例的最终目的。)
管理员用户登陆
在注册完成后,以管理员账户登陆进入管理员界面,管理员用户登陆功能需求如下表所示:
表2.1“管理员用户登陆”功能需求分析用例
功能点编号 |
X3L101 |
功能点名称 |
管理员用户登陆 |
角色 |
管理员 |
功能说明 |
管理员用户能通过本功能点完成登陆操作 |
事件流程 |
1. 管理用户输入用户名和密码,并回车。 2. 软件校验用户名和密码的格式是否合法。 3. 软件校验用户名和密码是否正确。 4. 若正确,则跳转到主功能处理界面;否则,提示“用户或密码输入错误,请重新输入!”。 |
前置条件 |
管理员用户成功注册 |
后置条件 |
管理员用户成功进入软件主功能处理界面 |
输入数据 |
用户名和密码 |
输出数据 |
软件主功能处理界面 |
备注 |
无 |
管理员用户管理
根据客户业务开展情况,本软件必须提供用户管理功能。软件用户首先完成注册,方能使用该软件的功能,用户信息记录保存在软件数据文件中。管理员用户管理需求如下表所示
表2.2“管理员用户管理”功能需求分析用例
功能点编号 |
X3L102 |
功能点名称 |
管理员用户管理 |
角色 |
管理员 |
功能说明 |
管理员用户能通过本功能点完成用户管理操作 |
事件流程 |
1. 进入管理员管理用户界面 2. 管理用户信息,可以对用户信息进行查找和删除 |
前置条件 |
管理员用户登陆成功 |
后置条件 |
管理员用户成功进入软件管理员处理界面 |
输入数据 |
选择需要进行的操作 |
输出数据 |
显示操作的结果 |
备注 |
无 |
管理员用户站点信息管理
城市公交查询软件可以查询到公交站点线路信息,这些信息以数据文件的形式保持在软件当中。随着公交事业的发展,这些公交站点信息也可能会发生变动,则本软件提供线路信息管理功能,一方面可以将站点信息公开供用户查询;另一方面可提供增加站点信息功能,更新站点信息功能或者删除站点信息功能等。管理员用户站点信息管理需求如下表所示:
表2.3“管理员用户站点信息管理”功能需求分析用例
功能点编号 |
X3L103 |
功能点名称 |
管理员用户站点信息管理 |
角色 |
管理员 |
功能说明 |
管理员用户能通过本功能点管理站点信息 |
事件流程 |
1. 进入管理员管理站点信息界面 2. 管理站点信息,增加节点,修改节点,修改站点,增加站点信息 3. 查看节点功能 |
前置条件 |
管理员用户登陆成功 |
后置条件 |
管理员用户成功进入软件管理员处理界面 |
输入数据 |
选择需要进行的操作 |
输出数据 |
显示操作的结果 |
备注 |
无 |
管理员用户站点线路信息管理
城市公交查询软件可以查询到公交线路信息,这些信息以数据文件的形式保存在软件当中。随着公交事业的发展,这些公交线路信息也可能会发生变动,则本软件提供线路信息管理功能。一方面也将公交线路公开供用户查询;另一方面可提供增加公交线路信息功能,更新公交线路信息功能或者删除公交线路信息功能等。管理员用户线路信息管理需求如下表所示:
表2.4“管理员用户线路信息管理”功能需求分析用例
功能点编号 |
X3L104 |
功能点名称 |
管理员用户线路信息管理 |
角色 |
管理员 |
功能说明 |
管理员用户能通过本功能点管理线路 |
事件流程 |
|
前置条件 |
管理员用户登陆成功 |
后置条件 |
管理员用户成功进入软件管理员处理界面 |
输入数据 |
选择需要进行的操作 |
输出数据 |
显示操作的结果 |
备注 |
无 |
普通用户注册
普通用户可以方便的通过注册软件模块,进行注册,方便在下次使用时登录模块进行登陆。普通用户的注册需求如下表所示:
表2.5“普通用户注册”功能需求分析用例
功能点编号 |
X3L105 |
功能点名称 |
普通用户注册 |
角色 |
普通用户 |
功能说明 |
普通用户能通过本功能点注册 |
事件流程 |
1. 进入软件选择普通用户注册 2.输入用户的姓名,账户,密码等用户信息 3.注册成功 |
前置条件 |
普通用户进入软件成功 |
后置条件 |
普通用户注册成功 |
输入数据 |
选择需要进行的操作,输入信息 |
输出数据 |
显示操作的结果 |
备注 |
无 |
普通用户登陆
普通用户可以通过注册本软件后,登陆公交查询系统软件,方便的进行查询操作,不同普通用户的登陆需求如下表所示
表2.6“普通用户登陆”功能需求分析用例
功能点编号 |
X3L106 |
功能点名称 |
普通用户登陆 |
角色 |
普通用户 |
功能说明 |
普通用户能通过本功能点登陆本软件 |
事件流程 |
1. 进入软件选择普通用户登陆 2.输入账号 3.输入密码 4. 检验账号密码是否匹配 5. 登陆成功 |
前置条件 |
普通用户注册成功 |
后置条件 |
普通用户登陆成功 |
输入数据 |
选择需要进行的操作,输入信息 |
输出数据 |
显示操作的结果 |
备注 |
无 |
普通用户公交查询
随着城市规模的扩大,外地游客或者本地市民不一定对城市的每一个区域的公交线路都很熟悉,尤其是外地游客更加是无法在短时间内了解庞杂的城市公交网,所以必定需要一个能查看具体公交线路,具体公交站点的信息平台。
普通用户可以方便的进行站点查询,按线路查询,两点间最短线路查询,最短时路线查询。普通用户的公交查询需求如下表所示
表2.7“普通用户公交查询”功能需求分析用例
功能点编号 |
X3L107 |
功能点名称 |
普通用户公交查询 |
角色 |
普通用户 |
功能说明 |
普通用户能通过本功能点公交查询 |
事件流程 |
2.输入查询的两个站点信息 3.输入线路信息 4. 输出最短路径,和全部路径 5. 输出线路信息 |
前置条件 |
普通用户登陆成功 |
后置条件 |
普通用户查询成功 |
输入数据 |
选择需要进行的操作,输入信息 |
输出数据 |
显示操作的结果 |
备注 |
无 |
性能需求
本软件各功能均需在3秒钟之内对用户的业务操作作出相应的响应。
软件总体设计
软件框架设计
我们将设计为三个部分:业务处理,数据处理和存储处理。系统结构图如图3-1所示。
业务处理部分实现系统与用户的接口,业务处理部分完成数据的输入和呈现,该部分包含软件需求的所有业务功能。
数据处理部分实现数据格式的转换,将用户界面获取的数据转换成相应的逻辑结构进行文件存储,或者将文件存储的数据转换成相应的逻辑结构进行界面展示。软件产生的业务数据可以不做任何处理,直接以字符串的形式存储在磁盘上,但是如此一来对数据读取和操作的效率就会十分低下,为了解决这个问题引用数据结构进行数据处理,例如链表,二叉树,图等数据结构
软件模块设计
软件功能结构图
根据软件需求分析结果,城市公交查询软件设计四大功能模块来完成软件业务,其分别是:用户管理,战点维护,线路维护和公交查询。本软件采用结构化设计的方法来实现软件的总体功能,提高软件的各项指标,即将整个软件合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各个模块的内部结构,通过对模块的设计和模块之间的关系的软件来实现整个软件的功能。
以下就是结构体化的软件设计方法来对整个软件的功能模块进行设计,软件功能模块图如图3-2所示。
用户管理
用户管理模块提供对用户信息进行管理维护的功能,包括用户注册,用户注销,用户信息更新,用户信息查询,用户登录五个功能点。
以下就是结构体化的软件设计方法来实现用户管理模块设计的,用户管理模块图如图3-3所示。
站点维护
站点管理模块提供站点信息进行管理维护的功能,包括站点新增,站点修改,站点删除,站点查看四个功能点。
以下就是结构体化的软件设计方法来实现站点维护模块设计的,站点维护模块图如图3-4所示。
线路维护
线路管理模块提供对线路信息进行管理维护的功能,包括线路新增,线路修改,线路删除,线路查看四个功能点
以下就是结构体化的软件设计方法来实现线路维护模块设计的,线路维护模块图如图3-5所示。
公交查询
公交查询模块提供各种公交查询方式,以满足不同方面的查询要求,包括站点查询,线路查询,直达路径查询,最短线路查询。
以下就是结构体化的软件设计方法来实现公交查询模块设计的,公交查询模块图如图3-6所示。
软件数据设计
需求分析的结数剧需求分析结果指出。城市公交查询系统软件涉及三个方面的数据:用户信息数据,公交站点信息数据和公交路线信息数据。经过分析,发现公交站点信息和公交线路信息记录为“多对多”的关系,即一个公交站点可能会有多条公交线站点,如此建立一个公交站点和公交线路的映射关系,该映射关系由公交站点编号和公交线路编号两项数据项组成,并将此映射关系单独存储。最后给出数据存储结构的设计方案如表3-1,表3-2,表3-3,和表3-4所示。
表3-1站点和线路映射关系记录结构
数据项名 |
数据类型 |
长度 |
是否为空 |
唯一标识 |
说明 |
station_id |
char[] |
4 |
否 |
是 |
车站编号 |
road_id |
char[] |
20 |
否 |
是 |
线路编号 |
seq |
int |
|
否 |
否 |
车站顺序号 |
表3-2用户信息数据记录结构
数据项名 |
数据类型 |
长度 |
是否为空 |
唯一标识 |
说明 |
suser_id |
char[] |
4 |
否 |
是 |
用户编号 |
login_name |
char[] |
20 |
否 |
否 |
用户登录名 |
login_pass_wd |
char[] |
6 |
否 |
否 |
用户登录密码 |
user_name |
char[] |
40 |
否 |
否 |
用户真实姓名 |
user_sex |
char[] |
2 |
否 |
否 |
用户性别 |
user_age |
int |
4 |
否 |
否 |
用户年龄 |
user_addr |
char[] |
40 |
否 |
否 |
用户籍贯 |
表3-3公交线路数据记录结构
数据项名 |
数据类型 |
长度 |
是否为空 |
唯一标识 |
说明 |
road_id |
char[] |
4 |
否 |
是 |
线路编号 |
road_name |
char[] |
20 |
否 |
否 |
线路名称 |
表3-4公交站点数据记录结构
数据项名 |
数据类型 |
长度 |
是否为空 |
唯一标识 |
说明 |
station_id |
char[] |
4 |
否 |
是 |
车站编号 |
station_name |
char[] |
20 |
否 |
是 |
车站名称 |