收藏 分享(赏)

JAVA课程设计 网络爬虫搜索引擎.pdf

上传人:精品资料 文档编号:10284684 上传时间:2019-10-28 格式:PDF 页数:26 大小:938.46KB
下载 相关 举报
JAVA课程设计 网络爬虫搜索引擎.pdf_第1页
第1页 / 共26页
JAVA课程设计 网络爬虫搜索引擎.pdf_第2页
第2页 / 共26页
JAVA课程设计 网络爬虫搜索引擎.pdf_第3页
第3页 / 共26页
JAVA课程设计 网络爬虫搜索引擎.pdf_第4页
第4页 / 共26页
JAVA课程设计 网络爬虫搜索引擎.pdf_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、学 号 : 课 程 设 计题 目 网 络 爬 虫 搜 索 引 擎学 院 管 理 学 院专 业 信 息 管 理 与 信 息 系 统班 级姓 名指 导 教 师 王 新201 年 7 月 4 日武 汉 理 工 大 学 java语 言 课 程 设 计-2-课 程 设 计 任 务 书学 生 姓 名 :指 导 教 师 : 王 新 工 作 单 位 : 信 息 管 理 与 信 息 系 统 系题 目 : 网 络 爬 虫 搜 索 引 擎初 始 条 件 :合 理 应 用 Java 相 关 知 识 与 编 程 技 能 , 结 合 UML 面 向 对 象 设 计 , 解 决 信 息 管理 领 域 的 实 际 问 题 ,

2、 如 学 生 成 绩 管 理 、 学 籍 管 理 、 图 书 借 阅 管 理 、 自 动 存 取 款 机 、通 信 录 管 理 、 商 品 销 售 管 理 、 医 院 门 诊 管 理 、 火 车 订 票 管 理 、 影 院 自 动 售 票 、 世界 杯 足 球 比 赛 管 理 、 人 力 资 源 管 理 、 酒 店 前 台 管 理 、 房 产 中 介 管 理 、 停 车 收 费 管理 等 。 要 求 完 成 的 主 要 任 务 :( 包 括 课 程 设 计 工 作 量 及 其 技 术 要 求 , 以 及 说 明 书 撰 写等 具 体 要 求 )1 进 行 需 求 分 析 , 撰 写 需 求 文

3、 档 , 绘 制 用 例 图 。2 识 别 需 求 文 档 中 的 类 , 建 模 类 , 初 步 绘 制 类 图 ( 之 后 逐 渐 完 善 ) 。3 确 定 、 建 模 类 的 实 例 变 量 。4 确 定 、 建 模 类 的 方 法 。5 若 有 需 要 , 在 系 统 中 加 入 继 承 与 多 态 。6 将 UML图 转 换 成 Java代 码 框 架 。7 设 计 算 法 , 若 有 复 杂 的 数 据 结 构 需 求 , 使 用 相 应 集 合 框 架 。8 设 计 数 据 访 问 层 , 若 有 数 据 持 久 化 需 求 , 使 用 数 据 库 /文 件 。9 添 加 表 示

4、 层 , 若 程 序 运 行 在 桌 面 , 使 用 图 形 用 户 界 面 。10 实 现 完 整 的 系 统 , 最 终 Java源 代 码 至 少 在 300行 以 上 。11 进 行 测 试 , 并 给 出 相 应 结 果 。课 程 设 计 报 告 中 要 求 详 细 描 述 思 路 、 步 骤 、 方 法 、 实 现 、 问 题 及 解 决 过 程 、操 作 说 明 、 测 试 及 结 果 。时 间 安 排 :1 2014年 6月 23日 课 程 设 计 选 题 、 查 阅 资 料2 2014年 6月 24日 25日 UML面 向 对 象 设 计3 2014年 6月 26日 7月 1

5、日 Java程 序 设 计 与 代 码 调 试4 2014年 7月 2日 改 进 、 完 善 、 测 试 系 统5 2014年 7月 3日 7月 4日 上 午 撰 写 、 提 交 课 程 设 计 报 告6 2014年 7月 4日 下 午 课 程 设 计 答 辩指 导 教 师 签 名 : 年 月 日系 主 任 ( 或 责 任 教 师 ) 签 名 : 年 月 日武 汉 理 工 大 学 java语 言 课 程 设 计-3-网 络 爬 虫 搜 索 引 擎1 项 目 介 绍1.1 开 发 背 景该 项 目 软 件 开 发 的 意 图 是 开 发 出 一 款 网 络 爬 虫 软 件 。 应 用 目 标 为

