随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,家庭维修服务系统小程序就是信息时代变革中的产物之一。
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于python技术、django框架、微信小程序、B/S机构、Mysql数据库设计并实现了家庭维修服务系统小程序。
本文首先介绍了家庭维修服务系统小程序管理技术的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
关键字:家庭维修服务系统小程序;django ;Mysql数据库;微信小程序
Abstract
With the rapid development of information technology and network technology, human beings have entered a new information age, traditional management technology has been unable to efficiently and conveniently manage information. In order to meet the needs of The Times, optimize management efficiency, a variety of management systems emerged, all walks of life have entered the era of information management, home maintenance service system small program is one of the products in the information age change.
Any system should follow the basic process of system design, this system is no exception, also needs through market research, demand analysis, general design, detailed design, coding, testing, these steps based on Python technology, DJANGO framework, WeChat applet, B/S organization, Mysql database was designed and implemented a small program that home maintenance service system.
This article first introduced the small home maintenance service system development background and current situation of the development of program management technology, and then follow the routine software development process, first of all, in view of the system and the selection of suitable language development platform, according to the requirement analysis module and database structure design, and then based on the system's overall function module design rendering system function module chart, flow diagram and e-r diagram. Then, design the framework and write code according to the designed framework to achieve each functional module of the system. Finally, the preliminary completed system is tested, mainly functional test, unit test and performance test. The test results show that the system can achieve the required functions, and the running condition is fair and there is no obvious defect.
Key words: home maintenance service system small program; DJANGO. Mysql database; Wechat applets
目 录
第一章 概述
1.1 研究背景
21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企业、公司等机构都有自己的管理系统,由传统的管理模式向互联网发展,如今开发自己的系统是时代发展的必然产物。那么开发家庭维修服务系统小程序意义和用处有哪些呢?
首先提升工作效率:这是很多机构建设系统的目的之一。家庭维修服务系统小程序对于用户或者管理员来说,可以摆脱传统手写记录的管理模式。利用计算机系统,进行用户信息、管理员信息的管理,还包含维修信息、预约维修、上门维修、维修完成、预约取消、二次维修等功能的管理,不单止节省了人力和物力,还提高了工作的效率,让管理员和用户可以更加高效地工作。
一个好的系统能将家庭维修信息的管理手段提上一个新的台阶。系统内容可以随时更新,这点对于管理员来说是很重要,但这是传统的管理方式都无法做到的。家庭维修服务系统小程序就可以每天更新,随时了解家庭维修信息的最新情况。
家庭维修服务系统小程序能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知家庭维修服务系统小程序的便捷高效,为管理者和用户提供了服务,节省人力、物力和时间,提高工作效率。
1.2开发意义
人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。即家庭维修服务系统小程序慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。
计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。
1.3 研究现状
在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的家庭维修服务系统小程序开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的家庭维修服务系统小程序,来实现家庭维修服务的信息化。因此本课题以家庭维修服务为例,目的是开发一个实用的家庭维修服务系统小程序。
家庭维修服务系统小程序的开发运用python语言、微信小程序技术、django框架,MIS的总体思想,以及Mysql等技术的支持下共同完成了该系统的开发,实现了家庭维修服务的信息化,使用户体验到更优秀的家庭维修服务,管理员管理操作将更加方便,实现目标。
1.4 研究内容
家庭维修服务系统小程序的需求和管理上的不断提升,家庭维修服务系统小程序的潜力将无限扩大,家庭维修服务系统小程序在业界被广泛关注,本网站及对此进行总体分析,将家庭维修信息管理的发展提供管理员的管理帮助更大。
根据现有的模块,除管理员对系统所有的信息进行管理;另外小程序端还需要:首页、公告资讯、我的等内容进行配合管理。
1.5论文结构
(1)绪论
网站的开发背景,意义和系统状况等,详细讲述了系统的用处,对本章进行总结。
(2)系统开发技术的介绍
分别对python语言、微信小程序、django框架、Mysql和B/S进行详细介绍。
(3)系统分析
本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。
(4)系统设计
对系统系统功能和数据库等进行详细讲解。
主要对管理员对个人中心、用户管理、维修人员管理、维修信息管理、家电类型管理、预约维修管理、上门维修管理、维修完成管理、预约取消管理、二次维修管理、维修员申请管理、系统管理的实现。
(6)系统的测试
在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本网站采用的是黑白盒测试方法对不同组的数据进行功能模块测试。
第二章 开发技术介绍
2.1 B/S架构
当向其他用户发送请求的功能时应用B/S模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了客户端,大部分开发的软件只需要用浏览器即可,客户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给客户端,浏览器就能收到的请求的信息。控制逻辑层:用户的请求是由将控制逻辑层接收,相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给客户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务,但还包括执行数据库查询、修改、删除操作,最后数据库操作结果将返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
图2-1 B/S模式三层结构图
2.2 Python简介
Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。
2.3 Django框架
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
2.4 MySQL 介绍
在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。
MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ ip,以各种形式连接到MySQL; 功能方面表现欠缺,规模小,但对于这个系统就足够了。
因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。 由于MySQL的速度,可靠性和适应性,MySQL受到重视。
MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。
2.5 MySQL环境配置
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
第三章 系统分析
3.1 可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下家庭维修服务模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该家庭维修服务系统小程序的开发设计中,对技术、经济、操作方面进行了可行性分析。
3.1.1 技术可行性
本系统开发选择python语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,python俨然已成为下一代互联网的Web标准。所以后台设计选择使用Mysql,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3.1.2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.1.3经济可行性
基于django框架的家庭维修服务系统小程序,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为软件综合设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的家庭维修服务,同时还能实现对人力资源和管理资源的有效节约,该家庭维修服务系统小程序在经济上完全可行。
3.2性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4. 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
3.2系统用例图
3.2.1用户用例图
3.2.2维修人员用例图
3.2.3管理人员用例图
3.3系统核心类及类图
3.4维修预约功能技术路径图
第四章 系统设计
4.1功能结构
为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该家庭维修服务系统小程序的功能结构图如下所示:
图4-1 系统总体结构图
4.2 数据库设计
4.2.1 数据库E/R图
ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1) 用户信息E/R图部分展示如下所示:
图4-2用户信息E/R图部分展示
(2) 上门维修E/R图部分展示如下所示:
图4-3上门维修E/R图部分展示
(3) 维修信息E/R图部分展示如下所示:
图4-4维修信息E/R图部分展示
4.2.2 数据库表
数据库表的设计,如下表:
表4-1:预约维修
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuyuebianhao | varchar | 200 | 预约编号 | ||
jiadianmingcheng | varchar | 200 | 家电名称 | ||
jiadianleixing | varchar | 200 | 家电类型 | ||
weixiuxiangmu | varchar | 200 | 维修项目 | ||
yuyueshijian | date | 预约时间 | |||
fengmian | varchar | 200 | 封面 | ||
xiangqing | longtext | 4294967295 | 详情 | ||
weixiuzhanghao | varchar | 200 | 维修账号 | ||
weixiuxingming | varchar | 200 | 维修姓名 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
zhuangtai | varchar | 200 | 状态 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 | ||
userid | bigint | 用户id |
表4-2:预约取消
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
quxiaobianhao | varchar | 200 | 取消编号 | ||
jiadianmingcheng | varchar | 200 | 家电名称 | ||
jiadianleixing | varchar | 200 | 家电类型 | ||
weixiuxiangmu | varchar | 200 | 维修项目 | ||
quxiaoshijian | date | 取消时间 | |||
fengmian | varchar | 200 | 封面 | ||
quxiaoxiangqing | longtext | 4294967295 | 取消详情 | ||
weixiuzhanghao | varchar | 200 | 维修账号 | ||
weixiuxingming | varchar | 200 | 维修姓名 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-3:维修信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
weixiubianhao | varchar | 200 | 维修编号 | ||
jiadianmingcheng | varchar | 200 | 家电名称 | ||
jiadianleixing | varchar | 200 | 家电类型 | ||
weixiuxiangmu | varchar | 200 | 维修项目 | ||
weixiushijian | date | 维修时间 | |||
weixiufengmian | varchar | 200 | 维修封面 | ||
xiangqing | longtext | 4294967295 | 详情 | ||
weixiuzhanghao | varchar | 200 | 维修账号 | ||
weixiuxingming | varchar | 200 | 维修姓名 | ||
pingfen | float | 评分 | |||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 |
表4-4:公告资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-5:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
yonghudianhua | varchar | 200 | 用户电话 |
表4-6:维修完成
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
feiyongbianhao | varchar | 200 | 费用编号 | ||
jiadianmingcheng | varchar | 200 | 家电名称 | ||
jiadianleixing | varchar | 200 | 家电类型 | ||
weixiuxiangmu | varchar | 200 | 维修项目 | ||
feiyong | varchar | 200 | 费用 | ||
wanchengshijian | date | 完成时间 | |||
fengmian | varchar | 200 | 封面 | ||
feiyongbeizhu | longtext | 4294967295 | 费用备注 | ||
weixiuzhanghao | varchar | 200 | 维修账号 | ||
weixiuxingming | varchar | 200 | 维修姓名 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-7:用户表
类型 | 长度 | 字段说明 | 主键 | 默认值 | |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-8:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
第五章 系统功能实现
5.1服务端管理员功能模块
管理员登录,管理员通过输入用户名、密码、角色并点击登录进行系统登录操作,如图5-1所示。
图5-1管理员登录界面图
管理员登录系统后,可以对个人中心、用户管理、维修人员管理、维修信息管理、家电类型管理、预约维修管理、上门维修管理、维修完成管理、预约取消管理、二次维修管理、维修员申请管理、系统管理等功能进行相应操作,如图5-2所示。
图5-2管理员功能界图面
用户管理,管理员可在用户管理页面查看用户账号、用户姓名、性别、用户电话、头像等内容,还可进行新增、修改或删除等操作,如图5-3所示。
图5-3用户管理界面图
维修人员管理,管理员可在维修人员管理页面查看维修账号、维修姓名、性别、维修电话、头像等内容,还可进行新增、修改或删除等操作,如图5-4所示。
图5-4维修人员管理界面图
维修信息管理,管理员可在维修信息管理页面查看维修编号、家电名称、家电类型、维修地址、维修时间、维修封面、维修账号、维修姓名等内容, 还可进行新增、修改或删除等操作,如图5-5所示。
图5-5维修信息管理界面图
预约维修管理,管理员可在预约维修管理页面查看预约编号、家电名称、家电类型、维修项目、预约时间、封面、维修账号、维修姓名、用户账号、用户姓名、审核回复、审核状态等内容,还可进行修改或删除等操作,如图5-6所示。
图5-6预约维修管理界面图
上门维修管理,管理员可在上门维修管理页面查看维修编号、家电名称、家电类型、维修项目、维修时间、封面、维修账号、维修姓名、用户账号、用户姓名等内容,还可进行修改或删除等操作,如图5-7所示。
图5-7上门维修管理管理界面图
二次维修管理,管理员可在二次维修管理页面查看维修编号、家电名称、家电类型、维修项目、维修时间、封面、费用、维修账号、维修姓名、用户账号、用户姓名、是否支付、审核回复、审核状态等内容,还可进行修改或删除等操作,如图5-8所示。
图5-8二次维修管理界图面
5.2小程序端用户功能模块
用户注册,用户通过输入用户账号、密码、用户姓名、性别、用户电话进行注册,如图5-9所示。
用户通过登录进入小程序可查看首页、公告资讯、我的等内容,在首页还可查看维修信息、预约维修等内容,如图5-10所示。
我的,用户可在我的页面查看用户信息、维修信息、预约维修、上门维修、维修完成、预约取消、二次维修、维修员申请等内容,如图5-11所示。
维修信息,用户可在维修信息页面查看维修姓名、维修编号、封面、家电名称、家电类型、维修项目、维修时间、维修账号、详情等内容,如图5-12所示。
预约维修,用户可在预约维修页面查看家电名称、预约编号、家电类型、维修项目、预约时间、维修账号、维修姓名、用户账号、用户姓名、封面等内容,如图5-13所示。
5.3小程序端维修人员功能模块
维修人员登录维修人员通过输入账号、密码、选择登录类型进行登录,如图5-14所示。
维修人员通过登录进入小程序可查看首页、公告资讯、我的等内容,如图5-15所示。
我的,维修人员可在我的页面查看用户信息、维修信息、预约维修、上门维修、维修完成、预约取消、二次维修等内容,如图5-16所示。
预约维修,维修人员可在预约维修页面查看家电名称、预约编号、家电类型、维修项目、预约时间、维修账号、维修姓名、用户账号、用户姓名等内容,还可进行上门维修、预约取消或审核等操作,如图5-17所示。
维修完成,维修人员可通过输入费用编号、家电名称、家电类型、维修项目、完成时间、
封面、维修账号维修姓名、用户账号、用户姓名等内容进行提交等操作,如图5-18所示。
第六章 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试和以逻辑为主要测试方向的白盒测试以及其他两种常见的测试方法——冒烟测试和系统测试。这是几种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的。测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
6.1白盒测试
选择测试预约类中的创建预约[createAppointment()]方法,该方法负责创建一个新的预约请求。测试用例如下:
测试结果
6.2黑盒测试
测试用例1及测试过程:
登录:录入登录信息,账号,密码,权限,然后单击登录进行操作,会出现两种情况:一种情况是登录成功,进入用户相应的功能界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作;
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码,权限,然后单击登录进行操作,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。一种情况是登录成功,进入管理员界面进行下一步操作;另一种情况是提示登录失败,系统会弹出一个对话框要求重新登录操作。
6.3冒烟测试
测试用例:冒烟测试又称系统基本功能启动测试
测试目标:验证系统的基本功能是否能够顺利启动和运行,确保没有严重错误,系统能够进入主界面或关键功能界面。
测试过程:
第一项:启动软件,观察系统是否在合理的时间内成功启动,并跳转到主页面或欢迎页面。
第二项:检查应用主界面是否能正常显示,并且用户可以进行常规操作(如登录、导航、进入功能模块)。
第三项:检查界面元素是否显示正常,包括按钮、链接、文本框等。
第四项:验证系统是否出现明显的错误提示或崩溃,模拟一些错误输入(例如空密码)并观察系统的反馈是否符合预期。
第五项:检查是否有基础的导航功能,例如从主界面切换到其他功能模块。
预期结果:
系统应成功启动并进入主界面;界面元素应能正常显示并响应用户操作;在操作过程中不应出现错误提示、崩溃或系统卡顿现象;用户能够正常登录,并访问基本功能等。
6.4系统测试
测试用例:用户注册与登录流程
测试目标:验证系统的用户注册、登录功能是否正常,确保用户能够顺利注册、登录并访问系统的功能。
测试过程:
第一项用户注册测试:用户是否能够成功注册账户。
第二项用户登录测试:注册成功后,检查用户是否能够成功登录系统;验证登录成功后,用户是否能够进入个人主页或功能页面;输入无效的用户名或密码,点击“登录”,检查是否弹出“用户名或密码错误”的提示。
第三项忘记密码功能测试:在登录页面点击“忘记密码”链接,重新设置密码,并用新密码重新登录系统,验证新密码是否能够登录。
预期结果:
用户能够成功注册、登录,并且在登录后进入到相应的页面;系统能够正确发送验证邮件,用户能通过邮件重置密码;无效的登录信息会弹出错误提示;不同权限的用户登录后,能看到和操作不同的功能。
后端查看是否有此数据:
成功!
第七章 总结与心得体会
7.1总结
通过完成该家庭维修服务系统小程序和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。
本网站所实现的是一个家庭维修服务系统小程序,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。
本系统具有以下优点:
该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。
系统将用户权限进行划分,管理员与用户能看到及操作的信息不一样,两者具备不同的操作权限。
该系统操作界面简单明了,大部分人都可以正常使用。
但也存在以下问题需要改进:
运行时窗口不能被刷新,可以改进。
系统过于简单,显示的信息有限。
不能添加多个管理员账号,如果可以则将利于发展家庭维修服务系统小程序规模,便于家庭维修信息集中管理。
7.2心得体会
由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。
致 谢
过程永远比结果重要。软件综合设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我们感受到了浓浓的同窗之情及师生情。虽然大学三年间做过不少实验作业,但是合作完成这样一个操作系统还是第一次,遇到困难时理所当然,我们也有所心理准备,但是超出自身能力的部分还是需要寻求教师及同学的帮助。在此,我们衷心地感谢我们的指导教师卢勇老师,可以说,没有卢老师我们就不能顺利完成这次设计。他总是在一筹莫展的时候为我们指引方向。比如在开题,指导教师就细致地指导我们该怎么有逻辑地将自己的想法和做法表达清楚,在此由衷感谢他。在设计的过程中,教师百忙之中也乐于给予我们指导,不管多晚给教师发消息,不管是不是上班时间去教师办公室寻求帮助,他总能在第一时间对我们施以援手。在我们开始着手实现这个设计的时候,通过需求分析及可行性分析对该系统有了较为浅显的认识;但是在我们真正开始实现时发现事情并没有这么简单。任何成功都不是一蹴而就的,就算是一个简单的软件综合设计也需要日积月累的知识和经验。于是,我们便去寻求老师和同学的帮助,这也使得我们得以从不同的角度重新考虑我们的设计。终于,这个系统在我们内心有了雏形。在真正实现这个设计的过程中,学习新知识是必定的,同时那些由于时间关系或者本来就没有掌握牢固的知识也有了进一步巩固的机会。然而最重要的是了解到如何作为一个开发人员,以开发人员的思维来看待软件开发的步骤和方法策略。
本次软件综合设计的完成预示着本学期的句号,在这个设计过程中,我们收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。
最后真心祝愿师生们前程似锦!工作顺利,祝学校越办越好!
参考文献
[1] 陈儒. Python 源码剖析[M]. 北京: 电子工业出版社, 2023.
[2] LUTZ M. Python 学习手册(第 4 版)[M]. 李军, 译, 刘红伟, 译. 北京: 机械工业出版社, 2022.
[3] 陈忠菊. 基于 SQLAlchemy 的研究和在数据库编程中的应用[J]. 电脑编程技巧与维护, 2022((1)).
[4] 蹇婕. 基于 RBAC 的权限管理系统设计[J]. 计算机光盘系统与应用, 2024, 系统设计开发(2012年第14期): 177.
[5]荣凯,邱卫东,李萍.基于彩虹表的 Hash 攻击研究[J].信息安全与通信保密, (2023 年第 4 期): 74–76.
[6]陈剑.基于 Django 的测试管理系统设计实现[D].北京交通大学, 2023.
[7]王国强,张贝克.基于 Python 的嵌入式脚本研究[J].计算机应用与系统, 2024(03):107-109.
[8]萨师煊,王珊.数据库系统概论(第三版)[M].高等教育出版社, 2024.
[9]罗霄,任用,山秀明 基于 Python 的混合语言编程及其实现 计算机应用与系统 2023,,21(12)
[10]黄建军,李宥谋,刘婧,周欢 基于 Python 语言的自动化测试系统的设计与实现 现代电子技术 2022,40(4)
[11]邵婧,陈左宁,殷红武 面向 Python 的信息流控制模型及其实现 计算机应用研究 2023,32(10)
[12] Abhik Banerjee,V. Mukherjee,S.P. Ghoshal.Seeker optimization algorithm for load-tracking performance of an autonomous power system[J]. International Journal of Electrical Power and Energy Systems . 2022 (1)
[13] Kazushi Ikeda,Thilmee M. Baduge,Takaaki Umedu,Hirozumi Yamaguchi,Teruo Higashino.ALMware: A middleware for application layer multicast protocols[J]. Computer Communications . 2023 (14)