个人日常事务管理系统设计报告
办公室日常管理信息系统 课程设计报告

办公室日常管理信息系统课程设计报告Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#课程设计报告题目:办公室日常管理信息系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录一需求分析需求分析随着企业的发展,职工数量的增加,人员的不断流动,平时我们常用的文件人工记录,文件记录已经渐渐不能满足现代化办公室的要求,查询起来也相当繁琐,得到的信息也不够准确,为了能使大量的企业和个人能够方便快捷的查询到办公室的各种信息,应该有一个功能比较全面的办公室管理系统。
此系统以管理为中心,其重点是信息的输入与查询。
开发主要包括数据库的建立和维护。
数据需求在办公室日常的信息数据输入的过程中,通过网络输入各种不同的数据,这正合开发人员所需,因为这为数据库设计提供了数据样例。
功能描述《办公室日常管理信息系统》针对的用户群相当普遍,企业,团体,学校均可使用。
同时具有如下功能:●文件管理:可以查阅各种文件的编号、种类、名称、存放位置、记录员等。
●考勤管理:可以查询职工的出勤情况●会议记录:可以查阅历次召开会议的的时间、地点、内容、参会人、记录员。
●日常事务管理:可以查阅事务、记录人、事务时间等。
对于使用时按照不同的对象,权限也不同:●管理员可以管理该系统中的问卷信息。
管理内容主要包括:1)负责管理信息输入,包括职工、文件、会议信息的输入。
2)可以查看所有信息。
●一般用户只可以查阅出勤,职工表(工资),文件,更新电话号码。
数据字典1)职工(Workers):|姓名(W_name) 字符型,不能为空|职工号(W_ID) 字符型,主码,不能为空|性别(W_sex) 字符型|年龄(W_age) 整型|职务 (W_job) 字符型,不能为空|工资 (W_salary) 浮点型|工作部门(W_branch) 字符型,不能为空|联系电话 (W_phone) 字符型,不能为空,约束唯一2)会议(Meeting):|会议名称(M_name) 字符型,不能为空|参会人(M_participant)字符型,不能为空|会议内容(M_content)字符型,不能为空|记录员(M_recorder) 字符型|会议时间(M_time) 日期型|会议地点(M_place) 字符型|会议编号(M_ID) 字符型,主码3)文件(Files):|文件编号(F_ID) 字符型,主码,不能为空|文件种类(F_kinds) 字符型|文件名称(F_name) 字符型,不能为空|文件级别(F_level) 字符型|存放位置 (F_position) 字符型|记录员(F_recorder) 字符型4)管理员(Administrator):|管理号(Ad_ID) 字符型,主码,不能为空|登录密码(Ad_password) 字符型,不能为空|姓名(W_name) 字符型5)考勤(Attendance):|管理号(Ad_ID) 字符型,外码|职工号(W_ID) 字符型,外码|日期(At_date) 日期型,主码,不能为空|迟到(At_late) 字符型,约束Y(是)或者N(不是)|早退(At_quit) 字符型,约束Y(是)或者N(不是)6)事务管理(Affairs):|编号(Af_NO) 字符型,主码,不能为空|日期(Af_date) 日期型|事件(Af_events) 字符型|记录人(Af_recorder) 字符型7)查询(Query):|职工号(W_ID) 字符型,主码|文件编号(F_ID) 字符型,外码8)管理(Manage):|管理号(Ad_ID) 字符型,主码,不能为空|职工号(W_ID) 字符型|会议编号(M_ID) 字符型|编号(Af_NO) 字符型|文件编号(F_ID) 字符型数据流图(1)数据流图:图顶层数据流图图功能数据流图图职工信息数据流图图管理员信息数据流图二概念模型设计 E-R模型数据库的局部E-R图1.职工图职工信息E-R图2. 会议图会议信息E-R图3. 文件图文件信息E-R图4.管理员图管理员E-R图5.考勤图考勤信息E-R图6.事务管理图事务管理E-R图7.管理图管理E-R图8.查询图查询E-R图数据库完整E-R图图办公室日常管理信息系统总体 E-R图三逻辑模型设计E-R图向关系模型的转换E-R图是由实体型、实体的属性和实体型之间的联系3个要素组成的。
个人事务系统

华南农业大学珠江学院信息系统分析与设计大作业个人事务管理系统的分析与设计专业年级信息管理与信息系统1601班学号姓名日期 2018/12/23课程报告内容1.需求分析1.1 用户需求分析1.2功能需求分析2.用例建模3.静态结构建模4.动态行为建模4.1系统管理员添加用户的时序图5.物理模型5.1系统的组件图5.2系统的配置图6.心得与体会1.需求分析1.1用户需求分析随着人门之间的交流不断的加深,各种合作也不断增强,个体要处理的事业是十分繁琐,人工处理相当麻烦,需要耗费大量的时间与精力,而且由于需要处理的事务杂乱无章,经常容易出错,导致其他事物无法正常进行,所以为了适应个人对信息综合利用的需要,设计个人事务管理系统这一小型软件来满足人们的要求,这是社会的需要。
通过个人事务系统可以方便快捷的处理个人事务,使得工作快速便捷的进行。
同时也可以与其他系统建立紧密的联系,与周围的人或者事进行多方面交流、了解,获取更多信息。
1.2功能需求分析个人事务管理系统是一个把个人信息集于一体以及另外的一些附加功能;是培养人才过程中传授知识和技能的基本工具;它结构相对单,没有其它那些软件功能复杂,而且易懂,一学就会,个人制作这个软件只需要很短的时间就可以完全部功能的设计。
把微型计算机引入对个人信息进行管理,给个人日常事情管理带来了方便,是管理走向现代化的标志。
首先,有利个人摆脱“信息紊乱”的繁忙的事务性工作,更多地进行日常事情的研究,及时提供优质适用的信;其次,有利于提高信息管理工作的效率和水平,促进管理的规范化和现代化。
微机及其管理软件的运用,使管理信息处理的速度和数量呈几何级数提高,推动了通讯录理工作现代化的发展;第三,有利于提高通讯录管理工作人员的自身素质,管理工作者要通过各种方式和途径不断加强自身的学习和提高,以及适应变化了的工作环境和管理方式。
本系统包括以下功能: 系统对用户开放的主要功能有:登陆功能,注册功能,改密功能,计录事务功能,事务提醒功能,财务收支功能,人脉管理功能,备忘功能,纪念日提醒功能,以及四象管理法则。
个人事务管理系统

