金融软件工程作业五:个人主页系统开发概要设计与详细设计文档

作业概述

 

 个人主页系统

----概要设计与详细设计

一、体系结构设计

1. 软件结构设计概述

在概要设计与详细设计这一阶段,我们需要做到的是定义系统中各个结构中出现的元素,以及他们之间的关系。通过上一阶段的需求分析,我们已经对系统的数据流图、数据字典等进行了设计。在软件设计的过程中,我们需要通过将功能进行划分成各个模块,并在各个模块中进行设计。根据个人主页的特点,我们将个人主页系统的功能划分成以下模块:浏览登录、进行留言,文件上传下载、文件管理等。除此之外,我们还需要关注个人主页所在的网站的相关情况,因此还需要设立对网站的监控功能,比如说对网站流量的监控、设立创建网站日志的功能模块等。

2. 结构化分析过程

以需求分析中所设计的数据流图为分析的出发点,确定数据流图中各个问题的类型,具体而言,这里问题的可以分为事务型和变换型两类,问题的类型不同,问题的解决办法也不相同。由此我们可以得到个人主页系统的结构图,仅由数据流图所得的结构图是初始、不完善的,加之启发式原则对这一结构图进行改善,我们可以得到符合要求的结构图。

3. 结构图

二、接口设计

1.软件接口设计概述

  软件接口的设计过程是分析设计系统中用户与系统之间的自动化实现的交互过程。可以简单的理解为,对于用户不同的操作,系统给出不同的反应等。

2.软件与用户间交互的接口设计

2.1发表留言界面设计

2.2 对网站的监控相关设计

 

2.3 查看留言

 

2.4 所有者登录界面

3.模块与软件构件间的接口设计

各个功能模块之间的接口在表现形式上体现为各个参数的传递,部分接口及其信息展示如下:

模块一 模块二 两模块间接口信息
所有者登录 身份验证 用户名、密码
发表留言 留言合法性验证 留言序号
留言审核 显示留言 留言序号
下载文件 权限检查 身份验证信息
主页备份 主页恢复 主页信息记录
发布文件 文件添加 文件序号

4.软件与其他软硬件系统之间的接口设计

系统与其他的软硬件系统之间的接口设计是系统完成各个功能时需要依托的各个系统之外的软硬件,从而实现系统的部分功能。在个人主页系统中,分析可知,个人网页系统的运行需要依托一定的环境架构,主页中的数据需要sql相关的数据库参与。如果需要对网页的一些信息或者日志等进行打印则需要外部打印机等硬件支撑。

三、数据设计

1.数据设计概述

 在对系统的详细设计中,数据设计包含E-R图设计、数据流图设计、数据字典描述、实体关系图以及数据库设计等。在需求设计文档中我们已经对E-R图、数据流、数据字典状态图已经完成了设计,因此这里设计其余部分。

2. 文件设计

个人主页系统设计过程中,所有者信息,文件信息,尤其是存在一些视频或者图片的情况下,显然不能直接将改信息直接存在数据库中,因此在数据库中存储的是这些文件的路径信息,因此对于这些文件的设计体现在将这些文件放在统一的路径和文件夹中,达到这些文件的设计目的。

对个人网页系统的文件设计还需要关注监控主页所产生的信息,也就是主页中进行的各种操作,因此需要日志文件来记录这些操作,因此我们需要一个文本文件记录系统的各项操作。除此之外,对于主页中存在的各个文件,我们还需要使用excel文件来记录。这样的话可以根据这些文件随时查看调取网页的状态。在对主页进行备份的过程中,这些日志文件也将起到重要的作用,因此我们需将这些文件放置在同一目录下。另外,由于主页的运行需要PHP环境,对环境的配置需要配置文件。

3.数据库设计 

关系映射:

所有者信息(登录名,密码,昵称,头像,联系方式)

主码:登录名 唯一

外码:登录名

 

主页信息(序号,站名,URL,文件地址,是否已备份,其他信息)

主码:序号 唯一

外码:序号

 

文件信息(序号,名称,文件地址,是否可用,权限,说明,浏览量,发布时间,作者)

主码:序号

外码:作者

 

信息统计(文件序号,浏览量,下载量,其他信息)

主码:文件序号

外码:浏览量 下载量

 

留言(留言序号,留言时间,留言内容,是否匿名,留言人)

主码:留言序号

 

 四、过程设计

1.详细设计阶段描述

个人主页系统详细设计阶段要求我们需要做到详细分析设计系统内部各组成阶段的内部数据结构以及运行的算法等,并且在这一阶段仍需要我们对某些过程做出具体分析。根据需求分析中已经得到的状态图进行详细的过程设计,在这一过程中,程序流程图可以起到表示的作用。

2.程序流程图设计

