作者:周芳 冯昊 盛李明 苏启琦 张小虎
摘要:针对当代大学生节约意识淡薄的现状,以消费管理系统为案例,前台采用VC作为开发工具,后台采用ACCESS数据库,利用C/S结构开发而成。按照软件工程的思想,从需求分析、概要设计、详细设计、编码和测试五个方面进行了详细描述,旨在帮助提高学生自我管理能力的同时,为计算机系软件专业的学生提供参考依据,以便更快的进入数据库编程领域。
关键词:管理系统;软件工程;数据库编程;自我管理
1、引言
随着社会的发展,物质生活越来越充裕,大部分家庭当中均以独生子女居多,家长往往倾其所有,尽量满足小孩的各种需求,力争使他们受到最好的教育[1]。基于此,节约意识和理财意识逐渐淡薄[2],为了让当代大学生对自己的每笔消费都能做到心中有数,从而培养自己的理财意识和自我管理的能力,从而开发了此消费管理系统。它能完成对学生的消费按月、季度、年等进行汇总、统计各种支出的百分比等功能。与此同时,采取重现软件设计流程的方式,为计算机系软件专业的学生提供参考依据,以便加快进入数据库编程领域的步伐。
2、需求分析
根据用户需求,该系统应具有以下功能:
(1)用户通过身份认证进入系统。
(2)管理员能实现用户信息的查询、增加、删除和修改。
(3)能实现指定人员的消费查询、增加、删除和修改,按月、季度、年进行汇总,统计各种支出的百分比等功能。
3、概要设计
3.1开发环境
该系统以C/S模式为体系结构,采用Visual C作为前台开发工具,使用Access作为后台数据库,通过ADO实现系统与数据库的连接开发而成。
3.2模块设计
按照用户需求,确定该系统具有用户管理和消费管理两大模块,功能模块图如图3-1所示:
4、数据库设计
数据库设计时,主要采用范式原理[3],在设计过程中一般只需符合3NF规范即可,即消除传递函数依赖。除此之外,还需制定统一的命名规则[4],比如:字段名和表名采用单词的首字母加下划线的方式,s_date代表提交时间。另外,需要设置约束条件,例如:主外键设置,是否允许重复等。
本系统结构简单,仅由单独的寝室成员信息表建立而成,包含s_id、s_name, s_subject、s_date和mark等5个字段,其数据类型分别为数字(长整型)、文本、文本、日期/时间、货币型。其中,s_id为主键,其他4个字段都将“必填字段”设置为“是”。
5、编码
“编码”顾名思义为编写代码,即利用程序设计语言实现用户所需功能[5]。现以用户身份认证和添加消费记录为例进行重现。
5.1用户认证代码
首先定义一个布尔型的变量,用于是否取得权限的标志,然后定义cstring型的变量m_user和m_password,分别用来存储用户名和密码。具体代码如下:
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr /> class CLogin : public CDialog
{
// Construction
public:
BOOL status; //先用BOOL定义一个status,用于判断是否拥有用户权限
CLogin(CWnd* pParent = NULL);
}
void CLogin::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
if(m_user=="635"&&m_password=="0706030118192021")//这里设置用户名及密码
{
status=true;//改变status的值,确定是否有操作权限
MessageBox("用户认证成功");
m_user="";//将用户名与密码置空
m_password="";
UpdateData(FALSE);
}
else
{
status=false;
MessageBox("密码错误!");
m_user="";
m_password="";
UpdateData(FALSE);
}
CDialog::OnOK();
}
这里采用的是将用户名和密码直接写入程序中,也可以设计在数据库的字段中来进行验证,如果和指定数据不匹配则报错,同时将标志置为false,匹配则将标志置为true,并将存放用户名和密码的变量值清空,为下一次身份验证做准备。
5.2 添加消费记录
基于数据库的编程,主要完成增加、修改、删除、查询四种操作。现以添加记录为例,主要实现代码如下:
void CStudentView::OnButton7()
{
// TODO: Add your control notification handler code here
if(m_admin.status==1)//根据用户认证模块的状态,登录成功则执行添加
{
UpdateData(TRUE);
AddARecord(m_addsnum,m_addsname,m_addsub,m_addmark);
m_addsnum=m_addsname=m_addsub="";//添加完成后将,各字段值复位
m_addmark=0;
MessageBox("添加成功!");
UpdateData(FALSE);
}
Else//登录不成功,则提示没有权限
MessageBox("你发现没。。你没有权限。。");
}
void CStudentView::AddARecord(CString s1, CString s2, CString s3, float f1)
{
m_pSet->AddNew();
m_pSet->m_mark=f1;
m_pSet->m_studentname=s2;
m_pSet->m_studentnum=s1;
m_pSet->m_subject=s3;
m_pSet->Update();
m_pSet->MoveLast();
m_pSet->Requery();
}
6测试
完成以上操作后,接下来的工作为测试,测试的方法有多种,比如:黑盒测试、白盒测试、边界测试、功能测试等,一般采取功能测试,即严格按照系统的需求分析来检验,检查所需要的功能是否都具备,统计数据是否都计算准确无误。
测试效果如图6-1所示:
7结束语
该系统响应时间快,简单、易操作,经过一学期的试运行,效果良好,降低了学生的日常消费,提高了理财意识。本论文主要目的在于重现软件开发的流程,故所选案例模块功能简单,但能够帮助软件专业的学生特别是专科生,以最快的速度步入数据库编程的门槛,从这点来说意义是重大的。
基金项目:武汉市教育局教学研究项目(2006J28)
参考文献
【1】刘琳琅,吴清江.基于UML的面向对象建模[J].福州:福建电脑,2004(3):29—33.
【2】孙剑斌, 刘福来. 基于UML的教学质量评价系统的分析与设计. 赣南师范学院学报, 2005, 26(3): 69-72
【3】刘锦萍.基于UML及B/S架构网上选课系统的设计.广州:电 脑 学 习,2008.
【4】 焦允,郭秋萍.基于UML 2.0的数字图书馆系统建模与设计.太原: 电脑开发与应用,2008.
【5】郑金秋,孙雪冬,宋波.基于UML的网上选课系统的研究与设计[J].沈阳:沈阳航空工业学院学报,2005,22(5):46—48.
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
浅谈会计人员职业道德的重要性及加强措施04-26
关于医院财务分析的探讨04-26
浅析我国管理会计中存在的问题及对策04-26
加强集团财务管控的五大措施04-26
如何提高煤炭企业全面预算管理的有效性04-26
管理会计变迁的多元化解释与研究启示04-26
风险管理视角下的民营企业内部控制研究04-26
从法律视角逐条分析跟单信用证统一惯例(UCP600)第4条04-26
金融危机环境下战略管理会计应用研究04-26
浅谈基层检察长的素质修养04-26