《软件设计java毕业设计论文》由会员分享,可在线阅读,更多相关《软件设计java毕业设计论文(18页珍藏版)》请在金锄头文库上搜索。
1、目录第一部分 设计任务21.1 设计背景及目的21.2 设计和解决方法21.3 设计流程图3第二部分 设计说明42.1 系统需求分析42.1.1 运行环境42.2 用户的特点42.3 测试案例4第三部分 设计成果6第四部分 结束语17第五部分 致谢17第六部分 参考文献18第一部分 设计任务1.1 设计背景及目的随着经济社会的高速发展,人们的生活水平也在飞速的提高,同时人们的收入和 消费水平也得到了很大的提升,也从过去的单一输入和消费变成了今天的多元化 收入和消费模式。尤其是我们青年人,对现在新型消费有非常高的热情,但是这 样给在高速发展的消费经济情况下的我们带来了一些意想不到的负面影响,比较
2、 突出的一点就是当前80、90后的一代年轻人只懂得消费和挣钱,不能很好的理 财,这给我们的物质生活带来了不少的麻烦。所以不同功能的个人理财系统便由 此产生了,不论是PC版还是手持设备版都有。在这几年中,飞速的发展,现在已经超过了过去看似很完美的塞班系统,成为全 球最大的手机及手持设备系统之一。An droid操作系统凭借着自己开放的平台允 许任何移动终端厂商加入到An droid联盟中,从而使得越来越多的用户倾向于选 择操作系统为An droid的终端设备。1.2设计和解决方法在an droid系统应用如此火热的情况下,开发一款基于an droid系统的个人记账 系统,不仅能很好的应用an d
3、roid系统的优势,可以在不同的小型手持设备上安 装该软件。同时,手持设备的便于携带性也大大提高了软件的使用价值,不仅可 以随时随地记账,还能从另一方面解决人们不善于管理个人财务的习惯,帮助大 家实现自主理财。基于An droid系统手机的个人记账系统,设计清新,使用简单, 管理功能强,在当前的高速发展的社会经济条件下,为帮助我们这一代不会理财 的年轻人轻松实现自主理财,设计这样一款个人记账系统是非常有意义和利用价 值的。根据个人理财实现的实际需求,本系统的设计解决方法如下:1. 设计语言与结构:本系统选用当前主流的开语言Java语言作为开发语言, 结合当前最为流行的移动开发技术,基于an d
4、roid系统下的软件开发技术,开发 本系统,设计选在在an droid平台上实现可以很好的发挥该软件系统的用处。2. 功能解决:本系统设计主要为帮助不会自主理财的人们能很容易的学会自主 理财,通过软件中的各个功能,实现在电子系统上记录个人理财信息,提醒以及 帮助用户实现自主理财。3性能解决:对于一个系统不仅要考虑功能的实用性,还要考虑系统的性能可 靠。本系统通过使用oracle作为数据库存储数据。oracle数据库是一款轻量级 数据库,便于移植。同时,配合an droid系统,可以设计一款清凉级的基于an droid 系统应用软件。第二部分 设计说明2.1系统需求分析本系统具有如下功能模块1.
5、 系统管理模块:收入信息和支出信息查询。支出信息以表格的形式展现,输入要查询的时间段,就会显示该时间段的支出信息,收入信息查询跟支出信息查询类似。2. 基本信息管理模块:对支出、收入信息进行管理。3. 收支统计模块:对收支信息进行管理,可记录这时间段的收入和支出,同时可以 计算出余额。2.1.1 运行环境1) 设备具备 Android 系统的手机或者其他手持设备2) 支持软件(1)用户基础软件配置Android1.6 及其以上版本相关软件工具:(2)开发工具IDE:Eclipse + Android ADT + android SDK平台:Windows XP(3)测试环境不同厂商以及不同an
6、 droid系统版本的智能手机2.2 用户的特点本系统针对的用户为所有使用操作系统为Android的智能手机用户。客户应具备基础的手机操作以及手机键盘打字基础。2.3 测试案例用例名:系统记账行为者:用户目的:用户根据每天的收入和消费情况进行详细的记录,以便日后查看。级别:一级过程描述:a. 进入 andorid 系统菜单界面,点击爱记账图表进入系统;b. 进入系统主界面后选择“记一笔”进入系统记账页面;c. 选择记账类型,输入金额,选择好收入或者支出类型,同时选择好指定账户进行记录d. 设置完毕,用户数据保存成功。与其它用例的关联:无异常处理:无第三部分 设计成果设计成果:主界面主菜单.iL
7、 迅3 62CH5年9戸0.00支出0.0仝问一笔 竇询点击记一笔进入该页面,该页面功能有 类型选择记录支出,收入、类型选择和时间!1S;(K 13liillw 何可 9*空WJL*36 拼音”英文 G口学詡用品工资耳他裁幵Si?唧W记录支出数据 记录收入数据保存数据选择日期年月本人在整个软件开发设计过程中主要是做记录的类型和日期这模块一块的功能,在这块模块 的开发过程中,我查阅了大量有关这方面的资料。这模块主要是记录人们在哪方面支出和收 入的情况,还有某年某月某日支出和收入的情况!方便人们记录和查询某天的支出情况。具体如下图:类型选择1S.K a.iL CiEl g日期选择isnd JB皿
8、021 lfl学习用品工簧耳他1201412015111 ?01612-I产品特点:爱记账的特点在于灵活,简洁,方便,易于操作。爱记账能够清清楚楚的记录你 每一天的消费情况,爱记账主要突出爱和记账二字。爱:是指网站的用户体验,在用户体验 上要让网友用起来舒服,喜欢,只有这样他们才会爱;记账:是帮助大家理财,让大家能够 方便清晰地管理自己的财富。程序代码:R.drawable.baojianpin ; ListView lv_result; AccountAdapter adapter;TextView tv_all_date;TextView tv_income_result;TextView
9、 tv_pay_result;TextView tv_balance_result;/ 菜单按键处理Overridepublic boolean onOptionsItemSelected(MenuItem item) / TODO Auto-generated method stubswitch (item.getItemId() case R.id.action_record: record(null);break;public class MainActivity extends Activity AccountDateBaseHelper mDbHelper;AccountDao ac
10、count;public static String indexLists = 吃饭, 购物, 学习用品, 工资 , 其他 ;public static int indexPicLists = R.drawable.lingshi, R.drawable.fushi, R.drawable.xuezafei, R.drawable.gongzi,case R.id.action_search: search(null); break;return super.onOptionsItemSelected(item);Overrideprotected void onCreate(Bundle s
11、avedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);/getActionBar().hide();/getActionBar().setDisplayShowTitleEnabled(false);/getActionBar().setDisplayUseLogoEnabled(false);/getActionBar().setDisplayShowHomeEnabled(false);/mDbHelper = new AccountDateBaseHelp
12、er(this);account = new AccountDao(mDbHelper.getDatabase();lv_result = (ListView) findViewById(R.id.lv_result); tv_all_date = (TextView) findViewById(R.id.tv_all_date); tv_income_result = (TextView) findViewById(R.id.tv_income_result); tv_pay_result = (TextView) findViewById(R.id.tv_pay_result);tv_ba
13、lance_result = (TextView) findViewById(R.id.tv_balance_result);setTime(); refrashList(null);/ 设置触摸事件lv_result.setOnTouchListener(new OnTouchListener() Overridepublic boolean onTouch(View arg0, MotionEvent ev) / TODO Auto-generated method stub/ 判断是否点击在空的位置switch (ev.getAction() case MotionEvent.ACTI0
14、N_M0VE:/ 手指一定解除在屏幕上case MotionEvent.ACTI0N_D0WN:/ 按下的时候case MotionEvent.ACTION_UP:break;int motionPosition = lv_result.pointToPosition(int)ev.getX(),(int) ev. getY();if (motionPosition = lv_result.INVALID_POSITION) Toast.makeText(MainActivity.this, 11, 0).show();return false;);SuppressLint(NewApi)public void search(View v) DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,new OnDateSetListener() Overridepublic void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) / TODO Auto-generated method stubyear = arg1;month = arg2 + 1;day = arg3