




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机科学与工程学院第二届专业实践技能(学科)竞赛实用软件设计类参赛作品学生任务管理系统指导老师:孙永新小组成员:余伟康,郑桂深,蒋俊豪目录学生任务管理系统 1.1. 需求分析 1.1.1. 总述 1.1.2. 使用技术简介: 1.2. 概要设计 2.2.1. 开发环境 2.2.2. 总体设计 2.2.3. 模块设计 . 模块说明 . 功能设计 3.3. 详细设计 3.3.1. 数据库设计: 3.3.2. 用户使用流程: 4.3.3. URL 设计和 HTTPServer: 4.3.4. 客户端时间提示功能: 6.3.5. 最小化到任务栏功能: 8.4. 测试与运行
2、: 9.4.1. 登录功能: 9.4.2. 程序可以最小化到任务栏: 1.04.3. 删除功能: 114.4. 添加任务栏功能: 1.24.5. 时间提示功能: 1.34.6. 用户注册功能: 1.45. 项目总结 1.5.1. 需求分析总述在忙碌的生活中, 人们往往会忘记做一些事情。 设计一款功能简单实用, 可 扩展性强的备忘录软件可以帮助大家更好地管理时间和事务。本软件简单实用, 可在桌面和开始菜单创建快捷方式, 适合对时间管理方面 有需求的人群。使用技术简介:这款软件我们采用简单实用,扩平台,网络化的设计理念。采用C/S (客户端/服务器)模式。客户端采用 flex 技术,它容易设计出良
3、好的富客户端应用的 同时具备良好的网络交互功能。采用 HTTPServer作为与与服务器交互的方式。 服务器采用Python作为开发的语言。Tornado正好具备设计优秀的URL的性质, 支持restful,而且在Linux上可以提供很好的负载能力。(1)Python是一种面向对象、直译式计算机程序设计语言,也是一种功能 强大的通用型语言, 已经具有近二十年的发展历史, 成熟且稳定。 它包含了一组 完善而且容易理解的标准库, 能够轻松完成很多常见的任务。 它的语法非常简捷 和清晰,与其它计算机程序设计语言不一样,它采用缩进来定义语句块。Python 支持命令式编程、面向对象程序设计、函数式编程
4、、面向切面编程、 泛型编程多种编程范式。与 Scheme、 Ruby、 Perl、 Tcl 等动态语言一样, Python 具备垃圾回收功能, 能够自动管理内存使用。 它经常被当作脚本语言用于处理系 统管理任务和 Web 编程,然而它也非常适合完成各种高阶任务。 Python 虚拟机 本身几乎可以在所有的操作系统中运行。 使用一些诸如 py2exe、 PyPy、 PyInstaller 之类的工具可以将Python源代码转换成可以脱离Python解释器执行的程序。Python的主要参考实现是CPython,它是一个由社区驱动的自由软件。目前 由 Python 软件基金会管理。基于这种语言的相关
5、技术正在飞速的发展,用户数 量急剧扩大,相关的资源非常多。(2)Tornado web server 是使用 Python 编写出來的一个极轻量级、高可伸 缩性和非阻塞 IO 的 Web 服务器软件,著名的 Friendfeed 网站就是使用它搭建Tornado跟其他主流的 Web服务器框架(主要是 Python框架)不同是采用 epoll非阻塞10,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。(3)ActionScript 是 Macromedia (现已被 Adobe 收购)为其 Flash 产品开 发的 ,最初是一种简单的脚本语言, 现在最新版本 3.0,是一种完全的面向
6、对象 的编程语言,功能强大,类库丰富,语法类似 JavaScript,多用于Flash互动性、 娱乐性、实用性开发,网页制作和 RIA 应用程序开发。ActionScript 是一种基于 ECMAScript 的脚本语言,可用于编写 Adobe Flash 动画和应用程序。 由于ActionScript和JavaScript都是基于ECMAScript语法的, 理论上它们互相可以很流畅地从一种语言翻译到另一种。不过 JavaScript的文档 对象模型( D0M )是以浏览器窗口,文档和表单为主的, ActionScript 的文档对 象模型( D0M )则以 SWF 格式动画为主, 可包括动
7、画, 音频,文字和事件处理。(4)Adobe Flex是最初由Macromedia公司在2004年3月发布的,基于其 专有的 Macromedia Flash 平台,它是涵盖了支持 RIA( Rich In ternet Applicati ons) 的开发和部署的一系列技术组合。概要设计开发环境开发平台: Windows XP + eclipse + flashbuilder开发语言: ActionScript + python 服务器端框架: Tornado Web Server 客户端平台: Adobe Flex总体设计程序是 C/S 架构,服务器端使用 python 基于 Tornad
8、o 开发,客户端使用 ActionScript 基于 Flex 开发。本程序是学生任务管理系统,提供任务设定,到执 行任务时间就给出提示,可以缩小到任务栏,数据保存在服务器。模块设计模块说明程序分为三个模块:用户注册,用户登录,任务管理功能设计用户登录:用户可以通过自定义的用户名和密码来登录到服务器,一旦登陆成功就获取服务器中的用户任务信息。用户注册:用户注册必须提供用户自定义的用户名和密码,电子邮箱地址。 收到注册成功提示后即可登录。任务管理:任务管理提供任务的添加和删除功能, 包括任务内容和任务提示 时间,程序通过任务提示时间提醒用户该执行的任务。另外,程序提供缩小到任务栏的功能,以方便程
9、序在不阻碍用户使用计算机 的同时可以提供任务提醒功能。详细设计数据库设计:数据库名:t record字段类型not n ull自增编码外键加密rid (主键)INTEGERYesYesutf8NONOuser nameVARCHAR(45)Yesnoutf8YesNOrecordVARCHAR(45)YesNOutf8NONOsettimeVARCHAR(45)Yesnoutf8NONOdotimeVARCHAR(45)YesNOutf8NONO数据库名:t record字段类型not n ull自增编码外键加密user name (主键)VARCHAR(45)YesYesutf8NONOem
10、ailVARCHAR(45)YesYesutf8NONOpasswordVARCHAR(45)YesYesutf8NOMD5用户使用流程:使用流程彳书八处创、*罷话疔啟注劝I迴入州户畀血I搓玄用户若咅帝也电予幅箱她址LZ “M詐叮Iy祎巨秋位帀/# _ Z! .,|1 /J.订 K.忖白轴从JB务嚣吸用户裁据工更新本毎!ft挥打添迥曲qj删坯处巾甬赢势内g用提希时间b,*.,.j1齐Jit龙却URL 设计和 HTTPServer :本程序是C/S架构,使用HTTPServer作为客户端与服务器端交互的方式一下是服务器端URL设计,所有URL的交互方法都是GET。功能URL接收参数返回值添加 数
11、据/addRememberRecorddate :年月日,例 如: 2011-5-19 ; minute 分钟;hour小时; record 任务;成功:ok,失败:error删除 删除/delData要删除的任务的编 号成功:ok,失败:cannot delete查询 所有 数据/getData用户名返回数据格式,每条记 录:任务编号 任务内容 任务提醒时间 登录/logi n用户名,密码成功:ok,密码错误:pwderror, 登录失败:error注册/register用户名,密码,电 子邮箱地址成功:regisok ,用户名已被使用:n ameishave,注册失败:error (包括
12、网络问题等各种原因)Flex中HTTPServer使用例子:客户端:通过配置HTTPServer,使用GET的方式向指定的URL发送数据,发送的 数据写在 v/mx:request中,而 v/mx:rowIn dex告诉服务器通过rowlndex标记可以找到数据的值,相当于Dictionary中的k ey,value关系。resultHandler与HTTPServer绑定,返回后执行方法中的 event.res ult取得返回的数据。获取数据的方式因返回数据的类型而异。当获取如:这种XML形式的数据时,可以使用event.result.data获得每组中的数据。而当返回数据是字符串,就用 本
13、示例中的方式取得。dg.selectedltemridprivatefunction resultHandler(event:ResultEvent):void var login_result:String=;log in _result =eve nt.result.toStri ng();if (login_result= ok )Alert.show(删除成功”);textarea.text +=您删除了一项纪录! +n;textarea.validateNow();textarea.verticalScrollPositi on =textarea.maxVerticalScroll
14、Positi on;if (login_result=can not delete )Alert.show(删除失败);http.se nd();服务器端:与一般的 WEB服务器一样,接受HTTP请求,然后返回数据。HTTPServer 的 GET 方式。在Tornado中使用get方法响应请求,对应服务器端的通过self.request.arguments可以获得客户端发来的数据(BaseHa ndler):class deleteRecordHa ndlerdef get ( self ):pri ntthis is del! get_if notself.curre nt_user:re
15、turnpri ntpostself .rid =self .request.argume nts.get(row In dex)0.e ncode( utf8 )self .deleteRidQuery= deletefromt_recordwhere rid = +self .ridpri ntself .deleteRidQuerytry:self.deleteSucess = dbC on .execute(self.deleteRidQuery)printself .deleteSucessself.write(ok)except:self .write( ca n not dele
16、te)客户端时间提示功能:时间提示功能,就是在到达用户定义的时间时在桌面的右下角出现提示窗 口,窗口中显示任务的内容。对于程序而言,要不断地检测任务列表中的时间, 发现任务时间与当前系统时间相同就打开一个窗口,定义窗口的位置在桌面右下角的恰当位置。时间的对比时限定时间的格式是丫丫丫丫-MM-DD JJ:NN,也就是对比时只对比年月日时分。当时间到达,把对比列表中的相应时间删除,以防止重复提示。相关代码如下:(1)对比时间:fun cti on compareTime(str:Str in g):i ntvar myPatter n1:RegExp= /-|:| /g ;var dateForm
17、atter:DateFormatter =new DateFormatter();dateFormatter.formatString =YYYY-MM-DD JJ:NN;var no w:Stri ng= dateFormatter.format(new Date();str=dateFormatter.format(str); str=str.replace(myPattern1, );now=now.replace(myPattern1, ); trace (str); trace (now) if (int(str)int(now) return 1;else if (int(str)
18、int(now)return -1; else return 0;(2) 对任务列表中的时间从大到小排序:private function onResult(evt:ResultEvent): void var i:int;arrs.removeAll();for (i=0;ihttp.lastResult.data.length;i+)arrs.addItemAt(rid:http.lastResult.datai.rid.toString(),record:http.lastRes ult.datai.key.toString(),date:http.lastResult.datai.da
19、te.toString(),i);var sort:Sort =new Sort();sort.fields = new SortField( date );arrs.sort = sort; arrs.sort.reverse(); arrs.refresh();(3) 通过 Timer 和时间事件不断让任务列表中的时间与系统时间进行对比, 当到达时间时显示提示窗口:timer = newTimer(1000); timer.addEventListener(TimerEvent.TIMER, onTick); timer.start();private function onTick(e:
20、TimerEvent): voidvar j:int;8var compareResult:i nt;for (j=0;jarrs.length;j+)compareResult = compareTime(arrs.getltemAt(j).date.toStr in g();if (compareResult = 0)var mw:AlarmView = new AlarmView(你设定的时间已经到了n +arrs.getItemAt(j).record.toStri ng();mw.advOpen(this );mw.move(Capabilities.scree nResolutio nX-200,Capabilities.scree nResolutio nY-230)arrs.removeItemAt(j);b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025专业云服务器租赁合同范本
- 2025建筑施工劳务分包合同
- 2025雇佣家庭护理人员合同范本
- 2025标准版商业店铺租赁合同范本模板
- 2025代理进口货物运输合同
- 河南省信阳市浉河区2024~2025学年 高二下册4月月考数学试卷附解析
- 河北省邢台市宁晋县2024~2025学年 高二下册第一次月考数学试卷附解析
- 广东省广州市2024~2025学年 高一下册期中考试数学试卷
- 教科版8年级上册物理全册教学课件
- 农村地区水资源高效利用技术研究-洞察阐释
- 人工智能技术在影视创作中的应用及其伦理审视
- 酒店式公寓长租业务运营管理方案设计
- 唾液腺结石病
- 电磁学知到智慧树章节测试课后答案2024年秋齐鲁师范学院
- 【MOOC】电子线路设计、测试与实验(一)-华中科技大学 中国大学慕课MOOC答案
- 体育行业智慧场馆运营服务方案
- 河南开放大学补修课《刑法学#》终考试题及答案
- 实+用法律基础-形成性考核任务二-国开(ZJ)-参考资料
- 2024年四川省泸州市中考化学试题含答案
- 2024-2025学年八年级化学沪科版(五四学制)全一册上学期期末复习卷①
- 介入导管室护士进修汇报课件
评论
0/150
提交评论