Java日程管理系统

上传人:沈*** 文档编号:192239891 上传时间:2023-03-06 格式:PDF 页数:23 大小:835.23KB
收藏 版权申诉 举报 下载
Java日程管理系统_第1页
第1页 / 共23页
Java日程管理系统_第2页
第2页 / 共23页
Java日程管理系统_第3页
第3页 / 共23页
资源描述:

《Java日程管理系统》由会员分享,可在线阅读,更多相关《Java日程管理系统(23页珍藏版)》请在装配图网上搜索。

1、I 软 件 学 院三级实践课题课题名称:日程管理小助手专业:软件工程(Java 方向)班级:学号:学生姓名:指导教师:年月日I 摘要随着经济全球化、管理现代化的到来,信息化建设已提到议事日程。计算机和网络技术得到了迅速的发展和普及,互联网的应用和发展改变了全球的经济模式,企业管理模式也受到了极大的冲击,使信息资源的共享和超越时空的交换成为了可能。在这个激烈竞争的社会,人们的杂乱事务越来越多,而且常常因为一些小事情把重要的事情耽误,对个人家庭以及企业造成巨大的损失。事件提醒也来越成为人们的一个救星,来化解各个事件间的矛盾。为了迎接残酷的社会竞争,个人管理助手是每个个体都需要实用的一种提醒软件。因

2、此,毫无疑问的说,日程管理无能对个人还是企业都是非常必要的。做好了日程管理个人可以更好地规划自己生活,让自己的生活多姿多彩,井然有序;让企业能确保各项工作及时有效推进,在时间以及效率上能够给企业带来最大的受益,能够在规定时间内完成既定任务。日程管理的重要性在于可以将每天的工作和事务安排在日期中并做一个有效的记录方便管理日常的工作和事务,达到工作备忘的目的。同时也具有对员工日常工作进行指导、监督的作用。关键词:办公自动化,计算机,日程管理:日程管理小助手目录摘要.I第 1 章 系统分析.11.1问题描述.11.2技术分析.11.3工程进度计划.2第 2 章 系统功能设计.32.1 功能分析 .3

3、2.2 系统设计 .42.2.1数据库表的设计.4图 2-2.43.1 功能模块 .53.2主要界面实现.63.3部分功能实现的源代码.10第 4 章 结束语.20:日程管理小助手1 第 1 章 系统分析1.1 问题描述在这个激烈竞争的社会,人们的杂乱事务越来越多,而且常常因为一些小事情把重要的事情耽误,对个人家庭以及企业造成巨大的损失。事件提醒也来越成为人们的一个救星,来化解各个事件间的矛盾。为了迎接残酷的社会竞争,个人管理助手是每个个体都需要实用的一种提醒软件。因此,毫无疑问的说,日程管理无能对个人还是企业都是非常必要的。日程管理个人可以更好地规划自己生活,让自己的生活多姿多彩,井然有序;

4、让企业能确保各项工作及时有效推进,在时间以及效率上能够给企业带来最大的受益,能够在规定时间内完成既定任务。1.2 技术分析在界面设计上,要尽量简化,是用图形化页面。在前面利用了上中下三个面板,最外面的布局管理用的是BorderLayout()。在最上面那一行用的是JMenu(),二级下拉菜单用的是JMenuItem()。在 BorderLayout.CENTER中放的是图形,用来美化外观;BorderLayout.SOUTH放了四个 JLabel 用来提示已经添加的事件提醒。在具体的时间选择上要提供日历,即使用Calender 类。用此类可以避免用户在输入的时候输入非法字符以及非法操作等造成异

5、常。而且,要使用数据库来记录具体的时间,事件信息。在记录时间的时候,考虑到用 Date 记录时间要将Date 转化成字符串,在记录的时候又得将字符串转化为 Date 类型较为繁琐。因此,在时间记录方面,一直使用的字符串类型。避免相互转化的繁琐,以及在转化石可能抛出的异常,简化了代码,减少了工作量。事件记录方面也是用的字符串类型,基于事件提醒时,记录字数较少,用 Text 格式的又较为麻烦,因此选择了字符串。但是,在帮助的通:日程管理小助手2 告项方面使用的为Text,字数较多,需要选择该格式。在细节方面,一定要捕捉异常,用到 try()、catch(),捕捉并处理异常。在时间输入时,默认不输入