XXXX学院数计学院2009—2010第二学期课程设计报告册课程设计题目:个人事务管理系统课程名称:软件工程课程设计班级:0X计本(X)班姓名:肖X 高XX 胡XX 黄XX 曾X学号:0X0X030XX 0X0X0X0XX 0X0X0X0XX0X0X030XX 0X0X03XXX指导教师:巫XX完成时间:2010年6月1日系统项目简介:近些年来,随着社会的不断发展与进步,人们对于信息化工作的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,信息管理工作的重要性已逐渐被人们所认识,而为了方便个人对日常事务进行信息化管理,使信息存储达到准确、快速、完善并快速反馈进行信息处理加工,我们最终设计出了个人事务管理系统,系统实现了资料管理信息化,提供快速、准确的处理通讯录删、改、存、搜、盘点等多种功能模式,并支持多种查看方式。
而个人事务管理系统的实施,可逐步提高人个对自身综合信息的管理水平。
目录1.引言 (3)2.系统分析 (7)2.1 可行性分析 (7)2.2 功能分析 (7)2.3 性能分析 (8)3.系统设计 (8)3.1 总体设计 (9)3.2 接口设计 (16)3.3 详细设计 (16)3.4 数据库设计 (18)4.系统实现 (20)5.系统测试 (54)6.总结 (55)7.参考文献 (56)1 引言随着人门之间的交流不断的加深,各种合作也不断增强,为了适应个人对信息综合利用的需要。
为此,设计个人事务管理系统这一小型软件来满足人们的要求,这是社会的需要。
个人事务管理系统是一个把个人信息集于一体以及另外的一些附加功能;是培养人才过程中传授知识和技能的基本工具;它结构相对单,没有其它那些软件功能复杂,而且易懂,一学就会,个人制作这个软件只需要很短的时间就可以完全部功能的设计。
把微型计算机引入高等院校的对个人信息进行管理,给个人日常事情管理带来了方便,是管理走向现代化的标志。
首先,有利个人摆脱“信息紊乱”的繁忙的事务性工作,更多地进行日常事情的研究,及时提供优质适用的信;其次,有利于提高信息管理工作的效率和水平,促进管理的规范化和现代化。
个人事务综合管理系统

****&工程学院毕业论文基于Java平台个人事务管理系统算法及实现姓名* *院(系)***学院专业班级****学号********指导老师***职称讲师论文答辩日期****年5月9日****工程学院教务处制学生承诺书本人郑重承诺:该毕业论文从选题、设计提要、初稿、修订稿等步骤均为我本人在指导老师指导下独立完成;论文所使用相关资料、数据、见解等均真实可靠,除已注明引用她人见解、材料外,本论文没有剽窃或不正当引用她人学术结果。
如违反上述要求,本人愿负担一切后果。
毕业论文作者署名:日期:年月日本论文关键叙述了个人事务管理系统步骤和Java高级程序设计语言实现概况。
关键介绍了个人事务管理系统实现过程:包含系统概述、系统分析、数据步骤分析、功效设计、数据库设计、系统实现、系统测试和调试,包含功效需求描述、数据库设计等内容。
本系统关键包含着两大功效:个人信息管理功效和用户信息管理功效。
个人信息管理包含个人财务管理、人脉信息管理、备忘录信息管理、个人事件管理、应用小工具集等。
用户信息管理关键包含用户注册、登录、修改密码、忘记密码后找回密码等功效。
本系统关键是用可视化插件VE做界面,使用Java语言开发,Mysql数据库作为数据库存放方案,Java利用JDBC访问数据库,实现对个人信息综合查询、增加、修改和删除基础功效个人事务管理。
关键词:个人事务管理系统Java Mysql JDBC可视化插件VE1序言..................................................... 错误!未定义书签。
1.1 选题背景.............................................. 错误!未定义书签。
1.2 现有系统存在问题分析.................................. 错误!未定义书签。
1.3 个人事务管理系统现实意义.............................. 错误!未定义书签。
学生个人事务管理系统

