黎明职业大学计算机与信息工程系《信息系统开发实训》实训指导书2011年11月目录《信息系统开发实训》实训大纲 (3)附件一:实训日志模板 (6)附件二:实训报告模板 (7)附录三:本项目的评分标准: (9)实训一实训项目的选题与功能需求分析 (10)实训二数据库设计 (12)实训三公共数据处理类的创建 (15)实训四登录窗体与主界面 (17)实训五处理数据 (18)实训六维护数据 (22)*实训七帮助文档的制作与C#的调用 (25)实训三公共数据处理类的创建(数据访问层) (27)实训四业务逻辑层的实现 (30)实训五表示层的实现(界面设计) (33)实训六数据报表、统计与维护 (34)《信息系统开发实训》实训大纲适用:计算机信息管理学时:60 学分2一、实训目的:《信息系统开发实训》是计算机网络技术的重要实践环节。
通过实训使学生能够更进一步的领会管理信息系统分析、设计与实现的基本知识,了解程序开发的一般过程,熟悉和掌握程序开发的基本流程和注意事项,培养学生综合运用所学知识分析和解决实际问题的能力,提高学生的综合设计和实践能力,为今后开发程序打下基础。
二、实训内容和要求(一)实训内容1、用户需求分析根据所选题目进行认真地需求分析,用户需求分析的信息包括:●信息需求,用户要从数据库获得的信息内容。
信息需求定义了新系统应该提供的所有信息;应描述清楚系统中数据的性质及其联系。
●处理需求,即完成什么处理功能及处理的方式。
处理需求定义了新系统数据处理的操作;应描述操作执行的场合、操作对数据的影响等等。
●安全性和完整性要求。
在定义信息需求和处理需求的同时必须相应确定安全性、完整性。
2、数据库结构的确定①、根据项目要求设计E-R图②、根据ER图设计数据库的关系模式③、进行规范化处理后给出各关系之间的关联关系④、能根据功能合理设计视图、存储过程与触发器⑤、在DBMS(如SQL Server 2005)中建立数据库,并产生SQL脚本;3、系统总体方案设计①、画出详细的总体框图②、说明各模块的功能③、建立某种形式的报表,实现对数据的统计与输出;4、程序设计部分按总体方案设计与业务逻辑要求进行应用系统开发。
要求:●程序能正确运行●用户界面友好●程序功能完善●程序可进行权限控制●方便用户使用*5、对于C/S应用系统:应能够生成应用程序和可执行文件,并在相应环境下正确运行;最终要求系统调试并打包成为最终软件可安装运行。
B/S系统:应能正确配置站点提供服务。
(二)实训总体要求1、实训以小组的形式进行,自由分组,每个小组不得多于4人。
各小组在实训进行之前上报组长、成员及项目名称。
2. 每个小组要根据实际开发内容进一步明确任务,小组组长负责工作安排,保证每个同学积极参与到项目开发过程。
要有计划地定时定量地完成任务,体现出团队精神。
3. 认真填写实训日志。
4. 在开发各环节中撰写相关的技术文档,最后以小组为单位上交实训报告和源程序清单(以附录形式),正文字数不少于2000字(不包括附录),要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段相同者一律以作弊论处。
5. 最后递交一个可以运行的系统。
6. 明确实训的目的和重要性,认真领会实训的题目,读懂实训指导书的要求,学会设计的基本方法与步骤,积极认真地做好准备工作。
7. 实训中,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。
三、先修课程《信息系统分析与设计》《数据库原理与应用》《网站建设》《C#程序设计》四.教学时间参考分配表五.考核办法由指导教师根据学生完成实训任务的情况(实训报告的质量10%,答辩情况10%,实训过程中的工作态度20%,系统开发情况60%)综合打分。
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
优秀者人数一般不超过总人数的20%。
其中工作态度考核内容包括:是否按进度要求完成实训科目;是否认真填写实训日记;是否能与教师、同学较好沟通过等。
六、参考文献[1]《数据库系统概论》王珊,萨师煊编著高等教育出版社[2]《管理信息系统开发技术》宁书林等编著北京理工大学出版社[3]《 2.O数据库开发实例精粹》郭瑞军等编著电子工业出版社[4]《Visual C# 2008数据库编程实训教程》李志中编著清华大学出版社附件:1.实训日志模板2.课程实训报告模板3.评分标准附件一:实训日志模板实训日志附件二:实训报告模板黎明职业大学课程实训报告题目:(项目名称)系别:计算机与信息工程系专业:计算机信息管理年级:2009学号:姓名:任课教师:填写日期 2011 年月日[摘要][关键字][正文](本部份另取一页开始)1、正文内容:完成作业的计算机环境(软硬件配置)硬件、软件:项目名称:××××××(1)综述:项目提出及要解决的问题,设计思想;(2)项目要实现的主要功能概要说明完成该项目各组成部分的名称及其主要功能。
及各部分之间的关系;(3)数据库设计的E-R图,数据库、表的结构(4)实现功能的展示该项目使用说明:输入操作、各功能使用、输出操作的提示。
(5)测试中发现的问题(6)课程设计的心得体会(7)参考书目2、格式(1)文档版式:A4,页边距:上下为2CM、左右为3CM(2)字体:宋体五号字(3)1.5倍行距附录三:本项目的评分标准:《系统开发实训》评分标准及评分表实训一实训项目的选题与功能需求分析一.实训项目选题选择一个进销存管理系统作为本次实训的题目。
如果对于进销存管理系统的业务流程不是十分清楚,也根据自已熟悉的领域,选择一个合适的信息管理系统作为本次实训的题目。
二.功能需求分析1.进销存系统常见的功能性需求分类2.根据所选择的系统仔细分析系统的功能,然后画出系统的模块功能结构图图1 进销存管理系统模块结构图3.画出系统的数据流程图或用例图实训二数据库设计数据库设计是本实训的基础,只有在需求分析的基础上合理设计所需的数据库,才有可能完成本实训。
关于数据库的设计可分为以下几个步骤:画出ER画、ER图转化成关系模型、创建数据库、实现完整性约束与一致性约束、创建索引与视图、创建触发器、创建存储过程,最后编写相应的文档。
步骤一、画ER图为了减轻学生的负担,本实训给定了一个中文版的NorthWind数据库(是SQLserver附带的比较完善的进销存数据库),学生可以在分析此数据库特征的基础上,画出自己所选系统的数据库的ER图,NorthWind的数据库关系图如下所示:图2 NorthWind数据库关系图注:以上图形是数据库关系图而不是ER图,请同学按照上学期实训所学的Visio 软件,建立ER图。
步骤二、创建数据库根据每位同学所画的ER图,创建数据库,同时确定每一张表的主键;步骤三、实现完整性约束与一致性约束完整性:根据ER图,建立表间的主从关系,以实现数据库的完整性;SQLserver→northwind→新建数据库关系图→添加表→从主表拖动主键到从表→出现下图对话框→选择相应的键→确定(图2所示)图3一致性:在SQLserver中实现表间的级联删除、级联更新关系;图2按“确定”后,出现图3的对话框,把“更新规则”和“删除规则”均设为“层叠”即可保证数据库的一致性。
图4步骤四、创建索引与视图创建索引与视图可以提高查询速度(本步骤可有可无)步骤五、创建触发器(本步骤可有可无,视具体系统而定)步骤六、创建存储过程如创建“增加产品”的存储过程的代码如下:上篇C/S应用程序开发实训三公共数据处理类的创建一、定义数据库连接二、数据处理公共类所包含的常用的方法:①执行select 查询语句的方法,返回数据集②执行带参数数组的存储过程的方法③执行不带参数增加、删除、修改、建表的SQL语句的方法④执行带统计功能的SQL语句的方法⑤执行存储过程,返回SqlCommand的方法实训四登录窗体与主界面1.windows桌面应用程序的常见登录窗体及其代码图4①“确定”按钮的基本代码:private void OK_Click(object sender, EventArgs e){if (username.Text =="")MessageBox.Show("用户名不能为空");elseif (password.Text == "")MessageBox.Show("密码不能为空");else{DataSet ds = new DataSet();ds = mydb.gettabledata("select * from 用户 where 用户名='" +username.Text + "' and 密码='" + password.Text + "'");if (ds.Tables[0].Rows.Count == 0)MessageBox.Show("用户名或密码不正确");else{FrmMain FM = new FrmMain();FM.Show();this.Hide();} } }②思考以下问题:➢如果想实现验证码,如何做?➢如果用户有超级用户与普通用户之分,两者能访问的模块有所区别,则如何处理?③每位同学对主界面的设计不可能一样,请大家自已设计实训五处理数据一. 基本信息维护常见的基本信息处理的界面如及功能如下图2所示,本实训指导书中给出了对于“产品”表进行增、删、改、查询等基本功能的代码,在实训过程中,同学可以根据自己所选择的题目适当调整功能。
图51.查询处理①加载查询依据(表字段)要实现查询功能,一般在Form一加载时即把表的字段名加载到Combobox中,用户可以选择任何一个字段作为查询依据,所以首先要实现加载字段名的问题,常见的代码如下:DataSet ds = new DataSet();ds = mydb.gettabledata("SELECT name FROM sys.syscolumns WHERE (id =OBJECT_ID('产品')) ");for (int i = 0; i < ds.Tables[0].Rows.Count - 1; i++)ComboBox1.Items.Add(ds.Tables[0].Rows[i][0].ToString());DataSet ds1 = new DataSet();ds1 = mydb.gettabledata("select * from 产品");dataGridView1 .DataSource = ds1.Tables [0];②实现查询功能参考代码如下:DataSet ds2 = new DataSet();ds2 = mydb.gettabledata("select * from 产品 where "+ ComboBox1.Text + " like '%" + TextBox1 .Text +"%'");dataGridView1.DataSource = null ;dataGridView1 .DataSource =ds2.Tables [0];其中:mydb是数据处理类的对象,gettabledata是数据处理类中的自定义方法(见实训三的2.①)。