1、 计算器,可以对活期存款、定期存款进行相应的计算,求其增长值。 收入查询,用户可以输入相应的查询条件进行数据查询,并且可以删除相应 的数据。支出查询,支出查询类似于收入查询,同样可以进行查询、删除操作。 个人信息,用户可以增加自己的个人信息,同时可以修改登录密码。2.数据库需求和分析a). 数据结构(数据库中表的设计)收入类别信息(收入类别,收入类别说明)收入信息(收入编号,收入类别,日期,金额,备注)支出类别信息(支出类别,支出类别信息)支出信息(支出编号,支出类别,日期,金额,备注) 家庭成员信息(称呼,密码,用户名,生日)b). 数据项具体设置(建议放到数据库实施中)编号标识符类型长度所
2、属表名1用户名vchar15家庭成员2密码203称呼1045生日char6收入类别收入类别信息,收入信息7收入类别说明50收入类别信息8收入编号int*收入信息9收入日期收入金额11收入说明12支出类别支出类别信息,支出类别13支出类别说明支出类别信息14支出编号支出信息支出日期16支出金额17支出说明概念结构设计1.流程图(系统功能模块图)a).收入类别信息b).收入信息:c).支出类别信息d).支出信息:e).家庭成员信息f).综合以上E-R图模型,得出整个系统的 E-R关系图:三、 逻辑结构设计1. 由 E-R 图转化的关系模式为:收入类别信息(收入类别,收入类别说明) 收入信息(收入编
3、号,收入类别,日期,金额,备注) 支出类别信息(支出类别,支出类别信息) 支出信息(支出编号,支出类别,日期,金额,备注) 家庭成员信息(称呼, ,密码,用户名,生日)2. 对关系模式进行规化在收入类别信息表中,收入类别为码,收入类别说明完全依赖于码,不存在 部分依赖和传递依赖,达到第三式;收入信息表中,收入编号为码,其他信息完全依赖于码,不存在部分依赖和 传递依赖,达到第三式;在支出类别信息表中,支出类别为码,支出类别说明完全依赖于码,不存在 部分依赖和传递依赖,达到第三式;支出信息表中,支出编号为码,其他信息完全依赖于码,不存在部分依赖和 传递依赖,达到第三式;家庭成员信息表中,用户名为码
4、,其他信息完全依赖于码,不存在部分依赖 和传递依赖,达到第三式;3.数据库的完整性和安全性作何考虑?安全性:有两种角色:老妈和普通家庭成员。其中,老妈可以查看和修改任 何表,拥有所有权限;普通家庭成员可以修改自己的信息,其他表只有查询 功能。完整性:按照表间的关系做了完整性约束、触发器和存储过程。四、物理结构设计1.数据库设计首先需要对整个系统的数据库进行设计,本系统总共包括 5表,分别为收入类别信息表、支出类别信息表、收入信息表、支出信息表以及家庭成员信息表。a).收入类别信息表用于记录日常收入类别的相关信息,主要字段有日常收入类别名称、日常收 入类别的说明信息,具体设计如图:.ZUrUPi
5、njirAS. Li, - . o_ Incom eCatef licai. sql . er (saJ列宕 1 数嶠娄塑 1允许NJI值1Icategory varchar(lO) 厂psay vartiar(5O) |0 and Iage 0)add constraint sex_default default for Isex- 触发器create trigger cate_delete on IncomeCatefor delete asdeclare BIcategory varchar (10)print 使用delete触发器级联删除Income表中相关的行select BIca
6、tegory =Icategory from deleted 删除的类别 : +BIcategorydelete Income where Income. icategory =BIcategory go- 测试delete from IncomeCate where Icategory = 小费 create trigger ex_cate_delete on ExpenseCatedeclare Blcategory varchar (10)select BIcategory =lcategory from deleted删除的类别:+BIcategorydelete Expense wh
7、ere Expense. icategory =BIcategory-存储过程create procedure P_BuZhu asselect icategory , imoney, idate , isayfrom Income where icategory =补助exec P_BuZhu-在Expense数据库中,建立一个存储过程,统计消费大于等于的记录个数create procedure P_Expense nint outputselect =COUN(T) from Expensewhere imoney=100declare n intexec P_Expense noutpu
8、tprint convert (varchar (5), i)2.系统模块a).收入和支出类别维护b).添加收入和支出信息c).定期和活期存款计算d).收入记录查询e).支出记录查询家庭理财专冢收入査洵 收入数据2012-11-26补肋15002012-08-20打工13002012-06-21分红3002010-11-25补助12002011-05-172012-08-011002000-01 01返回 六、 总结和建议本课程设计是利用 Android 开发的,系统功能已经基本实现。但同时也存在 很多不足的地方, 比如整个系统还可以添加更多功能, 外观上可以做进一步调整 和修饰,以及用户资料
9、的性和安全性还没有考虑周全。 这次课程设计, 由于自己 在知识、经验方面都存在着很多不足;另外,在整个过程中忙于复习,没有充足 的时间来跟老师和同学沟通。 因此, 系统必然会存在一些缺陷和不足。 因为对家 庭财务管理的整个流程不太熟悉,在需求分析时未能做到完全满足用户的需求, 以致缺少了一些必要功能。经过这次课程设计,我深刻体会到要做好一件完整的事情,需要有系统的思 维方式和方法,对待一个新的问题, 要有耐心,善于运用已有的资源来充实自己。 同时我也深刻地认识到, 对待一个新事物时, 一定要从整体考虑, 完成一部之后 再做下一步,这样对于系统而言才更加有效。通过这次设计,我不仅对 Android 和 SQLServer 2008 有了深刻的认识,积累了使用软件工程的思想来开发软件的 经验,最重要的是摸索出了一套考虑问题和解决问题的方法, 这对于我将来走上 工作岗位受益匪浅。实践出真知,这次课程设计使我得以将数据库、软件工程课程中所学的理论 知识得以充分运用。 理论和实践相结合, 动手能力得以很大的提高。 开发一个良 好的系统需要丰富的知识,由于水平有限,系统不够完善,期待进一步改进。七、 参考文献1. 数据库系统概论2. Android 应用案例开发大全
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1