|
学生端主观题考试 - 答卷
中国人民大学网络教育学院201911批次课程考试
ZK132A 面向对象程序设计
主观试题
答题要求:
1. 主观试题务必在考试提交期截止之日前提交。
2.主观试题部分共一道大题,满分100分。
3. 主观试题答卷必须在开发文档中完整填写考生姓名、用户名和所属服务站,未填写考生信息的答卷视为无效答卷。
综合设计题(满分100分)
“个人资料管理工具”
一、概述
知识必须积累,但同时需要整理,只有有条理的成体系的知识,才能带来真正的价值。在这个知识爆炸的时代,我们需要一种有效的手段管理各种知识。
知识天生是一种“网状”结构,很类似于互联网上相互链接的网页,各知识点之间有着复杂的相互关联。然而,从高效掌握并应用知识的角度来看,将知识组织成为类似于计算机文件系统的多叉树比网状结构更有效,这是由人的认知特性决定的。
因此本课程的结课设计,就是开发一个“个人资料管理”工具软件,采用树型结构管理各种知识。
一个参考软件如下所示。
左边是一棵树,点击之后,在右边显示一个文本编辑器,用于显示和编辑信息。
二、功能说明及技术指导
1、树节点操作
左边的树支持所有常见的节点操作(可以使用上部的工具栏按钮,或者是右击树节点从弹出菜单中选择各种命令):
◆ 节点新建/删除/改名:必须实现的功能。
◆ 节点升级(可选):将节点提升一级,成为其父节点的兄弟。
◆ 节点降级(可选):将节点层次降低一级,成为其兄弟的儿子(瞧这辈份乱得!)
◆ 节点上移/下移(可选):在同一级节点中位置移动……
◆ 剪切/复制(可选):子树搬家,就是将某个节点(包括其所有的子节点)移到另一个地方成为那个节点的新儿子。
可以在标准的TreeView控件基础之上实现。
2、信息的编辑
每个树节点都关联着一个简单的文本编辑器,可以直接使用TextBox,以纯文本方式保存信息,也可以封装RichTextBox支持具有比较丰富样式的文本(就象Word文档那样)
◆ 节点相关联信息的显示与基础编辑功能:必须实现的功能
◆ 打印(可选):将信息送到打印机输出
◆ 查找与替换(可选):可以在文本中搜索特定的词并高亮显示
◆ 辅助功能(可选):任何一个你觉得需要实现的功能,比如给文本加上行号
3、信息的搜索(可选)
查找主要有两种方式:
(1)在树中找,可以在文本框中直接输入,下方网格中会即时动态地筛选,找到之后,就可以在树中直接定位并显示。
(2)另一个是到数据库中找,不搜索树节点记录,而是搜索树节点所关联的数据。
4、资料的存储方式
使用SQL Server保存数据,采用Entity Framework构建数据存取层。
◆ 用一张表保存所有数据:这是最基础的功能,必须实现;
◆ 多表支持(可选):程序可以随时地创建多个表,每张表对应一个知识树,在界面上以多选项卡的方式同时显示它们,也可以随时地移除它们。
三、课程设计上传说明
请将以下内容压缩打包后以附件的方式上传,需包含以下内容:
(1)可以使用Visual Studio 2013/2015顺利编译的项目源码;
(2)可以直接运行的.exe文件;
(3)开发文档:参看所附的开发文档模板。
四、附件3——开发文档模板
中国人民大学网络教育学院
《面向对象程序设计》结课设计
设计题目
姓 名
用户名
所属服务站
1、程序的运行环境、安装步骤
(1)运行环境:例如.NET 4.5,Windows 7,SQL Server 2014 Express
(2)程序的组成部份:指可以运行的程序包含哪几个文件,比如有几个dll文件,是否需要其他的支持文件(比如是否需要事先安装第3方的某些软件)等
(3)安装步骤:如何在一台“干净”的计算机上运行你的程序?
一个典型示例:
1)安装.NET Framework 4.5。
2)安装SQL Server Express 2014。
3)将程序文件复制到计算机上
4)使用SQL Server Management附加XXX数据库
5)在资源管理器中双击XXX,运行程序
2、程序开发平台
(1)代码行数:约XXXX行
(2)开发环境:Visual studio 2015社区版
3、程序已经实现功能清单:
列表你己经实现的功能清单,推荐给出屏幕截图,底下再给出简要文字说明。
4、程序算法说明及面向对象实现技术方案
(1)数据存储与算法说明:
◆ “树”是如何保存的?你如何把某个树节点与特定的信息关联起来》
◆ 你是如何保存数据的?数据库中创建了几个表?表中有哪些字段?表之间建立了关联吗?
◆ ……
(2)软件架构及面向对象技术方案
◆ 程序中设计了哪几个类,类之间有何关系:继承、组合、实现某接口……
◆ 你将这些类划分成了多少个命名空间?创建了多少个项目,各个项目之间的依赖关系如何?
◆ ……
5、技术亮点、关键点及其解决方案
展示出你开发的程序中最精彩得意的亮点,在开发中你遇到了哪些技术困难,又是如何解决的……
6、开发过程回顾及小结
XX月XX号查找资料确定要使用的算法与数据结构
XX月XX号完成系统设计
XX月XX号进行XXX功能开发
XX月XX号XXX功能开发完成,进入测试阶段
……
XX月XX号程序开发工作完毕,编写及整理文档
经过一个学期的理论与技术学习,完成了这个课程设计,我感触很深……
我对课程的意见和建议是……
如果是学弟学妹来学这门课,我给他(她)的建议是…… |
|