学生个人事务管理系统1设计目的VC++程序设计课程设计是计算机科学与技术专业的《VC++程序设计》课程的综合性实践环节。
VC++程序设计是一门实用性很强的学科,是进行软件开发的主要工具,只有进行实际操作,才能将理论知识和实际应用有机的结合起来,锻炼学生分析解决实际问题的能力,提高学生实际运用的能力,为学生毕业设计,日后工作中的软件开发打下良好的基础。
2功能描述学生个人事务管理系统是引用ADO对象操作技术以及运用这种技术操作数据库,系统以单文档结构为设计基础,在界面设计方面,采用多视图并提供快捷菜单操纵。
数据库采用Microsoft Access 2000。
其主要包括以下几个功能:⑴个人信息管理:包括基本信息及保密信息,可以进行查询。
⑵课程管理:对学生已修课程的信息管理,分为必修课和选修课。
⑶课表管理:对学生课程表的管理,分为总课表和日课表。
可对日课表进行查询。
⑷图书借阅管理:对借阅图书信息进行设置,分为图书馆书籍及其他书籍。
⑸好友信息管理:是一个简单的个人通信信息系统,分为同学和普通朋友俩类。
⑹娱乐信息管理:实现对娱乐信息的编辑和查询。
⑺网站信息管理:实现对网站分类。
⑻待办事务管理:实现记录学生短期内的计划及约定要做的事。
⑼添加与删除信息管理:通过快捷菜单命令实现对信息的添加与删除。
3方案论证 3.1总体设计 3.1.1功能框图学生个人事务管理总体功能框图如下:图1 总体功能框图3.2详细设计 3.2.1数据库设计数据库采用Microsoft Access 。
逻辑设计阶段的任务是把概念结构转换为选用DBMS 所支持的模式。
根据模块的设计以及规范化的设计要求。
系统的数据库设计如表1存放系统总事务信息,即个人信息、课程信息、课表查询、图书借阅、我的好友、我的音乐、我的酷网和提示备忘8项事务。
如表1所示。
学生个人事务管理系统个人信理课程 课表图书借阅 好友信息 娱乐信息 网站信息 待办事务添加与删除基本信息 保密信息必修课 选修课 总课表 日课表图书馆书籍其他书籍同学 朋友 编辑 查询 编辑 查询 编辑 查询 添加 删除表1总事务信息表字段名称数据类型字段大小标题必填字段索引是否主键affairname 文本10 事务名称是无否affairID 数字长整形事务编号是有(无重复)是tableNO 数字整形表号是有(无重复)否subaffair 文本20 子项名称是有(无重复)否explanation 文本50 说明否无否3.2.3程序界面设计3.2.3.1添加新类(1)主框架的设计:①添加左边显示事务项目的树视图类CLeftTreeView。
个人信息管理系统课程设计报告书

Java Web开发(JSP)课程设计报告题目:个人信息管理系统设计者:xxxx专业班级:xxxxxxxx学号:xxxxxxxx指导教师: xxxxx2013年1月5日xxxxx大学计算机学院个人信息管理系统报告书一、系统需求背景该系统实现用户的个人信息管理,根据用户的需求实现相应的信息查询以及更新为用户挺方便的使用功能。
本系统适用于所有人的个人信息管理,主要任务是对用户的的事宜、心情、工作、学习、个人帐目等等的记载,并对这些进行信息进行日常管理。
社会发展越来越快,在面对多发方面压力的情况下,生活难免会陷入混乱,我们在每天的生活和学习中会接触到大量丰富的信息,对于个人信息也需要有一个系统的管理。
二、系统所涉及的一些知识该个人信息管理系统管理系统采用JSP+JDBC+MySQL、extjs、struts、spring、ibatis来实现,视图层采用JSP来实现,并通过JDBC来连接MySQL数据库。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是用JA V A语言作为脚本语言的,JSP网页为整个服务器端的JA V A库单元提供了一个接口来服务于HTTP的应用程序。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。
它由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL 主要目标是快速、健壮和易用。
个人日程管理系统设计报告