6、时间为本地时间。后又一个时间判断,用到if语句,当获得的时间与本地时间相同时,提示用户未输入时间且重新输入。事件提醒内容(equals(“”)),提示用户输入事件提醒内容。在异常处理方面做到捕捉异常,处理异常,并且合理;在操作性方面,要人性化。当提示用户输入的内容,或操作非法时,用重新返回到原页面,而不是异常或退出。用到 dispose()让本页面“消失”,在重新调用原来的页面。在提醒用户方面,获得本地的时间与提醒时间相同时,用到ShowMessageDialog()提示,用户在某时间要做某事。1.3 工程进度计划本课题小组共两人,一个主要负责前期的需求分析,中期的一些异常处理、具体的修改,最

7、后的一些总结,代码优化。另外,我主要负责部分功能的实现,对部分代码的修改、优化。在三周内可以基本结束课题的所有内容,完成知道老师对本课题的指导,安排的具体的修改工作。当然,在三周的时间里,肯定不是刚开始就立即着手开始进入课题实践阶段。在第一周内,主要对课程管理小助手需要完成的必要功能、参考别人做过的功能以及其他人做的优点以及不足的地方、综合我们学过的知识选择我们要完成的功能,总结我们需要实现的方法以及复习或者学习实现该功能的方法。第二周开始着手进入代码编译阶段,具体的代码完成后,部分要修改或优化的由我的同伴完成。第三周前段时间,主要对已完成的系统进行测试,对一些未处理的异常进行捕捉并处理。后段

8、时间进行课题报告的完成以及总结三周里的实践心得,系统的完成满意度以及学习方法的总结。:日程管理小助手3 第 2 章 系统功能设计2.1 功能分析图 2-1 如图 2-1 所示,用户使用本系统时,可以根据日历表选择事件提醒的时间,输入事件提醒的内容。用户可以选择按时间删除和全部删除两种删除方式,也可以通过帮助,来了解本软件的功能以及操作步骤。查看事件提醒可以通过时间或查询全部两种查询方式查询,在设置方面,可以设置系统的字体颜色,大小以及背景色。在美化系统首页方面,用了 Icon对象,添加了图片,利用 JPanel,JLabel,JMenu,JMenuItem来图形化界面。在面板的下方,有四个JL

9、abel 来显示要提示的事件提醒内容。根据事件的紧急程度来定义不同的颜色来区分等级,在添加完事件提醒内容之后,会显示到系统主业的下方JLabel 上。也可以调节字体的大小,颜色,背景色。查询、日程管理添加事件提醒查看事件提醒设置按时间查询查询全部按时间删除删除全部提醒时间提醒内容字体大小背景色删除事件提醒字体大小帮助:日程管理小助手4 删除事件提醒可以选择全部或对单一对象进行操作,可以在日历中选择事件提醒的事件以及提示所有非法的操作以及提示用户再次输入。2.2 系统设计2.2.1数据库表的设计表 2-2 Schedule 日程安排配置表字段名称类型大小约束说明No.int 20 1 时间编号t

10、hings VARCHAR 90 0 事件提醒daytime VARCHAR 30 0 提醒时间图 2-2 如图 2-2 所示,数据库中有一张表,其属性为时间编号,事件提醒内容,提醒时间等内容。No.定义为 int类型,为事件的序号,设置为主键。用数据库来记录具体的时间,事件信息。在记录时间的时候,考虑到用Date 记录时间要将 Date 转化成字符串,在记录的时候又得将字符串转化为Date 类型较为繁琐。因此,在时间记录方面,一直使用的字符串类型。避免相互转化的繁琐,以及在转化石可能抛出的异常,简化了代码,减少了工作量。事件记录方面也是用的字符串类型,基于事件提醒时,记录字数较少,用 Tex

11、t 格式的又较为麻烦,因此选择了字符串。但是,在帮助的通告项方面使用的为 Text,字数较多,需要选择该格式。在细节方面,一定要捕捉异常,用到 try()、catch(),捕捉并处理异常。:日程管理小助手5 第 3 章 系统实现3.1 功能模块图 3-1 如图 3-1 所示,在主界面方面,添加了一张背景图片来美化桌面,下面是事件消息的提醒,按照时间的先后顺序根据颜色的不同不区分事件要处理的紧急度。最上面一行是菜单栏,主要是简化按钮所占用的空间。在界面设计上,要尽量简化,是用图形化页面。在前面利用了上中下三个面板,最外面的布局管理用的是BorderLayout()。在最上面那一行用的是JMenu

