资源预览内容
第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
第9页 / 共29页
第10页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实实训训项项目目报报告告书书项目名称项目名称 讯时个人通讯录讯时个人通讯录 年级班级年级班级 2010 级计级计 1014 项目完成人项目完成人 杨俊南杨俊南 实训时间:实训时间:2011 年年 12 月月 12 日日 至至 2011 年年 12 月月 31 日日填填 表表 说说 明明一、本表由项目完成人填写,一式一份;二、实训结束前将填好的文稿打印后交实训指导教师进行鉴定和评定成绩,确认后的文档交院校存档保存;三、此表电子文档及学生项目实训的作品须打包存档,压缩文件包以学生学号命名,以班为单位收集,刻录光盘交院校存档;实训项目名称实训项目名称讯时个人通讯录讯时个人通讯录 姓名姓名分工情况分工情况承担的主要工作承担的主要工作杨俊南Java2D、Swing、Access用户的注册、登录、删除等功能、联系人信息的增、删、改、查等功能、联系人分组的添加、删除功能、联系人相册管理功能、联系人头像的上传功能、界面的开发及数据库管理的设计开发项项 目目 组组 成成 员员 及及 其其 分分 工工一、项目背景、目的及可行性分析一、项目背景、目的及可行性分析1.项目背景项目背景现代人的生活节奏日益加快,各种联系人也不断增多,如上司、同事、家人、朋友和同学等,但很大一部分人还是在使用普通的纸质通讯录来记录这些联系人的信息,存在如下缺陷:(1)存储信息量少,查找不方便。(2)信息容易丢失,且不能存放照片。(3)安全性不高,没有隐私性可言。为了解决上述缺陷,满足部分人的使用需求,开发出此单机版个人通讯录软件。2.2.项目目的项目目的为解决普通纸质通讯录的上述缺陷,现在开发一个能够大量存储信息,且易查找不易丢失信息的安全、方便、快捷的讯时个人通讯录。 3.3.项目可行性分析:项目可行性分析:(1 1)技术可行性)技术可行性 讯时个人通讯录是一款应用性很强的通讯记录软件。完成该项目覆盖的技能点有:GUI 中基本组件的运用及其对应的事件监听器的处理、树状列表控件与数据库的结合使用、系统托盘的使用及其异常处理。我在接到项目后,对项目进行了仔细的分析并作出了慎重的决定,由于已学习过了 java,并掌握了其基础知识,且对数据库有一定的了解,且曾经有过项目的开发经验,因此具有开发此软件的基本能力。该软件无特别复杂的功能,因此在技术上是可行的。(2)(2)人员可行性人员可行性本人具有一定的 java 基础技术,具有从网络、老师及同学等渠道的学习能力,具有坚韧执着、不怕苦难的学习态度,具有能够完成的能力。(3 3)软件工作量)软件工作量此软件的软件工作量适中,涉及的功能模块复杂度、难度适中。(4 4)代码工作量)代码工作量代码量总体来讲比较适中,涉及的 java 类不是很多,其中登陆界面和主界面的构造器代码工作量比较大。(5 5)整体进度)整体进度整体进度比较顺利,其中前期登陆界面和主界面的设计比较复杂及在数据库的设计理解上存在难度,使用了很多时间,后期各功能模块的实现用时适中。整个软件项目整体用时近两个星期,得以完成。二、项目概述二、项目概述讯时通讯录软件是一款应用性很强的通讯通讯记录软件。软件中用户使用软件拥有自己的密码,确保通讯录资料的安全性;联系人资料丰富包括性别、电话、手机、电子邮箱、联系地址等;且用户可以添加联系人分组;可以编辑联系人信息;可以设置联系人头像、添加联系人相册等等。功能介绍如下:(1)注册/登陆/修改密码/删除用户用户需注册一个账号才能拥有该软件的使用权,用户注册后,输入用户名和密码进行校验。校验通过进入功能菜单,并且记录相应登录信息;未通过则提示非法用户或密码,需重新输入。用户还可以修改原来的密码,修改后重新登陆需用新密码,确保了用户使用的安全性。用户还可以删除原有的所有的联系人即该用户可以将自己从通讯录用户系统中清除。(2)添加/查找联系人用户可以添加联系人的编号、姓名、性别、电话、手机、邮箱、相册和设置联系人头像及所在分组等,且添加后联系人信息还可以再编辑保存,当联系人比较多时,用户可以选择是使用编号查找还是姓名查找,当联系人中有要查找的对象时显示该联系人,当没有该联系人时显示不存在该联系人,使查找联系人更方便快捷。(3)上传/删除照片用户可以选择从本地上传联系人的头像,更改联系人的头像,可以选择从本地上传联系人相册,更改删除联系人相册,更改保存后显示该联系人的头像,且排列显示联系人的相册。(4)相册预览/相片明细用户上传的联系人相片行列排列显示在相册列表里,当鼠标滑到相片上时显示相片的名称,点击相片可放大预览相片的明细。(5)树状列表导航主功能界面右侧采用树状列表导航的布局,双击结点可打开关闭结点的分支内容,使界面内容预览更加直观方便。(6)系统托盘及退出软件运行时会在屏幕右下角产生一个系统托盘,当点击主功能的界面的关闭时,软件并不是完全退出,双击系统托盘可以快捷显示主功能界面,右击系统托盘会出现用户名、关于开发者信息和能够实现完全退出的功能。人员分配人员分配此项目由一人在两个星期内完成,所有技能点均由自己自足学习完成,所有任务功能点均由一人完成。3 3、相关技术路线相关技术路线(1 1)数据库连接数据库连接public class DButil private static String driver = “sun.jdbc.odbc.JdbcOdbcDriver“; /声明数据 库连接字符串 private static String url = “jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=db/linkman.mdb“; private static Connection con = null; /声明数据库连接对象引用 private static java.sql.Statement stat = null;/声明语句对象引用 private static PreparedStatement psInsert = null;/声明预编译语句对象引 用 private static ResultSet rs = null;/声明结果集对象引用 public static Connection getConnection()public static void closeCon() (2 2)登陆)登陆public class Login extends JFrame implements ActionListener public Login() public void clear() public void actionPerformed(ActionEvent e) public static void main(String args) (3 3)系统托盘)系统托盘public class Tray implements ActionListener public Tray(String name) if (SystemTray.isSupported() trayIcon.addActionListener(this); public static void main(String args) new Tray(“junowin“); public void actionPerformed(ActionEvent e) (4 4)树结点)树结点public class Tree extends JFrame public Tree() public static void main(String args) 四、详细设计四、详细设计1.系统结构:2.数据库设计:3.类图设计:部分代码:public class Login extends JFrame implements ActionListenerprivate JFrame jf = new JFrame(); private Container ct = jf.getContentPane();private ImageIcon loginbg = new ImageIcon(“image/loginbg.jpg“); private Image logobg = Toolkit.getDefaultToolkit().getImage(“image/logobg.png“); private Image logo = Toolkit.getDefaultToolkit().getImage(“image/logo.png“);private Icon iconlgbg = new ImageIcon(logobg); private Icon iconlg = new ImageIcon(logobg);private JLabel jlbg = new JLabel(loginbg); private JLabel jllg = new JLabel(); private JLabel jlArray = /创建标签数组 new JLabel(“用户名“), new JLabel(“密 码“), new JLabel(“); private JButton jbArray = /创建按钮数组 new JButton(“登录“), new JButton(“注册“), new JButton(“修改密码“), new JButton(“删除用户“); private JTextField jtf = new JTextField();/填写用户名的文本框 private JPasswordField jpf = new JPasswordField();/填写密码的文本框public Login() jf.setTitle(“登录“); jf.setIconImage(logo); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setResizable(false); jf.setBounds(500, 300, 300, 250); jf.setVisible(true);jf.getLayeredPane().add(jlbg, new Integer(Integer.MIN_VALUE); jlbg.setBounds(0, 0, 300, 250);(JPanel)ct).setOpaque(false); ct.setLayout(null);jllg.setIcon(iconlgbg); jllg.setBounds(30, 20, 60, 80); ct.add(jllg);/用户名、密码、登录、注册 for (int i = 0; i 0) jlArray2.setText(“ “ + “恭喜您,注册成功!“); else if (e.getSource() = jbArray2) /修改密码 if (user.equals(“) | pwd.equals(“) jlArray2.setText(“ “ + “修改密码前请先确认输入正确的用户名和密码!“); this.clear(); else if (DButil.check(user, pwd) String password = JOptionPane.showInputDialog(this, “修改密码“, “请输入新密码,并确认!“, JOptionPane.PLAIN_MESSAGE); if (password = null | password.equals(“) JOptionPane.showMe
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号