6、 搜 集 网 络 信息 , 便 于 查 询 使 用 。 在 如 今 的 BIG DATA时 代 , 网 络 信 息 庞 大 而 又 复 杂 , 用 户 很难 直 接 从 中 获 得 需 要 的 信 息 。 网 络 爬 虫 软 件 就 是 将 这 些 信 息 收 集 并 整 理 , 当 用 户发 起 搜 索 请 求 时 , 该 系 统 可 将 用 户 最 需 要 的 信 息 反 馈 给 用 户 。1.2 用 户 的 特 点本 软 件 为 免 费 软 件 , 可 供 所 有 可 使 用 互 联 网 的 用 户 使 用 。 最 终 用 户 只 需 掌 握基 本 的 上 网 技 术 即 可 , 操 作

7、 人 员 的 主 要 工 作 是 启 动 和 关 闭 服 务 器 , 只 需 掌 握 基 本的 电 脑 使 用 方 法 即 可 。 维 护 人 员 需 要 专 业 的 程 序 员 , 懂 得 Java的 网 络 编 程 以 及计 算 机 网 络 基 础 , 教 育 水 平 在 专 科 以 上 。 软 件 的 预 期 工 作 时 间 为 24h/日 。组 织 结 构 图 及 用 户 角 色 如 图 表 1-1所 示 :1.3 需 求 分 析1.3.1 各 子 模 块 功 能 的 描 述本 系 统 共 分 为 三 大 模 块 : 爬 虫 模 块 、 数 据 库 模 块 和 搜 索 模 块 , 也

8、就 是 后 台 、前 台 和 数 据 库 。 每 一 个 模 块 有 各 自 的 分 工 , 最 后 三 大 模 块 集 合 在 一 起 构 成 一 个 完整 的 网 络 爬 虫 系 统 。 各 个 子 模 块 的 详 细 功 能 如 下 :1.3.2 爬 虫 模 块武 汉 理 工 大 学 java语 言 课 程 设 计-4-第 一 个 模 块 为 爬 虫 模 块 。 爬 虫 模 块 的 主 要 任 务 是 负 责 寻 找 网 页 , 并 将 网 页 内的 URL和 关 键 字 提 取 出 来 。 此 模 块 又 详 细 分 为 两 大 模 块 : 服 务 器 模 块 和 正 则 引 擎模 块

9、 , 这 两 个 模 块 分 别 负 责 上 述 的 两 个 功 能 。服 务 器 模 块 向 某 个 种 子 URL发 送 请 求 , 或 得 其 页 面 内 容 ; 正 则 引 擎 模 块 将 服务 器 获 取 的 页 面 用 正 则 表 达 式 对 其 进 行 分 析 , 截 取 其 中 的 URL和 关 键 字 , 然 后 再将 URL传 递 给 服 务 器 模 块 。 系 统 按 照 这 样 的 方 式 不 断 的 抓 取 网 页 并 进 行 分 析 , 最后 将 结 果 存 进 数 据 库 。1.3.3 搜 索 模 块第 二 个 模 块 是 搜 索 模 块 , 用 户 在 搜 索

10、界 面 输 入 关 键 字 , 然 后 系 统 在 数 据 库 中搜 索 对 应 的 关 键 字 , 最 后 将 结 果 返 回 给 用 户 。此 模 块 又 分 为 搜 索 界 面 和 结 果 界 面 。 搜 索 界 面 是 首 页 , 用 户 在 此 界 面 中 输 入想 要 搜 索 的 关 键 词 , 这 些 关 键 词 将 被 此 页 面 记 录 下 来 传 递 到 数 据 中 进 行 搜 素 。 结果 页 面 是 数 据 库 结 果 的 接 受 者 , 当 数 据 库 完 成 搜 素 后 会 将 结 果 传 递 给 次 页 面 , 然后 结 果 页 面 会 将 结 果 呈 现 给 用