12、(),二级下拉菜单用的是JMenuItem()。在 BorderLayout.CENTER 中放的是图形,用来美化外观;BorderLayout.SOUTH 放了四个 JLabel用来提示已经添加的事件提醒。在具体的时间选择上要提供日历,即使用Calender 类。用:日程管理小助手6 此类可以避免用户在输入的时候输入非法字符以及非法操作等造成异常。在操作性方面,要人性化。当提示用户输入的内容,或操作非法时,用重新返回到原页面,而不是异常或退出。用到dispose()让本页面“消失”,在重新调用原来的页面。在提醒用户方面,获得本地的时间与提醒时间相同时,用到 ShowMessageDialog

13、()提示,用户在某时间要做某事。在细节方面,一定要捕捉异常,用到 try()、catch(),捕捉并处理异常。在时间输入时,默认不输入时间为本地时间。后又一个时间判断,用到if语句,当获得的时间与本 地 时 间相 同 时,提 示 用 户 未 输 入 时 间且 重 新 输入。事 件提 醒 内 容(equals(“”)),提示用户输入事件提醒内容。在异常处理方面做到捕捉异常,处理异常,并且合理;在操作性方面,要人性化。当提示用户输入的内容,或操作非法时,用重新返回到原页面,而不是异常或退出。用到dispose()让本页面“消失”,在重新调用原来的页面。在提醒用户方面,获得本地的时间与提醒时间相同时

14、,用到 ShowMessageDialog()提示,用户在某时间要做某事。3.2 主要界面实现1.:日程管理小助手7 图 3-2-1 图 3-2-2添加界面,是可以根据日历的方式来进行时间的选择;如果不惊醒时间选择的话,默认时间是本地时间。如果不输入事件信息的话,利用if 判断,若等于本地时间,则提示,没有输入时间提醒的时间,会返回时间选择页面,重新进行时间的获取。在事件提醒内容方面,如果输入的信息提示为空,会提示未输入,返回页面重新输入。:日程管理小助手8 在具体的时间选择上要提供日历,即使用Calender 类。用此类可以避免用户在输入的时候输入非法字符以及非法操作等造成异常。而且,要使用

15、数据库来记录具体的时间,事件信息。在记录时间的时候,考虑到用Date记录时间要将 Date转化成字符串,在记录的时候又得将字符串转化为Date 类型较为繁琐。因此,在时间记录方面,一直使用的字符串类型。避免相互转化的繁琐,以及在转化石可能抛出的异常,简化了代码,减少了工作量。事件记录方面也是用的字符串类型,基于事件提醒时,记录字数较少,用Text 格式的又较为麻烦,因此选择了字符串。但是,在帮助的通告项方面使用的为Text,字数较多,需要选择该格式。在细节方面,一定要捕捉异常,用到try()、catch(),捕捉并处理异常。在时间输入时,默认不输入时间为本地时间。后又一个时间判断,用到if 语

16、句,当获得的时间与本地时间相同时,提示用户未输入时间且重新输入。事件提醒内容(equals(“”)),提示用户输入事件提醒内容。在异常处理方面做到捕捉异常,处理异常,并且合理;在操作性方面,要人性化。当提示用户输入的内容,或操作非法时,用重新返回到原页面,而不是异常或退出。用到 dispose()让本页面“消失”,在重新调用原来的页面。在提醒用户方面,获得本地的时间与提醒时间相同时,用到ShowMessageDialog()提示,用户在某时间要做某事。2.删除界面3-3 如图 3-3 所示,在删除方式方面,可以选择全部删除或者单一删除。在删除方式选择方面用的是JOptionPane.ShowO

17、ptionDialog(),利用 if 判断选择的序号,根据用户选择的功能,执行相应的方法。:日程管理小助手9 当选择的内容为“按时间删除”内容时,在数据库方面用到的sql语句为(“delete from Schedule where daytime=”+date+”);可以根据时间删除事件提醒的内容,在首页面板的JLabel上显示的就没有本条事件提醒内容;而在选择的内容为“删除所有事件提醒”内容时,在数据库方面用到的sql 语句为(“delete from Schedule“);可以根据删除全部的事件提醒的内容,在首页面板的 JLabel上显示的就为空;3.查询界面3-4 如图 3-3 所示