程序流程图设计以如下功能示例:发表留言、浏览网页、下载文件、备份主页等,其他诸多流程不再逐一列出。

浏览主页文件

 

 

发表留言

 下载文件

 

 主页备份

 

 

 

3. N-S图

浏览主页文件

 

 

发表留言

 

 下载文件

 

 主页备份

 

 

4. PAD图

浏览主页文件

 

发表留言

 

 

下载文件

 

 

 主页备份

 

 

基于UML的分析与设计过程

基于UML的分析设计过程是进行与用例相关的设计和分析,因此在本文档中,我们以留言这一交互过程为例,给出基于UML设计的设计与分析过程。在这一过程中,我们需要做到,识别参与者与用例,并对用例做出描述,对用例进行详细地编写,确认交互过程中各个角色可能发生的动作。然后通过序列图的方式跟踪案例的执行过程,通过分析用例的执行过程,给出相应的状态转移图。下面给出留言这一交互过程中用例及其设计描述、序列图、概念模型以及状态转化图。

个人主页系统留言功能初步用例

 

 

 

 用例设计描述

用例名称:留言

参与者:访客、主页后台

前置条件:访客正确进入个人主页系统,且具有留言权限,已正确输入留言内容、个人姓名、个人邮箱且满足合法性要求,并对系统提出了submit

主事件流:

  1. 访客正确进入网站
  2. 访客正确输入留言内容、个人姓名、个人邮箱,合法性检验成功
  3. 留言内容等相关信息提交到后台
  4. 后台将留言内容展示在留言区

辅事件流:

  • 若留言内容不满足合法性检验,则显示信息“不满足合法性检验,请重新输入并提交”,然后返回到主事件流中的(2)

后置条件:留言提交成功之后,后台应该对这一留言信息进行编号处理,并需要将该留言显示在留言区

 留言功能用例的顺序图描述

 

个人主页系统的概念模型(仅留言部分)

 

 

 

 

状态转化图

 通过以上几图,我们实现了留言这一用例中用户动作、执行过程序列、状态转移这些过程,这样就完成了用例的建模过程

界面设计 
留言功能访客界面

 

 站点信息记录界面

 

 

 主页与外部的交互界面设计

 

 

 

 

数据库选择策略

数据库是对数据的管理,包括对其中数据的增删改查等操作,另外,数据管理还包括用户访问权限、持久化、分布式等不同方案的选择。在个人主页系统中,与数据库最为紧密相连的功能是访客的留言功能,相应的产生的留言信息表如下所示:

                留言信息表

name email message

kk

kk@163.com 感觉你的主页很不错,继续加油

cmd

cmd@126.com 你主页中展示的歌曲真的很解压,感谢你的分享

 

考虑到数据库在本项目中的实际储存用途,因此使用MYSQL作为项目使用的数据库,原因在于MYSQL可以与大多数项目构建软件相契,有大量的插件可供使用,复杂的查询功能实现起来较迅速,且安全性有可靠的保障。

在数据库选择这一阶段,我们给出这一模块所使用的数据结构,对于留言这一在后端有数据存储的功能,每一条留言是需要处理和存储的信息。每条留言的组成部分是留言人姓名、留言人邮箱、留言内容,对于这样由多条信息组成的待处理数据,我们可以使用“矩阵”这一数据结构,其中每一行代表一条数据信息。留言人姓名采用字符型数据类型,最大长度为64;留言人邮箱采用的Email型数据类型;留言内容采用字符型数据类型,最大长度为256。

模块接口的具体细节

主要交互功能体现在留言功能上,在这一交互过程中,主要接口的在输入留言人姓名、输入留言人电子邮箱、输入留言内容,电子邮箱可以由所有者查看后,对相应的留言信息做出回复,这三条交互过程中相应的要求为:留言人姓名为char类型,最大长度为64;留言人电子邮箱为email类型;留言内容为char类型,最大长度为256。除此之外,个人主页系统中还有一部分图片以及链接可以实现一部分的交互功能。留言内容传输到后台的过程使用HOST协议与MySql数据库相联系。用户的界面则需要充分考虑用户的视觉感受以及可交互化细节,尽可能做到直观易懂。

测试用例设计

对于个人主页系统,测试用例设计主要设计浏览以及留言功能。对于留言功能可以进行常规的一次留言,另外测试留言的相关的三条信息的长度进行测试,观察是否有相应的非法提示信息。后续可以针对留言内容设置内容检验,也作为测试的一部分。对于浏览功能的测验在于对主页中各个模块中功能进行测试,观察是否能够做出正确的反应,还要对主页进行相关的压力测试,是否在超多次访问下完成压力测试。

posted @ 2021-04-01 09:44  kkkcmd  阅读(545)  评论(0)    收藏  举报