11、 户 。1.3.4 数 据 库 模 块数 据 库 模 块 在 整 个 系 统 中 起 到 存 储 和 桥 梁 作 用 。 爬 虫 模 块 将 搜 索 的 结 果 整 理完 成 后 存 入 数 据 库 , 搜 索 模 块 从 数 据 库 中 获 取 需 要 的 信 息 并 呈 现 给 用 户 。1.4 对 非 功 能 性 的 需 求1.4.1 精 度该 系 统 的 输 入 为 一 个 字 符 串 , 里 面 包 含 了 一 个 或 多 个 关 键 字 , 长 度 在 38个汉 字 以 内 , 超 过 的 部 分 将 被 直 接 舍 弃 。 输 出 的 数 据 要 求 包 括 网 站 的 URL和

12、 页 面 简介 , 按 照 页 面 内 容 与 搜 索 内 容 的 匹 配 程 度 来 排 序 。1.4.2 时 间 特 性 要 求a) 响 应 时 间 0.01sb) 更 新 处 理 时 间 0.1c) 数 据 的 转 换 和 传 送 时 间 0.1s1.4.3 灵 活 性武 汉 理 工 大 学 java语 言 课 程 设 计-5-该 系 统 运 用 的 主 要 语 言 是 Java, 由 于 Java是 一 门 跨 平 台 的 语 言 , 所 以 本 系统 的 兼 容 性 比 较 强 , 只 要 配 置 了 Java环 境 就 可 以 运 行 。 当 该 系 统 与 数 据 库 MySQL

13、的 接 口 发 生 变 化 时 , 系 统 在 重 新 加 载 了 新 的 驱 动 后 要 能 够 正 常 运 行 。1.4.4 输 人 输 出 要 求输 入 : 由 用 户 输 入 搜 索 关 键 字 , 关 键 字 类 型 为 合 法 字 符 。输 出 : 显 示 结 果 列 表 或 提 示 信 息 , 包 含 页 面 地 址 、 页 面 标 题 、 页 面 描 述 的 条目 列 表 或 字 符 串 提 示 信 息 。1.4.5 故 障 处 理 要 求出 错 输 出 信 息 : 根 据 不 同 的 错 误 提 供 不 同 的 错 误 提 示 信 息 。 例 如 无 网 络 连 接 、无 法

14、 检 索 到 结 果 。出 错 处 理 对 策 : 1) 一 般 错 误 : 显 示 错 误 信 息 , 提 示 用 户 重 新 操 作2) 严 重 错 误 : 重 新 启 动 , 必 要 时 启 用 备 份 恢 复 数 据1.4.6 其 他 专 门 要 求如 用 户 单 位 对 安 全 保 密 的 要 求 , 对 使 用 方 便 的 要 求 , 对 可 维 护 性 、 可 补 充 性 、易 读 性 、 可 靠 性 、 运 行 环 境 可 转 换 性 的 特 殊 要 求 等 。1) 健 壮 性 : 如 果 用 户 在 发 送 搜 索 请 求 后 与 服 务 器 连 接 中 断 , 在 用 户

15、重 新 连接 后 并 重 新 请 求 时 , 系 统 应 快 速 将 信 息 反 馈 给 用 户 。2) 可 维 护 性 : 新 的 管 理 员 应 该 可 以 在 10分 钟 以 内 掌 握 关 闭 和 开 启 服 务 器 等基 本 操 作 。3) 运 行 环 境 可 转 换 行 : 任 何 装 有 浏 览 器 的 系 统 都 应 该 可 以 访 问 服 务 器 。 当服 务 器 更 换 操 作 系 统 时 , 在 部 署 好 Java环 境 后 应 可 以 马 上 运 行 。2 程 序 设 计2.1 总 体 设 计 思 想本 软 件 通 过 客 户 端 浏 览 器 , 用 户 设 置 自

16、己 的 爱 好 , 并 通 过 http传 给 服 务 器 ,服 务 器 接 收 信 息 执 行 响 应 操 作 。2.3 程 序 设 计 总 体 框 图武 汉 理 工 大 学 java语 言 课 程 设 计-6-系 统 功 能 层 次 模 块 图 如 图 1-2所 示图 表 1-2 系 统 层 次 模 块 图2.4 程 序 详 细 设 计( 1) RecordDAOProxy类 UML设 计( 2) IRecordDAO类 设 计 说 明武 汉 理 工 大 学 java语 言 课 程 设 计-7-( 3) DatabaseConnection类 设 计 说 明(4)RecordDAOImpl

