软件工程-设计和流程图的绘画

297 阅读5分钟

前言

今天文章先暂停一下数据结构部分的学习整理,先记录一下软件工程设计中所需要做的前期工作,比如基本功能描述和流程图的绘制。

(本文章从《名片管理系统》出发进行记录)

工具

所有流程图为计算机软件绘制,绘制工具是Visio Pro 2019。

设计部分

需求设计

名片管理系统的使用对象为用户,根据面向对象的设计原则和设计过程,我们首先从用户的身份出发,考虑名片管理系统的需求。并根据用户需要,来分析设计系统功能。

功能设计

1. 登录系统前

首先,用户是一类群体,但是用户之间是不同的。所以,我们要设计名片管理系统的用户类,用户类的属性应作为区分用户之间身份的一种手段。所以,用户在登陆系统前,必须要输入个人用户的用户名和密码,方可进入自己的名片管理系统。那么,用户名和密码就成为用户类的两个属性。

但是,在使用用户名和密码登录到自己的名片管理系统前,我们还需要去申请用户名和密码,这便是注册的过程。用户要想登录到名片系统中,必须要注册用户账号来获取用户名和密码。

此外,作为一个名片管理系统,系统中的用户应当也存在系统管理员。

用户类(属性包括用户名、密码、是否为系统管理员(布尔型)、用户本人的真实姓名等)
操作:注册获取个人用户类信息,然后登录进入系统。
模块:登录/注册模块
2. 登陆系统后

我们再次面向用户作为对象,来设计系统的功能。进入系统后,由于这是一个名片管理系统,所以势必要进行名片的增删改查操作。但无论是增删改查,每位用户都只能对自己的名片进行操作。所以在设计名片类的时候,一定要有名片所属用户的用户名作为属性,方便系统只对自己的名片进行显示和操作。

当管理员登录系统后,可以对所有用户进行增删改查操作,但不能查看每位用户的具体名片信息(保护用户隐私)。除此功能外,管理员用户拥有和普通用户一样的功能。

(1)增加名片:

名片的增加可以是每位用户手动输入名片的信息进行添加,但也可以是批量添加名片信息。手动添加可以用网页提交表单再转换到数据库的形式进行实现,而批量添加可以调用POI(以Java语言为例)类来将Excel中的名片批量导入到数据库中。

(2)删除名片:

在系统中,我们可以对自己不需要的名片进行删除操作。对于用户来说,是一个不可逆的过程,直接对名片进行删除很容易发生误操作。所以,当删除名片时,应当先将名片移入到回收站中,再让用户对回收站中的名片进行斟酌处理。而对于回收站的详细内容,我们后文继续讨论。

(3)修改名片:

当用户在手动添加或者删除名片后,可能会在以后的使用过程中对名片信息进行修改。所以,该名片管理系统应当还具备名片的修改功能,让用户能够修改名片的信息。

(4)查找功能:

也是我认为名片管理系统最重要的功能,用户对名片的查找功能应当包括在所有名片当中根据想要查找的名片信息进行模糊查找,还应当包括对多张名片具有相同属性特征(比如多张名片公司一致)的分类查找。当然,还包括最基本的根据名片id进行精准的单一查找方式。

此外,当用户在名片管理系统中浏览、查找或者修改名片时,都应该是对未在回收站的名片进行操作,而已经在回收站的名片并不是用户的操作对象。

3. 回收站中的操作

从用户的角度出发,用户可能会对回收站中的名片进行操作。根据我们的经验,回收站中的基本操作应当包括对名片的彻底删除和复原。此外,系统也应该实现在回收站中对名片进行模糊查找功能,方便用户使用系统。

(1)彻底删除:

用户将名片从回收站中删除,即此名片在名片管理系统中彻底删除。

(2)复原:

用户将名片移出回收站,名片回归到名片管理系统中,而回收站中没有该名片的信息。

(3)查找:

用户对回收站中的名片可以进行模糊查找,快速定位到回收站所要进行操作的名片。

无论是回收站中的名片还是未进入回收站的名片,都属于名片类。

名片类(属性包括名片id、是否已经移入到回收站(布尔型)、姓名、性别、电子邮箱、公司、地址等)
功能:
1. 系统内:增加、删除(将名片移入回收站中)、修改、查找名片。
2. 回收站内:彻底删除名片、复原名片、查找名片。
管理员用户可以对所有用户账户信息进行增删改查操作。
模块:系统主界面模块、回收站模块、上传/下载模块。

数据库设计

本系统采用两个数据表,分别为用户表和名片表。

由于管理员和用户都属于用户类,无需为管理员单开一张数据表,只需要在用户表中加以区分即可;同理,系统中的名片和回收站的名片也只需加以区分即可,无需单开一张回收站数据表,提高速度的同时节省空间。

以下是数据字典:

datalib.png

datalib2.png

绘图部分

用例图

用例图.png

数据流图

数据流图.png

E-R图

ER图.png

流程图

流程图.png