实验10:《数据处理与图形控件》 V07-2
文/尚小卫
【工作目标】
1 完成期限:4小时。
2 工作成果:用户成绩列表和绘图
验收审核
根据原始版+标准扩展业务(用户管理+成绩管理)审核应用程序全部业务功能点。
业务说明
本课程用户群数据处理 程序ID 单元ID
排行榜 前N个最好成绩。
成绩分布曲线
登录用户本课程数据处理 程序ID 单元ID 用户ID
历史纪录 -- 数据列表
发展曲线 --
成长纪录 -- 升级数据
成长曲线 --
具体功能应当包括统计报表和分析图。
实现业务功能
2个UI:
个人成绩界面:成绩列表、组合直方图、发展曲线、成长曲线。
小组成绩界面:成绩列表、直方图、分布曲线
1个BT:扩展单元成绩查询方法
两类方法
本课程用户群数据处理 程序ID 单元ID
排行榜 所有用户的。
小组成长
登录用户本课程数据处理 程序ID 单元ID 用户ID
历史纪录 -- 全部数据列表
成长纪录 -- 里程碑数据列表
掌握标准组件
标准BT组件 btSHFUnitScore、 btSHFUnitScores
开源绘图组件 ZedGraph
3验收标准
验收审核:核心业务流程,原始版需求列表。
审核内容:核心业务的功能点,有多个业务流程的先提交一个完整的训练流程。
审核要求:一个完整的训练流程实现到业务功能点。
1 把UI组装到应用程序中。
2 将未实现的部分使用土黄色显示,已实现的功能用新颜色标识出来。
3 对照原始版可以逐项运行相应的功能和功能点。
4 标准扩展--页面的标题、需求路径、程序路径,登录用户信息,课程结构。
需求列表:原始版完善到功能点(本次为原始版验收最终版)。
编程实现:完成单项成绩类的编辑和显示界面模块。
验收内容:
UI项目 3个窗体
实现一个单元成绩类btSHFUnitScore的编辑窗口
实现二个单元成绩类btSHFUnitScores的显示窗口
BT项目 9个方法
用户数据处理方法
登录用户的相关课程所有单元的成绩查询方法。
登录用户的相关课程所有单元的成绩按单元顺序排列查询方法。
登录用户的相关课程指定单元的成绩查询方法。
登录用户相关课程指定单元的最好成绩(剔出重复成绩)查询方法。
登录用户相关课程各个单元的最好成绩查询方法。
小组数据处理方法
单元排行榜 所有用户指定单元的前N名最好成绩查询方法。
单元分布图 所有用户指定单元的成绩分布统计方法。
课程排行榜 所有用户各个单元最好成绩的累加成绩前N名查询方法。
课程分布图 所有用户各个单元的累加成绩分布统计方法。
实验项目
3个UI业务环节
9个BT业务功能
验收要求:
UI项目
实现一个单元成绩类btSHFUnitScore的编辑窗口
实现二个单元成绩类btSHFUnitScores的显示窗口
个人成绩显示界面:成绩列表、组合直方图、发展曲线、成长曲线。
成绩列表(发展-里程碑数据、历史-全部数据)
直方图:里程碑数据的组合直方图(各个训练内容)
曲线图:里程碑数据发展曲线,历史数据为成长曲线。
小组成绩显示界面:成绩列表、直方图、分布曲线
成绩列表(前N名最好成绩、按分值成绩分布)
直方图:前N名最好成绩数据(课程和分单元)。
分布图:按分值成绩分布数据(课程和分单元)。
在实验窗体中添加单元成绩类btSHFItemScore的编辑和显示业务环节。
BT项目
登录用户本课程数据处理
全部数据列表 --
登录用户的相关课程所有单元的成绩查询方法。
登录用户的相关课程所有单元的成绩按单元顺序排列查询方法。
登录用户的相关课程指定单元的成绩查询方法。
里程碑数据列表 --
登录用户相关课程指定单元的最好成绩(剔出重复成绩)查询方法。
登录用户相关课程各个单元的最好成绩查询方法。
本课程用户群数据处理
单元排行榜 所有用户指定单元的前N名最好成绩查询方法。
单元分布图 所有用户指定单元的成绩分布统计方法。
课程排行榜 所有用户各个单元最好成绩的累加成绩前N名查询方法。
课程分布图 所有用户各个单元的累加成绩分布统计方法。
提示:可以用SQL查询来做,也可以用对象列表编程来做。
实验项目
3个UI业务环节
单元成绩类btSHFUnitScore的编辑窗口可以浏览编辑各个单元成绩和成绩项目。
个人成绩显示界面:成绩列表、组合直方图、发展曲线、成长曲线。
小组成绩显示界面:成绩列表、直方图、分布曲线。
9个BT业务功能
SQL查询:在实验窗体数据库访问列表中显示相应方法的SQL语句。
编程处理:在实验窗体的业务层添加相应方法的启动按钮,结果显示在列表中。
技术难度
会引用--入门组员;
会扩展自己部分--普通组员;
会自编小组部分--技术骨干。
技术文档:需求列表、程序列表。
需求列表:V07-2.10版,原始版核心业务审核最终版,添加3个成绩管理业务环节及其功能。
程序列表:V07-2.10版,添加单元成绩编辑、成绩显示界面、3个UI实验功能和9个BT实验功能。
工作文档:工作日志、实验报告。
工作日志:与模板一致,Word文档实现。
1 日志内容:工作项目名称、开始时间、结束时间。完成那些具体工作。
2 验收要求:Word 文档,格式与模板相同。
实验报告:
1 报告内容:图示纪录实际操作步骤,重点是编程实验部分的各个步骤。
2 验收要求:其他同学可以按照提交的实验报告重复实现相同的实验。
项目审核:按顺序验收。
【实验目的】
本实验为数据处理编程实践,重点掌握2种数据处理方法和数据图形显示编程方法。
2种数据处理方法
SQL语句查询方法:使用数据库查询语句是一种成熟、简洁、方便的数据处理模式。
C#编程处理方法 :使用对象编程处理方法是一种灵活应对复杂业务逻辑的数据处理模式。
图形显示方法
组件技术:使用开源图形显示组件ZedGraph显示统计图形。
开源技术:了解开源资源。
【实验环境与工具】
Microsoft Visual Studio .NET 2008
C#编程语言
《尚府教学》实验工具
-标准BT组件 btSHFUnitScore、 btSHFUnitScores
《ZedGraph》绘图控件
-绘图组件 ZedGraph
单元成绩类btSHFUnitScore说明
public btSHFUnitScore();
public btSHFUnitScore(int sid);
public btSHFUnitScore(int usid, int sid, int utid, string evl);
public btSHFUnitScore(int pid, int usid, int sid, int upid, int cfid, DateTime sdt, int pt, int tnm, int cnm, int rnm, int enm, int crt, int tts, string evl);
public int CompleteNumber { get; set; }
public int ConfigID { get; set; }
public int CorrectRate { get; set; }
public int ErrorNumber { get; set; }
public string Evaluation { get; set; }
public int PracticeTime { get; set; }
public int ProgramID { get; set; }
public int RightNumber { get; set; }
public DateTime StartDateTime { get; set; }
public int StudentID { get; set; }
public int TotalNumber { get; set; }
public int TotalScore { get; set; }
public int UnitPracticeID { get; set; }
public int UnitScoreID { get; set; }
public void ClearCouts();
public void CopyToMe(btSHFUnitScore us);
public void DoEvaluation();
public override string ToString();
单元成绩管理类btSHFUnitScores说明
public btSHFUnitScores();
public btSHFUnitScores(string callStr);
public int AddOne(btSHFUnitScore myItem);
public int AddOneID(btSHFUnitScore myItem);
public int DeleteOne(int itemId);
public ArrayList GetAll();
public DataSet GetSQL(string sql);
public string ToSqlSelectString();
public int UpdateOne(btSHFUnitScore myItem);
绘图组件 ZedGraph 说明
详见参考资料。
【实验过程与步骤】
准备工作:存档、升级、创建第10版作业文件夹。
验收审核:准备工作 30分钟。
重点功能:对照原始版,自检和完善一个核心业务流程到功能点。(编程基础)
需求列表:对照原始版,自检和完善需求列表到功能点。
编程实验:开发工作180分钟。
添加ZedGraph控件
项目引用 ZedGraph 组件;
模块使用 ZedGraph 命名空间;
工具栏 添加 ZedGraph 控件;
在界面设计窗口添加 Zedgraph控件,或编程添加ZedGraph对象。
UI项目编程 单元成绩交互窗体
实现单元成绩类的数据编辑窗体:
显示课程结构,根据课程结构显示相应课程和单元成绩列表。
显示标准单元成绩类(btSHFUnitScore)各项说明信息,实现编辑功能。
实现个人单元成绩显示界面:成绩列表、组合直方图、发展曲线、成长曲线。
成绩列表功能
显示发展数据列表 -里程碑数据
显示历史数据列表 -个人全部数据
组合直方图功能
组合显示项目的选择功能 选定参与组合显示的业务流程。
组合直方图显示功能 各个训练单元里程碑数据的组合直方图(各个训练单元总成绩和累加)。
曲线图功能
用里程碑数据列表显示发展曲线。
用历史数据列表显示成长曲线。
提示:用BT的方法实现数据处理,用ZedGraph控件显示统计图形。
实现小组单元成绩显示界面:成绩列表、直方图、分布曲线
成绩列表功能
排行榜功能 显示前N名最好成绩列表。
成绩分布列表功能 设定分值间隔,按分值间隔统计成绩分布。
直方图:前N名最好成绩数据(课程和分单元)。
单元成绩直方图 前N个最好学生单元成绩为数据项。
课程成绩直方图 前N个最好学生课程成绩为数据项。
分布图:按分值成绩分布数据(课程和分单元)。
显示单元成绩(单元最好成绩)分布列表数据。
显示课程成绩(单元最好成绩累加)分布列表数据。
提示:用BT的方法实现数据处理,用ZedGraph控件显示统计图形。
BT项目编程 数据查询和统计功能
登录用户本课程数据处理功能 程序ID 单元ID 用户ID
全部数据列表 --
实现登录用户的相关课程所有单元的成绩查询方法。
实现登录用户的相关课程所有单元的成绩按单元顺序排列查询方法。
实现登录用户的相关课程指定单元的成绩查询方法。
里程碑数据列表 --
实现登录用户相关课程指定单元的最好成绩(剔出重复成绩)查询方法。
实现登录用户相关课程各个单元的最好成绩查询方法。
本课程用户群数据处理功能 程序ID 单元ID
实现单元排行榜 所有用户指定单元的前N名最好成绩查询方法。
实现单元分布图 所有用户指定单元的成绩分布统计方法。
实现课程排行榜 所有用户各个单元最好成绩的累加成绩前N名查询方法。
实现课程分布图 所有用户各个单元的累加成绩分布统计方法。
提示:可以用SQL查询来做,也可以用对象列表编程来做。
实验项目编程
在实验窗体中添加单元成绩类的编辑和显示业务环节启动功能。
添加3个UI业务环节的启动功能
单元成绩数据编辑窗体 单元成绩类btSHFUnitScore的编辑窗口可以浏览编辑各个单元成绩和成绩项目。
个人单元成绩显示界面:成绩列表、组合直方图、发展曲线、成长曲线。
小组单元成绩显示界面:成绩列表、直方图、分布曲线。
添加9个BT业务功能的实验功能
SQL查询:在实验窗体数据库访问列表中显示相应方法的SQL语句。
编程处理:在实验窗体的业务层添加相应方法的启动按钮,结果显示在列表中。
登录用户的相关课程所有单元的成绩查询方法。
登录用户的相关课程所有单元的成绩按单元顺序排列查询方法。
登录用户的相关课程指定单元的成绩查询方法。
登录用户相关课程指定单元的最好成绩查询方法。
登录用户相关课程各个单元的最好成绩查询方法。
单元排行榜 所有用户指定单元的前N名最好成绩查询方法。
单元分布图 所有用户指定单元的成绩分布统计方法。
课程排行榜 所有用户各个单元最好成绩的累加成绩前N名查询方法。
课程分布图 所有用户各个单元的累加成绩分布统计方法。
冒烟试验
启动作业程序--选择实验程序
3个窗体实验
1 单元成绩编辑窗体 1)添加一个成绩到数据库;2)显示单元成绩列表;3)点列表中要修改的成绩显示到窗体中;4)修改后保存;5)保存的数据正确显示在列表中。
2 启动个人成绩显示窗体 1)选择显示发展数据;2)显示历史数据;3)各个图表同步变化。
3 启动小组成绩显示窗体 1)显示排行榜列表;2)显示成绩分布列表;3)各个图表同步变化。
9个业务功能实验
数据库访问实验 下拉数据库访问菜单,依次选定SQL查询语句,在数据表中显示相应查询结果。
业务功能实验 依次点击9个功能按钮,在交互窗体中显示相应数据变化。
编写技术文档
需求列表:
修改日期和版本编号;V06.10
应用程序扩展部分--个人单元成绩显示环节及功能,小组单元成绩显示环节及功能。
作业程序部分--单元成绩显示和编辑功能。
程序列表:
修改日期和版本编号;V07-2.10
根据升级版实验窗体新增核心业务流程及实验功能后实现的V07-2.10版程序完善程序列表:
UI和BT项目--单元成绩类的数据编辑窗体和显示窗体。
教学实验项目--SHFXXX_TestV062新增的单元成绩类的实验功能。
完成工作文件
工作日志:1 实际工作日日期:开始时间、结束时间、工作项目名称和内容。
实验报告:1 报告内容:图示纪录实际操作步骤,重点是编程实验部分的各个步骤。
准备提交作业
程序代码1项:选定解决方案-右键-清理解决方案-关闭VS2008
技术文档2项:将项目需求列表、程序列表添加到源程序文件夹。
工作文档2项:将工作日志、实验报告添加到源程序文件夹。
小组提交1项:选定源程序文件夹-右键-压缩打包-完成V07-2.10版源程序-保存-提交组长审核。
邮件提交2项:工作日志、实验报告发送到作业邮箱,2个文件合并发送,注意主题和附近格式。
截至时间:2010年06月09日 23:50