17、类 设 计 说 明( 5) Record类 设 计 说 明( 6) HtmlHelper类 设 计 说 明武 汉 理 工 大 学 java语 言 课 程 设 计-8-( 7) SpiderThread类 设 计 说 明( 8) DAOFactory类 设 计 说 明( 9) Page类 UML设 计( 10) 测 试 类 UML设 计( 7) 主 体 程 序 UML类 图武 汉 理 工 大 学 java语 言 课 程 设 计-9-源 代 码 部 分 :1 RecordDAOProxy.java代 码importjava.util.ArrayList;importcom.engine.dao.i

18、mpl.RecordDAOProxy;importcom.engine.po.Record;importcom.engine.util.HtmlHelper;/*author*/publicclassResultControllerprivateResultController()privatestaticResultControllerresultController;/*returnResultController*/ PublicstaticsynchronizedResultControllergetResultController()武 汉 理 工 大 学 java语 言 课 程 设

19、 计-10-if(resultController=null)resultController=newResultController();returnresultController;/* *paramkeyWord*returnRecord*throwsException*/ publicArrayListqueryResult(StringkeyWord)throwsExceptionStringkeyWords=keyWord.split(“s“);ArrayListlist=newArrayList();RecordDAOProxyrecordDao=null;for(inti=0;

20、ilist=proutil.getUsers();Userusers2= new Userlist.size();for(inti=0;i0)currentPos-;return userscurrentPos;public Usernext()if(currentPoslstUsers=newArrayList();privateStringfileName=null;publicPropertiesUtil(StringfileName)this.fileName=fileName;武 汉 理 工 大 学 java语 言 课 程 设 计-14-SuppressWarnings(“unche

21、cked“)public ListgetUsers()try ois = new ObjectInputStream(new FileInputStream(fileName);lstUsers= (ArrayList)ois.readObject();ois.close();catch(FileNotFoundExceptione)intRecord();catch(ClassNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();returnlstUsers;publicvoidsave(U

22、seruser)tryoos = new ObjectOutputStream(newFileOutputStream(“config/telephone.dat“);inti;for(i=0;i=lstUsers.size()lstUsers.add(user);/新 增oos.writeObject(lstUsers);oos.flush();oos.close();武 汉 理 工 大 学 java语 言 课 程 设 计-15-catch(IOExceptione)e.printStackTrace();/* 若 记 录 文 件 不 存 在 ,则 初 始 化 记 录 文 件*/privat

23、evoidintRecord()/创 建 文 件Filef=newFile(“config/telephone.dat“);tryf.createNewFile();catch(IOExceptione1)e1.printStackTrace();/新 建 一 条 记 录Useru=newUser();u.setNo(“1“);u.setName(“);u.setAge(0);u.setSex(“F“);u.setPhone(“);u.setImagePath(“);tryoos = new ObjectOutputStream(newFileOutputStream(“config/tele

24、phone.dat“);lstUsers.add(u);oos.writeObject(lstUsers);oos.close();JOptionPane.showMessageDialog(null,“请 重 启 本 程 序 “);System.exit(0);catch(FileNotFoundExceptione1)e1.printStackTrace();武 汉 理 工 大 学 java语 言 课 程 设 计-16-catch(IOExceptione1)e1.printStackTrace(); Test.java代 码importjava.io.FileNotFoundExcept

25、ion;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectOutputStream;importjava.util.ArrayList;importjava.util.List;publicclassTestprivateObjectOutputStreamoos=null;privateListlstUsers=newArrayList();Useru1=null;Useru2=null;Useru3=null;publicTest()tryoos = new ObjectOutputSt

26、ream(newFileOutputStream(“config/telephone.dat“);u1=newUser();u1.setNo(“1“);u1.setName(“人 物 1“);u1.setSex(“M“);u1.setAge(11);u1.setPhone(“111“);u1.setImagePath(“config/demo8.jpg“);lstUsers.add(u1);u2=newUser();u2.setNo(“2“);武 汉 理 工 大 学 java语 言 课 程 设 计-17-u2.setName(“人 物 2“);u2.setSex(“F“);u2.setAge(

27、22);u2.setPhone(“222“);u2.setImagePath(“config/demo4.jpg“);lstUsers.add(u2);u3=newUser();u3.setNo(“3“);u3.setName(“人 物 3“);u3.setSex(“F“);u3.setAge(33);u3.setPhone(“333“);u3.setImagePath(“config/demo2.jpg“);lstUsers.add(u3);catch(FileNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printS

28、tackTrace();publicstaticvoidmain(Stringargs)Testt=newTest();tryt.oos.writeObject(t.lstUsers);t.oos.close();catch(IOExceptione)e.printStackTrace(); public class Resultprivate StringrecordLink;private StringrecordTitle;武 汉 理 工 大 学 java语 言 课 程 设 计-18-private StringrecordAbstractContent;private Stringke

29、ywordTimes;public StringgetRecordLink()return recordLink;public void setRecordLink(StringrecordLink)this.recordLink=recordLink;public StringgetRecordTitle()return recordTitle;public void setRecordTitle(StringrecordTitle)this.recordTitle=recordTitle;public StringgetRecordAbstractContent()return recor

30、dAbstractContent;public void setRecordAbstractContent(StringrecordAbstractContent)this.recordAbstractContent=recordAbstractContent;public StringgetKeywordTimes()return keywordTimes;public void setKeywordTimes(StringkeywordTimes)this.keywordTimes=keywordTimes; import java.sql.*;public class DatabaseC

31、onnectionprivate Connectioncon=null;private static final String DRIVER=“com.mysql.jdbc.Driver“;private static final StringURL=“jdbc:mysql:/localhost:3306/webengine?useUnicode=trueprivate static final String USER=“root“;private static final String PASS=“1234“;public DatabaseConnection() throwsExcepti

32、onClass.forName(DRIVER);con=DriverManager.getConnection(URL, USER, PASS);public ConnectiongetConnection() throws Exceptionreturn con;武 汉 理 工 大 学 java语 言 课 程 设 计-19-public void close() throws Exceptionif(con!=null)con.close(); import java.io.IOException;import javax.servlet.Filter;import javax.servle

33、t.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class SetCharacterEncodingFilter implements Filterprivate Stringencoding;Overridepublic void init(FilterConfigfilterConfig) throwsServ

34、letException/ TO DO Auto-generatedmethodstubthis.encoding=filterConfig.getInitParameter(“encoding“);Overridepublic void doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain) throws IOException,ServletException/ TO DO Auto-generatedmethodstubrequest.setCharacterEncoding(this.encodi

35、ng);chain.doFilter(request,response);Overridepublic void destroy()/ TO DO Auto-generatedmethodstubthis.encoding=null; import java.sql.*;import java.util.*;import com.engine.dao.IRecordDAO;import com.engine.po.Record;武 汉 理 工 大 学 java语 言 课 程 设 计-20-public class RecordDAOImpl implements IRecordDAOSuppr

36、essWarnings(“unused“)private Connectioncon= null;SuppressWarnings(“unused“)private PreparedStatementstat= null;public RecordDAOImpl(Connectioncon) this.con=con;Overridepublic boolean insertRecord(Recordrecord) throwsExceptionint i=0;Stringsql=“insertintoResult(recordTitle,recordContent,recordLink)va

37、lues(?,?,?)“;try PreparedStatementpreStmt=con.prepareStatement(sql);preStmt.setString(1,record.getRecordTitle();preStmt.setString(2,record.getRecordContent();preStmt.setString(3,record.getRecordLink();i=preStmt.executeUpdate(); catch (SQLExceptione)e.printStackTrace();if (i=1)return true;/ else retu

38、rn false;Overridepublic boolean clearAll() throwsExceptionConnectionconn;boolean flag= false;Stringsql;try conn=con;sql=“delete*fromResult“;flag=stat.execute(sql); catch (Exceptionex)System.out.println(“Error:“+ex.toString();if (flag)return true; else 武 汉 理 工 大 学 java语 言 课 程 设 计-21-return false;Over

39、ridepublic ArrayListgetRecord(Stringcondition) throwsExceptionArrayListrecords= new ArrayList();Stringsql=“selectrecordLink,recordTitle,recordContentfromResult“+condition;tryResultSetrs=con.createStatement().executeQuery(sql);while(rs.next()Recordrecord=new Record();record.setRecordLink(rs.getString

40、(“recordLink“);record.setRecordTitle(rs.getString(“recordTitle“);Stringcontent =rs.getString(“recordContent“);if(content.length()=400)content=content.substring(0,400)+“.“;record.setRecordContent(content);records.add(record);catch (SQLExceptione)e.printStackTrace();return records;public ArrayListgetR

41、ecord(Stringwhere, int number)throwsExceptionArrayListrecords= new ArrayList();Stringsql=“selectrecordLink,recordTitle,recordContentfromResultwhere“+where+“limit“+Integer.toString(number);tryResultSetrs=con.createStatement().executeQuery(sql);while(rs.next()Recordrecord=new Record();record.setRecord

42、Link(rs.getString(“recordLink“);record.setRecordTitle(rs.getString(“recordTitle“);Stringcontent =rs.getString(“recordContent“);if(content.length()=400)content=content.substring(0,400)+“.“;武 汉 理 工 大 学 java语 言 课 程 设 计-22-record.setRecordContent(content);records.add(record);catch (SQLExceptione)e.print

43、StackTrace();return records; import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.

44、action.ActionMapping;import com.engine.business.ResultController;import com.engine.po.Record;import com.engine.struts.form.GetResultForm;import com.engine.util.PageController;public class GetResultAction extends Actionpublic ActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequest

45、request,HttpServletResponseresponse) throwsExceptionGetResultFormgetResultForm=(GetResultForm)form;StringkeyWord=getResultForm.getKeyWord();if(keyWord= null|keyWord.equals(“)keyWord=(String)request.getSession().getAttribute(“keyWord“);ResultControllerresultController=ResultController.getResultContro

46、ller();Stringstr=request.getParameter(“PageIndex“);if(str=null)str=“1“;int currentPageIndex=Integer.parseInt(str);PageControllerpc=(PageController)request.getAttribute(“pc“);if(pc=null)pc= new PageController();ArrayListlist=resultController.queryResult(keyWord);武 汉 理 工 大 学 java语 言 课 程 设 计-23-pc.setB

47、igList(list);request.getSession().setAttribute(“pc“,pc);request.getSession().setAttribute(“keyWord“,keyWord);pc.setCurentPageIndex(currentPageIndex);return new ActionForward(“/Result.jsp“);3 调 试 过 程( 1) 进 入 界 面( 2) 搜 索 武 汉 理 工 大 学 招 生 信 息 网 , 出 来 以 下 界 面武 汉 理 工 大 学 java语 言 课 程 设 计-24-( 3) 点 击 搜 索 首

48、页 或 者 页 面 最 下 方 的 首 页 或 返 回 搜 索 首 页 都 可 以 回 到 开 始 的 界 面4 总 结这 次 的 程 序 实 设 计 实 验 是 对 我 们 进 入 大 学 以 来 学 习 程 序 设 计 语 言 结 果 的 一次 大 检 验 。 自 己 动 手 , 自 己 发 现 和 解 决 问 题 。 发 现 了 自 己 的 许 多 不 足 。 平 时 没 有掌 握 好 的 知 识 在 这 次 实 验 中 彻 底 暴 露 出 来 , 经 过 不 断 思 考 , 不 断 查 阅 资 料 和 上 机运 行 , 解 决 其 中 大 部 分 问 题 , 当 然 还 存 在 一 些 问 题 没 有 解 决 。 但 是 , 此 次 课 设 收获 很 大 , 我 不 仅 对 Java 的 操 作 有 了 进 一 步 的 掌 握 , 还 了 解 到 了 程 序 设 计 的 书 写风 格 及 其 注 释 的 格 式 。 通 过 对 此 次 个 人 通 讯 录 系 统 的 开 发 , 让 我 学 到 了 很 多 知 识 ,现 总 结 如 下 :( 1) 系 统 开 发 的 过 程 中 , 我 们 深 刻 体 会 到 : 一 个 系 统 开 发 的 过 程 中 编 码 不是 最 重 要 的 , 重 要 的 是 对 系

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报