版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课课 程程 设设 计计 报报 告告课程设计名称:软件综合课程设计软件综合课程设计课程设计题目:个人日程信息管理系统院(系): 计算机学院专 业: 计算机科学与技术班 级: 24010104学 号: 2012040101155姓 名: 潘禹婷指导教师: 张翼飞说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。不予通过。报告和电子数据必须作为实验现象重复的关键依据。沈阳航空航天大学课程
2、设计报告 学术诚信声明 本人声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日沈阳航空航天大学课程设计报告 I 沈阳航空航天大学沈阳航空航天大学课课程程设设计计任任务务书书课程设计名称 软件
3、综合课程设计专业计计算算机机科科学学与与技技术术学生姓名潘禹婷潘禹婷班级24010104学号2012040101155题目名称个人日程信息管理系统起止日期2015年12月21日起至2016年1月15日止课设内容和要求: 内容:内容:设计并实现一个个人日程信息管理系统,可以记录并管理个人的所有工作日程,设计并实现一个个人日程信息管理系统,可以记录并管理个人的所有工作日程,并可以按设定时间进行提醒。并可以按设定时间进行提醒。要求:要求:1.1. 支持多种图形化日历显示(按月,按天)等支持多种图形化日历显示(按月,按天)等2.2. 支持普通任务和循环任务安排支持普通任务和循环任务安排3.3. 提供多
4、种查询手段提供多种查询手段4.4. 编程工具自定,但必须采用图形化界面,后台数据采用数据库管理编程工具自定,但必须采用图形化界面,后台数据采用数据库管理5.5. 尽量采用面向对象的程序设计方法尽量采用面向对象的程序设计方法教教研研室室审审核核意意见见: 教教研研室室主主任任签签字字:指导教师(签名)指导教师(签名)年月日沈阳航空航天大学课程设计报告 II 学学 生(签名)生(签名)年月日目目 录录沈阳航空航天大学沈阳航空航天大学.I学术诚信声明学术诚信声明.I1 需求分析需求分析.12 设计设计.22.1 功能划分.22.1.1 首页展示.22.1.2 班级介绍.22.1.3 同学信息.22.
5、1.4 留言板.22.2 数据表设计.22.2.1 用户管理表.22.2.2 管理员表.32.2.3 同学信息表.32.2.4 留言板表.42.3 流程图设计.42.3.1 登录流程图.42.3.2 学生信息流程图.42.3.3 留言板流程图.73 测试测试.93.1 登录测试.93.2 班级介绍模块测试.103.3 同学信息测试.113.3.1 查找测试.113.3.2 修改测试.113.3.3 添加测试.153.4 留言板测试.163.5.1 查看留言测试.163.5.2 发表留言测试.16参考文献参考文献.18附附 录(关键部分程序清单)录(关键部分程序清单).19沈阳航空航天大学课程设
6、计报告 3 1 需求分析1. 1 项目背景项目背景 随着计算机技术的飞速发展,手机应用的迅速推广,手机给人们的日常生活、工作、学习带来了十分巨大的影响,手机改变了人们的生活,目前不管男女老少都在用智能机,苹果手机用户尤为多,一款实用的 APP 对人们也是带来很大的帮助,因此我们采用语Objective- C言开发一个实用的个人日程管理的 APP,以便提醒大家一些重要的事情不要忘记,比如开会,生日什么的事情,有了这款APP,它会按时的提醒你去做该事情,你可以设置提醒一次,每天提醒,每周提醒。1.2 项目目标项目目标 1. 通过关于管理系统的实现,使个人的日程管理更加完善。 2. 可以编辑日程事务
7、,提醒行程。 3. 可以提醒备忘事项,大大提高了办事效率。1.3 用户需求用户需求 (1)功能需求:本系统完成对自己昨天的日程进行记录,日后日程安排以及查看修改工作的提醒。 (2)权限需求:用户可以对系统中所有的数据进行查看、添加、修改和删除等操作。 (3) 系统安全性需求:因为个人日程管理只是用于个人适用,因此,可以不用进行登录或其他用户验证等安全性操作。1.4 功能需求功能需求 (1)支持多种图形化日历显示(按月,按天)等 (2)持普通任务和循环任务安排 (3)提供多种查询手段 (4)编程工具自定,但必须采用图形化界面,后台数据采用数据库管理沈阳航空航天大学课程设计报告 4 1.5 开发环
8、境开发环境 操作系统:Mac OS X10.10.5 开发软件:Xcode 7.2 数据库: SQLite2 设计2.1 logo 的设计的设计由于是我自己设计的 APP,用来提醒自己日程的事情,我选用我自己的照片来做这个 logo。名字为 Mynote。2.2 首页界面首页界面 首页界面为我的记事本的呈现,是一个列表,可以进行查看,添加(+为添加),修改,删除。沈阳航空航天大学课程设计报告 5 2.3 事件信息事件信息点击事件进入界面。可以查看,可以修改,选择事件类型,事件提醒时间,3 系统设计系统设计3.1 设计目标设计目标 个人日程管理系统是对已完成的工作进行记录,对未完成的工作进行有效
9、、合理的安排,提高工作效率。沈阳航空航天大学课程设计报告 6 3.2 系统角色系统角色本系统的角色主要就是用户本身,该用户可以对自己要办的事进行提醒设置,且只有用户一个角色。4 UI 及数据库设计及数据库设计4. 1 主界面主界面 UI 设计设计 主界面是一个 tableView,上方是一个 NavigationBar,”编辑”和”+”分别是NavigationBar 的 LeftBarButtonItem 和 RightBarButtonItem。如图 4.1图图 4.14.2 时间选择及日记类型时间选择及日记类型 UI 设计设计 如图 4.2 此界面主要包括四种 UI 控件,UILabel
10、、UIButton、UITextView、UITextField; 日期以及日记类型的显示部分用的是 UILabel,并且将背景设置为黄色;其后面的选择按钮是 UIButton,可以添加点击事件,点击后可以进行时间日期的选择和日记类型选择,如图 4.3 和图 4.4;沈阳航空航天大学课程设计报告 7 图图 4.2 图图 4.3 图图 4.4 标题输入和正文输入分别应用的是 UITextField 和 UITextView;为什么要使用UITextView 呢?因为 UITextField 无法进行自助的判断进行换行,只能规定每行的固定的字符数进行换行。而 UITextView 则可以自主进行判
11、断,根据其设置的宽度进行换行。 最下一部分的三个 Button 分别是设置的提醒周期,每天提醒,只提醒一次,以及每周提醒。沈阳航空航天大学课程设计报告 8 同时,在界面的输入时会进行相应的处理,例如:如果标题输入栏为空时,则会进行提示重新输入标题。当添加提醒事件成功后,会利用通知中心进行通知,同时利用单例进行存值。当添加界面退出后,主界面会重新进行加载,将刚刚添加的事件显示在 tableView 上。4.3 笔记分类查找笔记分类查找 UI 设计设计添加的提醒事件都有各自的属性,可以通过属性进行分类显示。 4.4 数据库管理数据库管理 SQLite:是一款轻型的数据库,是遵守 ACID 的关系型
12、数据库管理系统,它包含在一个相对小的 C 库中。它是 D.RichardHipp 建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。它能够支持Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java 等,还有 ODBC 接口,同样比起 Mysql、PostgreSQL 这两沈阳航空航天大学课程设计报告 9 款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite 第一个 Alpha 版本诞生于 2000 年 5
13、月至 2015 年已经有 15 个年头。 本次课设中只是将 SQLite 的属性按行进行存储,同时,可以实现数据的增删改查等操作。SQLite 是本地数据持久化方式的一种,与其他方式一样,当程序被彻底删除时,本地持久化的数据也会随之进行删除。5、系统实现系统主要分为两大部分:一、主界面模块;二、选择输入模块;三、消息推送一、主界面模块:(1)、主界面的 tableView 显示数据,数据来源于本地数据库,这几部分主要实现的代码如下:数据的获取:1DatabaseControl *database = DatabaseControl alloc init;collection = NSMutab
14、leArray arrayWithArray:database getInfos;tableView 的创建和数据显示:因为当前的 ViewController 是继承2UITableViewController 的,所以不用再次创建 tableView,只用 self.tableView 代替便可。同时,有三个方法是必须实现的#pragma mark 以下的三个方法是必须实现的三个方法/返回的 tableView 的组数- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView return 1;/返回的是每组里面有多少
15、个元素沈阳航空航天大学课程设计报告 10 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section return collection.count;-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath (2)UIPopoverPresentationController:点击左上角的编辑按钮,则会弹出PopoverPresent
16、ationController,从而进行选择。弹出的实现代码是:OptionViewController *target = OptionViewController alloc init; target.modalPresentationStyle = UIModalPresentationPopover; target.preferredContentSize = CGSizeMake(200 , 300); UIPopoverPresentationController *pop = target.popoverPresentationController; UIView *view =
17、 UIView alloc initWithFrame:CGRectMake(64, 500, UIScreen mainScreen.bounds.size.width, 100); pop.sourceRect = CGRectMake(100, 100, UIScreen mainScreen.bounds.size.width, 100); pop.sourceView = view; pop.permittedArrowDirections = UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown | UIPopoverArr
18、owDirectionLeft | UIPopoverArrowDirectionRight; pop.delegate = self;self presentViewController:target animated:YES completion:nil;二、选择输入模块二、选择输入模块1、时间选择器:沈阳航空航天大学课程设计报告 11 if (datePicker = nil) datePicker = UIDatePicker alloc init; /设置选择器的样式,有时间的,有日期的,有时间和日期的,此处选出的时间可以直接赋值给消息推送的fireDate datePicker.d
19、atePickerMode = UIDatePickerModeDateAndTime; datePicker.frame = CGRectMake(10, 30, 335, 216); datePicker.date = NSDate date; UIAlertController *alertController = UIAlertController alertControllerWithTitle:请选择日期: message:nnnnnnnnnnn preferredStyle:UIAlertControllerStyleActionSheet; alertController.vi
20、ew addSubview:datePicker; UIAlertAction *actionSelect = UIAlertAction actionWithTitle:确定 style:UIAlertActionStyleDestructive handler:(UIAlertAction *action) currentDate = datePicker.date; lblDate.text = formatter stringFromDate:currentDate; ; alertController addAction:actionSelect; UIAlertAction *ac
21、tionCancel = UIAlertAction actionWithTitle:取消 style:UIAlertActionStyleCancel handler:nil; alertController addAction:actionCancel; self presentViewController:alertController animated:YES completion:nil;2、标题输入框 tfTitle = UITextField alloc init;沈阳航空航天大学课程设计报告 12 tfTitle.frame = CGRectMake(20, 164, 335,
22、 30); tfTitle.borderStyle = UITextBorderStyleRoundedRect; tfTitle.placeholder = 请输入标题;self.view addSubview:tfTitle;3、内容输入框 tfContent = UITextView alloc init; tfContent.frame = CGRectMake(20, 204, 335, 200); tfContent.textAlignment = NSTextAlignmentLeft; tfContent.contentMode = UIViewContentModeTop;
23、tfContent.isAccessibilityElement = YES; tfContent.layer.borderWidth = 1; tfContent.layer.borderColor = UIColor blackColor CGColor; tfContent.userInteractionEnabled = YES;self.view addSubview:tfContent;三、消息推送三、消息推送 1、在appdelegate中进行注册:- (void)sendLocalNotificationWithDate:(NSDate *)date notification.
24、fireDate = date;/ notification.applicationIconBadgeNumber += 1; UIApplication sharedApplication scheduleLocalNotification:notification; UIApplication sharedApplication presentLocalNotificationNow:notification;/ 设置本地通知- (void)registerLocalNotification notification = UILocalNotification alloc init;沈阳航
25、空航天大学课程设计报告 13 / 时区 notification.timeZone = NSTimeZone defaultTimeZone; / 设置重复的间隔 notification.repeatInterval = kCFCalendarUnitSecond; / 通知内容 notification.alertBody = 你有一个提醒通知; /待机界面的滑动动作提示 notification.alertAction=打开应用; /通过点击通知打开应用时的启动图片 notification.alertLaunchImage=Default; / 通知被触发时播放的声音 notifica
26、tion.soundName = UILocalNotificationDefaultSoundName; / 通知参数 NSDictionary *userDict = NSDictionary dictionaryWithObject:您有一条前台通知 forKey:Key; /设置userinfo,以便在撤销通知的时候调用 notification.userInfo = userDict; /如果已经获得发送通知的授权则创建本地通知,否则请求授权(注意:如果不请求授权在设置中是没有对应的通知设置项的,也就是说如果从来没有发送过请求,即使通过设置也打不开消息允许设置) if (UIAppl
27、ication sharedApplication respondsToSelector:selector(registerUserNotificationSettings:) UIUserNotificationType type = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound; UIUserNotificationSettings *settings = UIUserNotificationSettings settingsForTypes:type cate
28、gories:nil; UIApplication sharedApplication registerUserNotificationSettings:settings; / 通知重复提示的单位,可以是天、周、月 notification.repeatInterval = NSCalendarUnitDay; else / 通知重复提示的单位,可以是天、周、月沈阳航空航天大学课程设计报告 14 notification.repeatInterval = NSCalendarUnitDay; / 本地通知回调函数,当应用程序在前台时调用- (void)application:(UIApplic
29、ation *)application didReceiveLocalNotification:(UILocalNotification *)notification / 这里真实需要处理交互的地方 / 获取通知所带的数据 NSString *notMess = notification.userInfo objectForKey:key; UIAlertView *alert = UIAlertView alloc initWithTitle:本地通知(前台) message:notMess delegate:nil cancelButtonTitle:OK otherButtonTitle
30、s:nil; alert show; / 更新显示的徽章个数 NSInteger badge = UIApplication sharedApplication.applicationIconBadgeNumber; badge-; badge = badge = 0 ? badge : 0; UIApplication sharedApplication.applicationIconBadgeNumber = 0; / 在不需要再推送时,可以取消推送 / UIViewController cancelLocalNotificationWithKey:key;2、当需要进行消息推送时,则需要实现如下代码: / 向appDelegate发送通知 AppDelegate *appDelegate = UIApplication sharedApplication.delegate;appDelegate sendLocalNotificationWithDate:currentDat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- VIP包厢接待服务流程
- 《公司治理结构》课件
- 奥尔夫音乐教师培训教案
- 《光学课件全集》课件
- 《电弧及电路》课件
- 小学三年级数学两位数乘两位数笔算同步练习试题
- 《组培应用》课件
- 《儿童重症感染》课件
- 福建省福州市连江第五中学2020-2021学年高一下学期第一次质量检测化学试题
- 学校防拐骗安全教育
- 《心理健康教育主题班会》主题
- GB 30254-2024高压三相笼型异步电动机能效限定值及能效等级
- 重大事故隐患判定标准与相关事故案例培训课件
- 公安行政执法综合实训智慧树知到期末考试答案章节答案2024年南京警察学院
- 年度成本费用预算表模板
- 火龙罐综合灸疗法
- 深圳市中小学生流感疫苗接种知情同意书
- 县教育局道路交通安全情况汇报
- 企业年金方案如何设计
- 北师大版初中数学七年级上册《探索与表达规律》说课稿
- 应对动物福利壁垒的对策和建议
评论
0/150
提交评论