18、,在删除方式方面,可以选择全部查询或者单一查询。在删除方式选择方面用的是JOptionPane.ShowOptionDialog(),利用 if 判断选择的序号,根据用户选择的功能,执行相应的方法。当选择的内容为“按时间查询”内容时,在数据库方面用到的sql 语句为(“select No,daytime,things from Schedule where daytime=”+date+”);可以根据时间查询事件提醒的内容,在showMessageDialog 消息弹出一个消息对话框,会提示查询成功以及查询的结果;而在选择的内容为“查询所有事件提醒”内容时,在数据库方面用到的sql 语句为(“

19、select*from Schedule“);可以查询全部的事件提醒的内容,在弹出的面板中会显示所查询的内容;:日程管理小助手10 3.3 部分功能实现的源代码import java.util.Date;import java.util.Calendar;import java.text.SimpleDateFormat;import java.text.ParseException;import java.awt.Color;import java.awt.Font;import java.awt.Point;import java.awt.Dimension;import java.awt

20、.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.Cursor;import java.awt.Frame;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import ja

21、vax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JSpinner;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.SpinnerNumberModel;import javax.swing.SwingUtilities;import javax.swing.SwingConstants;import javax.swing.event.ChangeLi

22、stener;import javax.swing.event.ChangeEvent;import javax.swing.border.LineBorder;SuppressWarnings(serial)publicclass Cal extends JFrame final String showMessageDialog =未添加时间信息,请重新添加!;private String getDate()/TODO Auto-generated method stubDate d=new Date();SimpleDateFormat sdf=new SimpleDateFormat(y

23、yyy-MM-dd kk);String str=sdf.format(d);/System.out.println(The date is:+str);return str;:日程管理小助手11 public Cal()final DateChooserJButton btn=new DateChooserJButton();final JTextField jt1=new JTextField(30);final JButton btn2=new JButton(确定);final JLabel jl=new JLabel(请输入事件提醒的内容:);if(btn.getText()=get

24、Date()JOptionPane.showMessageDialog(null,showMessageDialog);if(jt1.getText().equals(null)JOptionPane.showMessageDialog(null,未添加提示信息,请重新添加!);btn2.addActionListener(new ActionListener()publicvoid actionPerformed(ActionEvent e)if(btn.getText()=getDate()JOptionPane.showMessageDialog(null,未添加时间信息,请重新添加!)

25、;/System.out.print(getDate();if(jt1.getText()=null)JOptionPane.showMessageDialog(null,未添加提示信息,请重新添加!);JOptionPane.showMessageDialog(null,未添加提示信息,请重新添加!);JOptionPane.showMessageDialog(null,事件提醒时间 +btn.getText()+获取成功。);dispose();System.out.println(jt1.getText();ScheduleManagement sm=new ScheduleManage

26、ment();sm.setSize(600,500);sm.setLocation(400,200););this.getContentPane().setLayout(new BorderLayout();this.getContentPane().add(btn,new BorderLayout().NORTH);this.getContentPane().add(jl,new BorderLayout().WEST);this.getContentPane().add(jt1,new BorderLayout().EAST);this.getContentPane().add(btn2,

27、new BorderLayout().SOUTH);this.setSize(500,400);this.setLocation(400,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);:日程管理小助手12 SuppressWarnings(unused)publicstaticvoid main(String args)Cal cal=new Cal();SuppressWarnings(serial)class DateChooserJButton extends JButton

28、private DateChooser dateChooser =null;private String preLabel=;public DateChooserJButton()this(getNowDate();public DateChooserJButton(SimpleDateFormat df,String dateString)this();setText(df,dateString);public DateChooserJButton(Date date)this(,date);public DateChooserJButton(String preLabel,Date dat

29、e)if (preLabel!=null)this.preLabel=preLabel;setDate(date);setBorder(null);setCursor(new Cursor(Cursor.HAND_CURSOR);super.addActionListener(new ActionListener()publicvoid actionPerformed(ActionEvent e)if (dateChooser=null)dateChooser =new DateChooser();Point p=getLocationOnScreen();p.y=p.y+30;dateCho

30、oser.showDateChooser(p););privatestatic Date getNowDate()return Calendar.getInstance().getTime();:日程管理小助手13 privatestatic SimpleDateFormat getDefaultDateFormat()returnnew SimpleDateFormat(yyyy-MM-dd HH);/覆盖父类的方法publicvoid setText(String s)Date date;try date=getDefaultDateFormat().parse(s);catch (Par

31、seException e)date=getNowDate();setDate(date);publicvoid setText(SimpleDateFormat df,String s)Date date;try date=df.parse(s);catch (ParseException e)date=getNowDate();setDate(date);publicvoid setDate(Date date)super.setText(preLabel+getDefaultDateFormat().format(date);public Date getDate()String dat

32、eString=getText().substring(preLabel.length();try returngetDefaultDateFormat().parse(dateString);catch (ParseException e)returngetNowDate();/覆盖父类的方法使之无效publicvoid addActionListener(ActionListener listener):日程管理小助手14 privateclass DateChooser extends JPanel implementsActionListener,ChangeListener ints

33、tartYear=1980;/默认【最小】显示年份intlastYear=2050;/默认【最大】显示年份intwidth =400;/界面宽度intheight =600;/界面高度Color backGroundColor=Color.gray;/底色/月历表格配色-/Color palletTableColor=Color.GRAY;/日历表底色Color todayBackColor=Color.GREEN;/今天背景色Color weekFontColor=Color.blue;/星期文字色Color dateFontColor=Color.black;/日期文字色Color wee

34、kendFontColor=Color.red;/周末文字色/控制条配色-/Color controlLineColor=Color.GRAY;/控制条底色Color controlTextColor=Color.white;/控制条标签文字色Color rbFontColor=Color.white;/RoundBox 文字色Color rbBorderColor=Color.red;/RoundBox 边框色Color rbButtonColor=Color.pink;/RoundBox 按钮色Color rbBtFontColor=Color.red;/RoundBox 按钮文字色JDi

35、alog dialog;JSpinner yearSpin ;JSpinner monthSpin ;JSpinner hourSpin ;JButton daysButton=new JButton67;DateChooser()setLayout(new BorderLayout();setBorder(new LineBorder(backGroundColor,2);setBackground(backGroundColor);JPanel topYearAndMonth=createYearAndMonthPanal();add(topYearAndMonth,BorderLayou

36、t.NORTH);JPanel centerWeekAndDay=createWeekAndDayPanal();add(centerWeekAndDay,BorderLayout.CENTER);:日程管理小助手15 private JPanel createYearAndMonthPanal()Calendar c=getCalendar();int currentYear=c.get(Calendar.YEAR);int currentMonth=c.get(Calendar.MONTH)+1;int currentHour=c.get(Calendar.HOUR_OF_DAY)+1;J

37、Panel result=new JPanel();result.setLayout(new FlowLayout();result.setBackground(controlLineColor);yearSpin =new JSpinner(newSpinnerNumberModel(currentYear,currentYear,lastYear,1);yearSpin.setPreferredSize(new Dimension(48,20);yearSpin.setName(Year);yearSpin.setEditor(new JSpinner.NumberEditor(yearS

38、pin,#);yearSpin.addChangeListener(this);result.add(yearSpin);JLabel yearLabel=new JLabel(年);yearLabel.setForeground(controlTextColor);result.add(yearLabel);monthSpin =new JSpinner(newSpinnerNumberModel(currentMonth,currentMonth,12,1);monthSpin.setPreferredSize(new Dimension(35,20);monthSpin.setName(

39、Month);monthSpin.addChangeListener(this);result.add(monthSpin);JLabel monthLabel=new JLabel(月);monthLabel.setForeground(controlTextColor);result.add(monthLabel);hourSpin =new JSpinner(newSpinnerNumberModel(currentHour,currentHour,23,1);hourSpin.setPreferredSize(new Dimension(35,20);hourSpin.setName(

40、Hour);hourSpin.addChangeListener(this);result.add(hourSpin);JLabel hourLabel=new JLabel(时);hourLabel.setForeground(controlTextColor);result.add(hourLabel);return result;:日程管理小助手16 private JPanel createWeekAndDayPanal()String colname=日,一,二,三,四,五,六;JPanel result=new JPanel();/设置固定字体,以免调用环境改变影响界面美观resu

41、lt.setFont(new Font(宋体,Font.PLAIN,12);result.setLayout(new GridLayout(7,7);result.setBackground(Color.white);JLabel cell;for(int i=0;i7;i+)cell=new JLabel(colnamei);cell.setHorizontalAlignment(JLabel.CENTER);if (i=0|i=6)cell.setForeground(weekendFontColor);else cell.setForeground(weekFontColor);resu

42、lt.add(cell);int actionCommandId=0;for(int i=0;i 6;i+)for(int j=0;j 0)result.x-=offsetX;if (offsetY 0)result.y-=offsetY;return result;private Calendar getCalendar()Calendar result=Calendar.getInstance();result.setTime(getDate();return result;privateint getSelectedYear()return(Integer)yearSpin.getVal

43、ue().intValue();privateint getSelectedMonth()return(Integer)monthSpin.getValue().intValue();privateint getSelectedHour()return(Integer)hourSpin.getValue().intValue();:日程管理小助手18 privatevoid dayColorUpdate(boolean isOldDay)Calendar c=getCalendar();int day=c.get(Calendar.DAY_OF_MONTH);c.set(Calendar.DA

44、Y_OF_MONTH,1);int actionCommandId=day-2+c.get(Calendar.DAY_OF_WEEK);int i=actionCommandId/7;int j=actionCommandId%7;if (isOldDay)daysButtonij.setForeground(dateFontColor);elsedaysButtonij.setForeground(todayBackColor);privatevoid flushWeekAndDay()Calendar c=getCalendar();c.set(Calendar.DAY_OF_MONTH,

45、1);int maxDayNo=c.getActualMaximum(Calendar.DAY_OF_MONTH);int dayNo=2-c.get(Calendar.DAY_OF_WEEK);for(int i=0;i 6;i+)for(int j=0;j=1&dayNo=maxDayNo)s=String.valueOf(dayNo);daysButtonij.setText(s);dayNo+;dayColorUpdate(false);publicvoid stateChanged(ChangeEvent e)JSpinner source=(JSpinner)e.getSource

46、();Calendar c=getCalendar();if (source.getName().equals(Hour)c.set(Calendar.HOUR_OF_DAY,getSelectedHour();setDate(c.getTime();return;dayColorUpdate(true);if (source.getName().equals(Year)c.set(Calendar.YEAR,getSelectedYear();else/(source.getName().equals(Month)c.set(Calendar.MONTH,getSelectedMonth()

47、-1);setDate(c.getTime();flushWeekAndDay();:日程管理小助手19 publicvoid actionPerformed(ActionEvent e)JButton source=(JButton)e.getSource();if (source.getText().length()=0)return;dayColorUpdate(true);source.setForeground(todayBackColor);int newDay=Integer.parseInt(source.getText();Calendar c=getCalendar();c

48、.set(Calendar.DAY_OF_MONTH,newDay);setDate(c.getTime();:日程管理小助手20 第 4 章 结束语整体来说,本次课题还有许多不完善的地方。在此期间,我们对上学年所学知识进行了复习,归纳、总结,更提高了对编程思想的理解层次。在一点一点实践的同时,我们也了解了软件开发的一个完整的过程以及在各个阶段应完成的任务和与同伴合作的重要性。实践是检验真理的唯一标准,通过实践我们学会了通过自己动手所遇到的各种问题,实践环节让我们学到了课本上所学不到理解不了的知识与经验。在以后的开发软件过程中,我们也会更加注重与同学的合作分工,以及各个阶段工作的配合与协调。当然,三周的时间里我们虽然做出了一点点成绩,但是距离我们理想中的成果还是有很大的差距的,没有完成不同客户的事件提醒以及客户的加密事件提醒,而且没有对提醒方式进行人性化的选择。我觉得,日程管理必须做到,联网存储,而且通过手机短信或者其他人性化的方式来进行。当然,在课题进行中我们也遇到了各种各样的问题。在这里,我要感谢在我那段一筹莫展时候给予我帮助的同学以及李勇军指导老师,谢谢你们的帮助!还有必要的对自己的所有工作进行总结与反思。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!