河南中医学院《C#程序设计》课程设计报告个人日程管理系统院系:信息技术学院专业:信息管理与信息系统专业班级: 2011级姓名:指导教师:完成日期: 2012年6月22日设计题目:个人日程管理系统1. 题目描述个人日程管理系统需要满足用户对个人日程管理的需要,需要实现的功能如下:1、实现个人日程的添加、删除、修改等基本功能;2、实现日程的查询功能(按天、月、年查询或按照关键词查询);3、实现日程的事件自动提前提醒功能;4、实现日程的统计及打印功能。
2.应用程序功能说明2.1 个人日程管理系统共使用了6个windows窗体,分别是用户登录、用户注册、找回密码、提醒、添加和主窗体。
2.1.1 登录功能。
用户输入用户名和密码,系统验证正确之后,进入系统。
2.1.2 用户注册。
用户通过填写相关信息,注册个人账户。
2.1.3 找回密码。
如果用户不慎丢失密码,系统可以通过注册时用户填写的相关信息,帮助用户找回密码,方便用户使用。
2.1.4 提醒功能。
进入系统后,会自动弹出提醒窗口,按照重要性分块显示用户当天和明天的日程,使用户直观的看到要完成的日程。
2.1.5 添加功能。
当用户选择添加功能时,会弹出该窗体,用户可以通过填写相关信息进行日程的添加。
2.1.6 查询功能。
用户进入主窗体后,可以选择按时间和重要性查询日程,当前显示为当天、当月、当年日程,可以通过单选按钮查询最近三个时间段的日程。
2.1.7 删除功能。
用户可以按照时间和重要性对日程进行删除。
2.1.8 修改功能。
用户可以通过日程标题查询到要修改的日程,然后对相关日程进行修改。
2.1.9 统计功能。
用户在进行日程查询时,左侧显示的日程量即为日程的统计。
3. 源程序3.1Schedulel类代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace smartSchedule{class Schedule1{string strName;string strPassword;string strEmail;string strEmailyu;string strQuestion;string strAnswer;long longPhone;int intHour;int intMinute;int intDay;int intYear;int intMonth;string strPlace;string strTitle;string strRemind;string strImportant;string strRemark;public string StrName{get{return strName;}set{strName = value;}}public string StrPassword{get{return strPassword; }set{strPassword = value; }}public string StrEmail{get{return strEmail;}set{strEmail = value;}}public string StrEmailyu{get{return strEmailyu; }setstrEmailyu = value; }}public string StrQuestion{get{return strQuestion; }set{strQuestion = value; }}public string StrAnswer{get{return strAnswer;}set{strAnswer = value; }}public long LongPhone{get{return longPhone;}set{longPhone = value; }}public int IntDay{get{return intDay;}set{intDay = value;}}public int IntHour{get{return intHour;set{intHour = value; }}public int IntYear{get{return intYear;}set{intYear = value; }}public int IntMonth{get{return intMonth; }set{intMonth = value; }}public int IntMinute{get{return intMinute; }set{intMinute = value; }}public string StrPlace{get{return strPlace; }set{strPlace = value; }}public string StrTitle{getreturn strTitle;}set{strTitle = value;}}public string StrRemind {get{return strRemind;}set{strRemind = value;}}public string StrImportant {get{return strImportant;}set{strImportant = value;}}public string StrRemark {get{return strRemark;}set{strRemark = value;}}}}3.2 添加代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace smartSchedule{public partial class Add : Form{public Add(){InitializeComponent();cbox_Important.SelectedItem = cbox_Important.Items[0];cbox_Remind.SelectedItem = cbox_Remind.Items[0];}private void btn_Add_Click(object sender, EventArgs e){DialogResult dr = MessageBox.Show("确定添加", "提示", MessageBoxButtons.YesNo, rmation);if (dr == DialogResult.Yes){Schedule1 sch = new Schedule1();sch.StrTitle = txt_Title.Text;sch.IntHour = int.Parse(txt_Hour.Text);sch.IntDay = int.Parse(dateTimePicker.Value.Day.ToString()); sch.IntYear =int.Parse(dateTimePicker.Value.Year.ToString());sch.IntMonth =int.Parse(dateTimePicker.Value.Month.ToString());sch.IntMinute = int.Parse(txt_Minute.Text);sch.LongPhone = long.Parse(txt_Phone.Text);sch.StrPlace = txt_Place.Text;sch.StrImportant = cbox_Important.Text;sch.StrRemark = txt_Remark.Text;sch.StrRemind = cbox_Remind.Text;Schedule.AL_Schedule1.Add(sch);txt_Title.Text = "";txt_Hour.Text = "";txt_Minute.Text = "";txt_Place.Text = "";txt_Phone.Text = "";cbox_Important.Text = "非常重要";txt_Remark.Text = "";cbox_Remind.Text = "不提醒";}}private void btn_Return_Click(object sender, EventArgs e){this.Close();}}}3.3 找回密码代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace smartSchedule{public partial class FindPassword : Form{public FindPassword(){InitializeComponent();}private void FindPassword_Load(object sender, EventArgs e) {//cbox_Email.SelectedIndex = 0;//cbox_Problem.SelectedIndex = 0;cbox_Emailyu2.SelectedItem = cbox_Emailyu2.Items[0];cbox_Question2.SelectedItem = cbox_Question2.Items[0];}private void btn_OK_Click(object sender, EventArgs e) {int a = 0;string[] strName = System.IO.File.ReadAllLines("StrName.txt");string[] strEmail = System.IO.File.ReadAllLines("StrEmail.txt");string[] strEmailyu =System.IO.File.ReadAllLines("StrEmailyu.txt");string[] strPassword =System.IO.File.ReadAllLines("StrPassword.txt");string[] strAnswer =System.IO.File.ReadAllLines("StrAnswer.txt");string[] strQuestion =System.IO.File.ReadAllLines("StrQuestion.txt");for (int i = 0; i < strName.Length; i++){if ((strName[i] == txt_Name2.Text && strEmail[i] == txt_Email2.Text && strEmailyu[i] == cbox_Emailyu2.Text)|| (strName[i] == txt_Name2.Text && strAnswer[i] ==txt_Answer2.Text && strQuestion[i] == cbox_Question2.Text)){MessageBox.Show("您的密码是:" + strPassword[i], "提示", MessageBoxButtons.OK, rmation);Schedule sch = new Schedule();sch.ShowDialog();a = 1;break;}}if (a == 0){MessageBox.Show("找回密码失败!");}}private void btn_Return_Click(object sender, EventArgs e) {this.Close();}}}3.4 登录注册代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Collections;namespace smartSchedule{public partial class Huanying : Form{public Huanying(){InitializeComponent();}private void lbl_Forget_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){Form findPassword = new FindPassword();findPassword.Show();}private void btn_Register_Click(object sender, EventArgs e) {Form register = new Register();register.Show();}private void btn_OK_Click(object sender, EventArgs e){int a = 0;string [] A_strName =System.IO.File.ReadAllLines("StrName.txt");string [] A_strPassword =System.IO.File.ReadAllLines("StrPassword.txt");for (int i = 0; i < A_strName.Length; i++){if(A_strName[i] == txt_Name1.Text && A_strPassword[i] == txt_Password1.Text){Schedule sch = new Schedule();Schedule.h = this;sch.ShowDialog();a = 1;break;}}if (a == 0){MessageBox.Show("密码错误!");txt_Password1.Text = "";}}}}3.5 提醒代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace smartSchedule{public partial class Remind : Form{public Remind(){InitializeComponent();}private void Remind_Load(object sender, EventArgs e) {int day = int.Parse(dateTimePicker1.Value.Day.ToString());int month = int.Parse(dateTimePicker1.Value.Month.ToString());int year = int.Parse(dateTimePicker1.Value.Year.ToString());for (int i = 0; i < Schedule.AL_Schedule1.Count; i++){if (((Schedule1)Schedule.AL_Schedule1[i]).IntDay == day && ((Schedule1)Schedule.AL_Schedule1[i]).IntMonth == month &&((Schedule1)Schedule.AL_Schedule1[i]).IntYear == year){if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "非常重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒") {lb_Everyimportant1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle );lb_Everyimportant1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时" + ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒"){lb_Important1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle);lb_Important1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时" + ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "不重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒"){lb_Unimportant1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle);lb_Unimportant1.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时" + ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}}if((((Schedule1)Schedule.AL_Schedule1[i]).IntDay - day) == 1 && ((Schedule1)Schedule.AL_Schedule1[i]).IntMonth == month &&((Schedule1)Schedule.AL_Schedule1[i]).IntYear == year){if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "非常重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒") {lb_everyImportant2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle );lb_everyImportant2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时" + ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒"){lb_Important2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle);lb_Important2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时"+ ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}if (((Schedule1)Schedule.AL_Schedule1[i]).StrImportant == "不重要" && ((Schedule1)Schedule.AL_Schedule1[i]).StrRemind == "提醒") {lb_Unmportant2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).StrTitle);lb_Unmportant2.Items.Add(((Schedule1)Schedule.AL_Schedule1[i]).IntHour + "时" + ((Schedule1)Schedule.AL_Schedule1[i]).IntMinute + "分");}}}}private void btn_close_Click(object sender, EventArgs e) {this.Close();}}}3.6 查询,删除,修改代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Collections;namespace smartSchedule{public partial class Schedule : Form{public Schedule(){InitializeComponent();cbox_Del_Important2.SelectedItem = cbox_Del_Important2.Items[0];cbox_Important1.SelectedItem = cbox_Important1.Items[0];cbox_Remind1.SelectedItem = cbox_Remind1.Items[0];}public static Huanying h;public static ArrayList AL_Schedule1 = new ArrayList();int day, year, month, s, j = 1;private void Schedule_Load(object sender, EventArgs e){day = int.Parse(dateTimePicker1.Value.Day.ToString());year = int.Parse(dateTimePicker1.Value.Year.ToString());month = int.Parse(dateTimePicker1.Value.Month.ToString());gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = false;h.Hide();dgv_schedule.ColumnCount = 9;dgv_schedule.ColumnHeadersVisible = true;dgv_schedule.Columns[0].Name = "日程量";dgv_schedule.Columns[1].Name = "标题";dgv_schedule.Columns[2].Name = "日期";dgv_schedule.Columns[3].Name = "时间";dgv_schedule.Columns[4].Name = "地点";dgv_schedule.Columns[5].Name = "联系电话";dgv_schedule.Columns[6].Name = "重要性";dgv_schedule.Columns[7].Name = "提醒";dgv_schedule.Columns[8].Name = "备注";dgv_schedule.Columns[0].Width = 80;dgv_schedule.Columns[7].Width = 110;dgv_schedule.Columns[8].Width = 180;//读取数据string[] A_longPhone =System.IO.File.ReadAllLines("LongPhone.txt");string[] A_intHour = System.IO.File.ReadAllLines("IntHour.txt");string[] A_intMinute =System.IO.File.ReadAllLines("IntMinute.txt");string[] A_strPlace =System.IO.File.ReadAllLines("StrPlace.txt");string[] A_strTitle =System.IO.File.ReadAllLines("StrTitle.txt");string[] A_strRemind =System.IO.File.ReadAllLines("StrRemind.txt");string[]A_strImportant=System.IO.File.ReadAllLines("StrImportant.txt");string[] A_strRemark =System.IO.File.ReadAllLines("StrRemark.txt");string[] A_intDay = System.IO.File.ReadAllLines("IntDay.txt");string[] A_intYear = System.IO.File.ReadAllLines("IntYear.txt");string[] A_intMonth =System.IO.File.ReadAllLines("IntMonth.txt");for (int i = 0; i < A_strTitle.Length; i++){Schedule1 sch = new Schedule1();sch.StrTitle = A_strTitle[i];sch.StrPlace = A_strPlace[i];sch.StrImportant = A_strImportant[i];sch.StrRemind = A_strRemind[i];sch.StrRemark = A_strRemark[i];sch.LongPhone = long.Parse(A_longPhone[i]);sch.IntDay = int.Parse(A_intDay[i]);sch.IntYear = int.Parse(A_intYear[i]);sch.IntMonth = int.Parse(A_intMonth[i]);sch.IntHour = int.Parse(A_intHour[i]);sch.IntMinute = int.Parse(A_intMinute[i]);Schedule.AL_Schedule1.Add(sch);}//日程提醒Remind remind = new Remind();remind.ShowDialog();}//树状图功能选择private void tv_schedule_AfterSelect(object sender, TreeViewEventArgs e){nudown_Day.Value = day;//日程添加if (e.Node.Text.Trim() == "添加"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = false;dgv_schedule.Visible = true;Form add = new Add();add.ShowDialog();}//退出系统if (e.Node.Text.Trim() == "退出系统"){DialogResult dr = MessageBox.Show("您是否要保存并退出系统? ", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);if (dr == DialogResult.Yes){//数据储存string[] B_longPhone = new string[AL_Schedule1.Count];string[] B_intHour = new string[AL_Schedule1.Count];string[] B_intMinute = new string[AL_Schedule1.Count];string[] B_intDay = new string[AL_Schedule1.Count];string[] B_intYear = new string[AL_Schedule1.Count];string[] B_intMonth = new string[AL_Schedule1.Count];string[] B_strPlace = new string[AL_Schedule1.Count];string[] B_strTitle = new string[AL_Schedule1.Count];string[] B_strRemind = new string[AL_Schedule1.Count];string[] B_strImportant = new string[AL_Schedule1.Count];string[] B_strRemark = new string[AL_Schedule1.Count];for (int i = 0; i < AL_Schedule1.Count; i++){B_longPhone[i] =(((Schedule1)AL_Schedule1[i]).LongPhone).ToString();B_intHour[i] =(((Schedule1)AL_Schedule1[i]).IntHour).ToString();B_intMinute[i] =(((Schedule1)AL_Schedule1[i]).IntMinute).ToString();B_intDay[i] =(((Schedule1)AL_Schedule1[i]).IntDay).ToString();B_intYear[i] =(((Schedule1)AL_Schedule1[i]).IntYear).ToString();B_intMonth[i] =(((Schedule1)AL_Schedule1[i]).IntMonth).ToString();B_strImportant[i] =((Schedule1)AL_Schedule1[i]).StrImportant;B_strPlace[i] =((Schedule1)AL_Schedule1[i]).StrPlace;B_strRemark[i] =((Schedule1)AL_Schedule1[i]).StrRemark;B_strRemind[i] =((Schedule1)AL_Schedule1[i]).StrRemind;B_strTitle[i] =((Schedule1)AL_Schedule1[i]).StrTitle;}System.IO.File.WriteAllLines("LongPhone.txt",B_longPhone);System.IO.File.WriteAllLines("IntDay.txt", B_intDay); System.IO.File.WriteAllLines("IntYear.txt", B_intYear); System.IO.File.WriteAllLines("IntMonth.txt",B_intMonth);System.IO.File.WriteAllLines("IntHour.txt", B_intHour); System.IO.File.WriteAllLines("IntMinute.txt",B_intMinute);System.IO.File.WriteAllLines("StrPlace.txt",B_strPlace);System.IO.File.WriteAllLines("StrTitle.txt",B_strTitle);System.IO.File.WriteAllLines("StrRemind.txt",B_strRemind);System.IO.File.WriteAllLines("StrImportant.txt",B_strImportant);System.IO.File.WriteAllLines("StrRemark.txt",B_strRemark);Application.Exit();}else if (dr == DialogResult.No){Application.Exit();}else{return;}}//按日期查询if (e.Node.Text.Trim() == "按日期查询"){gbox_Time.Visible = true;gbox_Time.Text = "按月查询";gbox_Important.Visible = false;rbtn_Date1.Visible = true;rbtn_Date2.Visible = true;rbtn_Date3.Visible = true;rbtn_Date1.Enabled = true;rbtn_Date2.Enabled = false;rbtn_Date3.Enabled = true;rbtn_Date2.Checked = true;nudown_Day.Visible = false;txt_Change.Visible = false;btn_Demand.Visible = false;rbtn_Date1.Text = (month - 1).ToString() + "月";rbtn_Date2.Text = month.ToString() + "月";rbtn_Date3.Text = (month + 1).ToString() + "月";dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).IntMonth == month && ((Schedule1)AL_Schedule1[i]).IntYear == year){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ": " +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//按天查询if (e.Node.Text.Trim() == "按天查询"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = true;gbox_Time.Text = "按天查询";gbox_Important.Visible = false;rbtn_Date1.Visible = false;rbtn_Date2.Visible = false;rbtn_Date3.Visible = false;nudown_Day.Visible = true;dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).IntDay == day && ((Schedule1)AL_Schedule1[i]).IntMonth == month &&((Schedule1)AL_Schedule1[i]).IntYear == year){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ":" +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//按月查询if (e.Node.Text.Trim() == "按月查询"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = true;gbox_Time.Text = "按月查询";gbox_Important.Visible = false;rbtn_Date1.Visible = true;rbtn_Date2.Visible = true;rbtn_Date3.Visible = true;rbtn_Date1.Enabled = true;rbtn_Date2.Enabled = false;rbtn_Date3.Enabled = true;rbtn_Date2.Checked = true;nudown_Day.Visible = false;txt_Change.Visible = false;btn_Demand.Visible = false;rbtn_Date1.Text = (month - 1).ToString()+"月";rbtn_Date2.Text = month .ToString()+"月";rbtn_Date3.Text = (month + 1).ToString()+"月";dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).IntMonth == month &&((Schedule1)AL_Schedule1[i]).IntYear == year){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ": " +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//按年查询if (e.Node.Text.Trim() == "按年查询"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = true;gbox_Time.Text = "按年查询";gbox_Important.Visible = false;rbtn_Date1.Visible = true;rbtn_Date2.Visible = true;rbtn_Date3.Visible = true;rbtn_Date1.Enabled = true;rbtn_Date2.Enabled = false;rbtn_Date3.Enabled = true;rbtn_Date2.Checked = true;nudown_Day.Visible = false;txt_Change.Visible = false;btn_Demand.Visible = false;rbtn_Date1.Text = (year - 1).ToString() + "年";rbtn_Date2.Text = year.ToString() + "年";rbtn_Date3.Text = (year + 1).ToString() + "年";dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).IntYear == year){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ": " +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}////按重要性查询if (e.Node.Text.Trim() == "按重要性查询¥"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = true;rbtn_EveryImportant.Enabled = false;rbtn_Important.Enabled = true;rbtn_Unimportant.Enabled = true;rbtn_EveryImportant.Checked = true;dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).StrImportant == "非常重要"){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ": " +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//非常重要日程查询if (e.Node.Text.Trim() == "非常重要"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = true;rbtn_EveryImportant.Enabled = false;rbtn_Important.Enabled = true;rbtn_Unimportant.Enabled = true;rbtn_EveryImportant.Checked = true;dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).StrImportant == "非常重要"){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ": " +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//重要日程查询if (e.Node.Text.Trim() == "重要"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = true;rbtn_EveryImportant.Enabled = true;rbtn_Important.Enabled = false;rbtn_Unimportant.Enabled = true;rbtn_Important.Checked = true;dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).StrImportant == "重要") {dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ":" +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//不重要日程查询if (e.Node.Text.Trim() == "不重要"){gbox_Change.Visible = false;gbox_Del.Visible = false;gbox_Time.Visible = false;gbox_Important.Visible = true;rbtn_EveryImportant.Enabled = true;rbtn_Important.Enabled = true;rbtn_Unimportant.Checked = true;rbtn_Unimportant.Enabled = false;dgv_schedule.Visible = true;dgv_schedule.Rows.Clear();j = 1;for (int i = 0; i < AL_Schedule1.Count; i++){if (((Schedule1)AL_Schedule1[i]).StrImportant == "不重要"){dgv_schedule.Rows.Add(j++,((Schedule1)AL_Schedule1[i]).StrTitle, ((Schedule1)AL_Schedule1[i]).IntYear + "年" + ((Schedule1)AL_Schedule1[i]).IntMonth + "月" +((Schedule1)AL_Schedule1[i]).IntDay + "日",((Schedule1)AL_Schedule1[i]).IntHour + ":" +((Schedule1)AL_Schedule1[i]).IntMinute,((Schedule1)AL_Schedule1[i]).StrPlace,((Schedule1)AL_Schedule1[i]).LongPhone,((Schedule1)AL_Schedule1[i]).StrImportant,((Schedule1)AL_Schedule1[i]).StrRemind,((Schedule1)AL_Schedule1[i]).StrRemark);}}}//按日期删除if (e.Node.Text.Trim() == "按日期删除"){txt_Del_Condition.Text = "";gbox_Change.Visible = false;gbox_Del.Visible = true;gbox_Time.Visible = false;gbox_Important.Visible = false;dgv_schedule.Visible = true;cbox_Del_Important2.Visible = true;cbox_Del_Important2.Text = "日期";if (month < 10){txt_Del_Condition.Text = year.ToString() + "0" + month.ToString() + day.ToString();}。
(最新版)个人记账系统毕业课程设计报告

软件工程学年设计题目:个人记账系统院系:计算机科学与技术班级:计算机班学号:姓名:指导教师:2011 年 7 月 15 日摘要本报告介绍了一个运用C语言知识和DEV C++创建的用于个人财务情况管理的个人记账系统。
在该系统中创建了包含增加、删除、修改、查找、插入、浏览、统计的功能总列表,创建序号链接各功能列表,输入收入支出信息情况,增加信息,删除信息,,创建合计排序浏览用户可从总体上浏览个人财务信息情况。
关键词:C语言,DEV c++,个人记账系统目录第一章绪论 (1)1.1 开发背景及意义 (1)1.2 相关技术背景 (2)1.3 开发及运行环境 (4)第二章需求分析 (5)2.1 设计目标 (5)2.2 功能需求 (5)2.3 可行性分析 (5)第三章总体设计 (7)3.1 设计目标 (7)3.2 系统结构设计 (7)3.3 系统功能结构图 (7)第四章详细设计 (12)5.1 基本对象设计 (12)5.2 系统主程序的设计与实现 (13)5.3 用户登录功能的设计与实现 (17)5.4 流水账视图的设计与实现 (20)5.5 消费结构视图的设计与实现 (23)5.6 流水账明细视图的设计与实现 (24)5.7 账户设置功能的设计与实现 (28)5.8 消费趋势堆栈图的设计与实现 (29)5.9 系统辅助功能的设计与实现 (30)第六章软件测试 (34)6.1 系统测试 (34)6.2 性能测试 (37)6.3 验收测试 (37)第七章总结 (38)参考文献 (40)第一章绪论1.1 开发背景及意义个人理财在我国得到大众的认可和金融机构的重视是近几年的事情。
人们对个人理财的重视程度,与我国市场经济制度不断完善、资本市场长足发展、金融产品的日趋丰富以及居民总体收入水平的逐年上升等等是分不开的。
但是比起美、日等发达国家,我国人民对于个人理财的理解还处于初级阶段。
但是其实理财并不困难,并非非要依靠个人理财专业人士的建议才能身体力行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入数据项 用户名
密码
输出数据项 存在或者不 存在 正确或者不正确
用户名、密 码
登陆成功或 者失败
表 1-2 用户登录处理过程名
编号 2.1
2.2
处理过程名 核对
日程安排查 看
处理功能描述 查看每人每日 日程安排是否正确 系统显示日程
安排
处理要求 N 个每秒
每个账户 每日一个
输入数据项 时间,地点, 事务,备注 时间,地点, 事务,备注
单
表 1-4 个人事务处理过程名
编号 1.1 1.2 1.3
处理过程名 核对
检查
个人收支查 看
处理功能描述 核对个人收支 是否正确 查询个人收支 范围是否出现异常 系统显示个人
收支
处理要求 N 个每秒
N 个每秒
每个账户 一个
输入数据项 时间,金钱
金钱
输出数据项 正确或者不 正确 异常或者不异常
时间,金钱, 备注
2.设计背景
现代社会,每个人总是与周围的事务存在着各种各样的联系,个体要 处理 的事务也是很繁杂的,人工处理相当麻烦,需要耗费大量的时间与精力, 而且由 于需要处理的事务杂乱无章,经常容易出错,导致其他的事务无法正 常进行。 使用计算机软件来管理个人事务, 在时下来讲是很必要的。 通过 开发一个 “个人事务管理系统”的软件,可以方便快捷的管理各项个人事务, 使得各项工作能够高效率、高质量的进行。同时也可以与其他的系统建立紧密 的联系,与周围的 人或者事及时沟通,获取信息。本小组已进行了相应的市 场调查,并与目标用户进行了很多沟通,在此基础上编写《个人事务管理系统》 需求分析说明书。
2-2 个人事务管理系统分 E-R 图
-10-
2-3 日程安排系统分 E-R 图
+
2-4 个人收支系统分 E-R 图
-11-
2-5 个人关系系统分 E-R 图 2.系统基本 E-R 图设计
-12-
图 2-5 个人事务管理系统基本 E-R 图 最后得到的 E-R 如图所示,对每个实体定义的属性如下: 用户:{身份证,姓名,性别,年龄,职务,收入,婚姻状况} 用户账户:{账户,密码,姓名,性别,年龄,职务,收入,婚姻状况} 个人事务:{时间,地点,事务,备注} 用户日程:{时间,地点,事务,备注} 个人收支:{时间,金钱,备注} 个人关系:{时间,对象,关系,备注}
字符 串 整型
字符 串
8 8 12
不限
不限 不限
不限
0000000099999999
可确定其他数据项
00000000-
-
99999999
00000000000000- 99999999999999
-
-
-
-
-
-
-
-
表 3-1 个人事务管理系统数据项
二、概念结构设计
1.系统分 E-R 图设计
-9-
2-1 用户登录系统分 E-R 图
-2-
个人日常事务管理
登
日
管
统
统
录
程
理
计
计
模
安
个
个
个
块
排
人
人
人
模
事
收
关
块
务
支
系
模
模
模
块
块
块
图 1-1 系统结构图 第一层数据流图如图 1—2 所示
-3-
图 1-2 个人日常事务管理系统第一层数据流图 a
5.系统数据流图说明 1)系统数据流图说明
个人日常事务管理包括四个阶段: (1)日程安排 (2)管理个人事务 (3)统计个人收支 (4)统计个人关系 (1)
3.开发目标
《个人事务管理系统》旨在设计出一个能够对个人事务进行有效地管 理,使其能够有计划的进行,节约时间与精力,高效完成既定任务。个人日常 事务包括 个人的日常收支管理,记事管理,纪念日提醒,以及日程安排等等。
4.系统结构图
系统结构图如图 1-1 所示,包括 1.1 用户登录 1.2 日程安排 1.3 个人事物 1.4 个人收支 1.5 个人关系 四个功能。
表 2-1 个人事务管理系统数据存储名
6.数据字典描述 • 数据字典的内容 – 数据项 – 数据结构 – 数据流 – 数据存储 – 处理过程 • 数据项是数据的最小组成单位 • 若干个数据项可以组成一个数据结构 • 数据字典通过对数据项和数据结构的定义来描述数据流、数
据存储的逻辑内容。
•
系统中数据字典数据项描述如表 3-1 所示:
-14-
派遣证号,宿舍楼区号,时间,对象,关系,备注,姓名,专业,学院,班级)
四、数据库物理设计与实现
1.数据库设计 Creat table admin(ID char(20) primary key,
Aname char(10), Asex char(2), Aage char(2), Afunction char(20), Arevenue char(20), Amarital_status char(2)) Creat table admin_account(acaccount char(20) primary key,
图 1—3 数据流图 b 日程安排 (2)
图 1—4 数据流图 c 个人事务管理 (3)
-4-
图 1—5 数据流图 d 个人收支统计 (4)
图 1—6 数据流图 e 个人关系统计
2)处理过程说明 系统中处理过程定义表如表 1-1 所示:
-5-
编号
处理过程名 处理功能描述 处理要求 输入数据项
输出数据项
2.用户子模式设计 (1)用户实体型关系模式建立的视图:
为一般用户建立视图:用户(身份证号,姓名,性别,年龄,职务,收入, 婚姻状况)
为学生用户建立视图:学生用户(身份证号,学号,寝室号,毕业证号, 派遣证号,宿舍楼区号,姓名,专业,学院,班级) (2)用户账户实体型关系模式建立的视图:
为一般用户建立视图:用户账户(账户,密码,姓名,性别,年龄,职务, 收入,婚姻状况)
三、逻辑结构设计
1.系统数据模型说明 用户:(身份证,姓名,性别,年龄,职务,收入,婚姻状况) 此为用户实体型对应的关系模式。该关系模式已包含了联系—“登录”所
对应的关系模式。 用户账户:(账户,密码,姓名,性别,年龄,职务,收入,婚姻状况) 此为用户账户实体型对应的关系模式。该关系模式已包含了联系—“用户
《数据库原理与应用》课程实验五 数据库应用系统的设计
《个人日常事务管理系统数据库设计》
班级
姓名
学号
系统分工
需求分析 概念结构设计 逻辑结构设计 数据库物理设计
与实现
实验日期:2012 年 6 月 9 号
-1-
个人日常事务管理系统数据库设计
一、需求分析
1.开发目的
现代社会每个人都有属于自己的各种各样的事物,这些事物可能会很 繁杂, 不便于管理,因此,在进行了相应的市场调查之后,项目组提出了编 写个人事务 管理系统需求规格说明书。此需求规格说明书对《个人事务管理 系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、 性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求, 并 在此基础上进一步提出概要设计说明书和完 成后续设计与开发工作。
关系,备注
正确,不正确 保存,未保存 保存,未保存
保存,未保存 保存,未保存
表 1-1 个人事务管理处理过程名
编号 1.1 1.2
1.3
处理过程名 核对 检查
登录
处理功能描述 检查用户状态 是否正常 核对用户名和 密码是否符合
用户正常进入 系统
处理要求 N 个每秒
经检验后 能使用户正常
登陆 每个账户 一个
1.0 2.0 3.0 4.0 5.0
用户登录
日程安排
管理个人事 务
统计个人 收支
统计个人 关系
用户进入 用户的日程 个人事务管理 财务情况 人际关系
每人一个用 用户名,密码
户
每人每日事 时间,地点,
物安排
事务,备注
每人 每日 事 时间,地点,
务
事务,备注
每人收支
时间,金钱,
备注
每人关系
对象,时间,
登录”所对应的关系模式。
-13-
个人事务:(时间,地点,事务,备注) 此为个人事务实体型对应的关系模式。该关系模式已包含了联系—“个 人事务管理”所对应的关系模式。 用户日程:(时间,地点,事务,备注) 此为用户日程实体型对应的关系模式。该关系模式已包含了联系—“用户 日程安排”所对应的关系模式。 个人收支:(时间,金钱,备注) 此为个人收支实体型对应的关系模式。该关系模式已包含了联系—“个 人收支统计”所对应的关系模式。 个人关系:(时间,对象,关系,备注) 此为个人关系实体型对应的关系模式。该关系模式已包含了联系—“统 计个人关系”所对应的关系模式。
输出数据项 正确或者不 正确 异常或者不异常
个人关系表 单
表 1-6 个人关系处理过程名
3)数据存储说明 确定最终数据库需要存储哪些信息。数据存储定义以数据流图为基础。
(1)考察数据流图中每个数据存储信息,确定其是否应该而且可能由数 据库存储
(2)定义每个数据存储。如下: 系统中数据存储定义表如表 2-1 所示:
个人收支表 单
表 1-5 个人收支处理过程名
编号 1.1 1.2 1.3
处理过程名 核对
检查
个人关系查 看
处理功能描述 核对个人关系 是否正确 查询个人关系 范围是否出现异常 系统显示个人
关系
处理要求 N 个每秒
N 个每秒
每个账户 一个