软件标准体系结构专业课程设计方案报告.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 标准 体系结构 专业课程 设计方案 报告
- 资源描述:
-
软件体系结构课程设计汇报 学院:扬州大学广陵学院 班级:软件81301班 学号: 姓名:顾秀坚 07月07日 目录 1.背景 3 2.开发环境 3 3.系统设计 4 3.1系统需求分析 4 3.2数据库需求分析 4 3.3系统可行性分析 4 4.数据库设计 6 5.代码设计 6 5.1数据库操作公共类 6 5.2Web.config 8 5.3登录界面Default.aspx.cs 9 5.4考试页面ViewGrade.aspx.cs 10 5.5成绩显示页面GridView.aspx.cx 12 6.运行界面截图 13 7.经验教训 15 1.背景 伴随社会不停发展,对劳动者和技术人员知识和能力水平要求越来越高。考试作为衡量人能力关键手段之一,在现代生活中地位深入提升,并深入到社会各个方面。多种多样学历考试、资格证书考试层出不穷。同时,Internet技术发展使得考试技术手段和载体发生了革命性改变,使得考试突破了时间和空间限制。 各大学校已经开始采取课程上机考评方法,传统考试系统已经不能满足我们了,必需要改革,所以在线考试系统应运而生了。我们在保持原有绝大部分功效前提下,不仅需发完善原有功效,加入很多新功效,使得题目管理,上机考试,试卷评分,考试分析愈加方便完善。 2.开发环境 硬件环境:PC机一台,台式电脑 软件环境:Microsoft visual studio ,Microsoft SQL Server 3.系统设计 3.1系统需求分析 传统考试要求老师刻试卷、印试卷、安排考试、监考、搜集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂过程,已经越来越不适应该代教学需要。基于Web在线考试系统能够发挥网络优势,建立大型、高效、共享题库和实现随时随地考试,降低考试成本,降低人为干扰,减轻老师负担,节省人力、物力和财力。 3.2数据库需求分析 针对通常考试系统需求,设计以下所表示数据项和数据结构: 成绩表信息:学号,课程名,成绩 题库表信息:课程名,题号,题目,类型,分数,选项1,选项 2,选项3,选项4,解答 学生表信息:学号,姓名,密码 本系统应该建立一个稳定后台数据库系统,经过该数据库管理整个考试系统所需信息(用户信息、试题信息、试卷信息、考试信息等)。 3.3系统可行性分析 3.3.1要求和目标: n 系统关键功效即学生管理、试卷管理、题库管理、成绩 管理等 n 数据库可并发访问并含有较大吞吐量 n 用户必需有登陆密码,含有很好安全保密性 n 系统界面含有一定人性化和美观. n 开发组员各尽其责,有良好合作精神 n 分享开发环境软件及项目相关资料,节省项目成本并提升开发效率 3.3.2可行性研究方法 在学生和老师里使用问卷调查方法,完善可行性方案。确定软件运行平台:win98\win7\xp\win等。在运行时能够直观浏览、查询和掌握学生考试情况和成绩信息,处理了传统考试中弊端:工作量大、错误率高等。 3.3.3决定可行性关键原因 资金充足、技术能力强、开发人员恒心和决心、合作精神 3.3.4技术可行性 软件方面,网络化考试需要多种软件环境全部已含有,数据库服务器方面则有SQL Server,均能够处理大量数据,同时保持数据完整性并提供很多高级管理功效。其灵活性、安全性和易用性为数据库编程提供了良好条件。所以,系统软件开发平台已成熟可行。 硬件方面,科技飞速发展今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统需要。 3.3.5经济可行性 资金流出,未来能够用带来效益来平衡。 4.数据库设计 成绩表 题库表 学生表 5.代码设计 5.1数据库操作公共类 类DBHelper.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Data.SqlClient; public class DBHelper { public DBHelper() { } public static DataSet GetDataSet(string sql) { SqlConnection conn = new SqlConnection(GetConnStr()); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds); return ds; } public static SqlDataReader GetReader(string sql) { SqlDataReader dr = null; SqlConnection conn = new SqlConnection(GetConnStr()); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); try { dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch { conn.Close(); } return dr; } public static int ExecScalar(string sql) { int ret; SqlConnection conn = new SqlConnection(GetConnStr()); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); try { ret = (int)cmd.ExecuteScalar(); } finally { conn.Close(); } return ret; } public static int ExecSql(string sql) { int ret; SqlConnection conn = new SqlConnection(GetConnStr()); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); try { ret = cmd.ExecuteNonQuery(); } finally { conn.Close(); } return ret; } public static String GetConnStr() { return System.Configuration.ConfigurationSettings.AppSettings["DB"]; } } 5.2Web.config <configuration> <system.web> <compilation debug="true" targetFramework="4.0"/> </system.web> <appSettings> <add key ="DB" value="server=(local);uid=sa;pwd=123456;database=demo"/> </appSettings> </configuration> 5.3登录界面Default.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { lstLesson.DataSource = DBHelper.GetDataSet("select distinct 课程名 from 题库"); lstLesson.DataTextField = "课程名"; lstLesson.DataBind(); } } protected void LinkButton1_Click(object sender, EventArgs e) { } protected void InkEnter_Click(object sender, EventArgs e) { string sql, stuName, stuNo, lesson; stuNo = txtNo.Text.Trim(); lesson = lstLesson.SelectedValue; sql = String.Format("select * from 学生where 学号 ='{0}' and 密码='{1}'", stuNo, txtPwd.Text.Trim()); SqlDataReader dr = DBHelper.GetReader(sql); if (!dr.Read()) { Response.Write("<script>alert('登录失败,请检验学号和密码是否正确!')</script>"); return; } else { stuName = dr["姓名"].ToString(); } sql = String.Format("select count(*) from 成绩 where 学号 = '{0}' and 课程名='{1}'", stuNo, lesson); int ret = DBHelper.ExecScalar(sql); if (ret > 0) { Response.Write("<script>alert('你已经参与过这门课考试!')</script>"); return; } Session["stuNo"] = stuNo; Session["stuName"] = stuName; Session["lesson"] = lesson; Response.Redirect("exam.aspx"); } protected void lstLesson_SelectedIndexChanged(object sender, EventArgs e) { } } 5.4考试页面ViewGrade.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class Exam : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["stuNo"] == null || Session["stuNo"].ToString() == "") { Response.Redirect("Default.aspx"); } lblLesson.Text = Session["lesson"].ToString(); lblName.Text = Session["stuName"].ToString(); lblNo.Text = Session["stuNo"].ToString(); SqlDataReader dr = DBHelper.GetReader("select * from 题库a where 课程名 = '" + lblLesson.Text + "'Order By 题号’"); int num = 1; while(dr.Read()) { Literal Literal1 = new Literal(); Literal1.Text = num.ToString() + "." + dr["题目"].ToString() + "(" + dr["分数"].ToString() + "分)<br>"; PlaceHolder1.Controls.Add(Literal1); ListControl list; if (dr["类型"].ToString() == "单选") { list = new RadioButtonList(); } else { list = new CheckBoxList(); } list.Items.Add(Server.HtmlEncode(dr["选项1"].ToString())); list.Items.Add(Server.HtmlEncode(dr["选项2"].ToString())); list.Items.Add(Server.HtmlEncode(dr["选项3"].ToString())); list.Items.Add(Server.HtmlEncode(dr["选项4"].ToString())); PlaceHolder1.Controls.Add(list); num = num + 1; } dr.Close(); } protected void btnSubmit_Click(object sender, EventArgs e) { string sql, answer; SqlDataReader dr = DBHelper.GetReader("select * from 题库where 课程名 ='" + lblLesson.Text + "'Order By 题号’"); int j = 0; int sum = 0; while (dr.Read()) { ListControl list = (ListControl)PlaceHolder1.Controls[2*j+1]; answer = ""; for (int i = 0; i < list.Items.Count; i++) { if (list.Items[i].Selected) answer+=(i+1).ToString(); } if (answer == dr["解答"].ToString()) sum = sum + Convert.ToInt32(dr["分数"].ToString()); j=j+1; } sql=String.Format("insert into 成绩(学号,课程名,成绩) values ('{0}','{1}','{2}')",lblNo.Text,lblLesson.Text,sum.ToString()); DBHelper.ExecSql(sql); Response.Redirect("viewGrade.aspx"); } } 5.5成绩显示页面GridView.aspx.cx using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class viewGrade : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { if(Session["stuNo"]==null || Session["stuNo"].ToString()=="") { Response.Redirect("Default.aspx"); } lblName.Text="姓名:" + Session["stuName"].ToString(); lblNo.Text="学号:"+ Session["stuNo"].ToString(); dg.DataSource=DBHelper.GetDataSet("select 课程名,成绩 from 成绩 where 学号= '"+ Session["stuNo"].ToString()+"'"); dg.DataBind(); } } protected void dg_SelectedIndexChanged(object sender, EventArgs e) { } } 6.运行界面截图 登录界面截图 考试页面截图 成绩显示页面截图 7.经验教训 在做这个课程设计之前,我认为这个过程并不会很复杂,因为只是做一个简单学生考试系统。做了以后才发觉其实一个系统分析和设计还是一件比较繁琐复杂工作,要设计出符合要求系统,必需要反复讨论、设计来不停完善系统。我们做是在线考试系统分析和设计,先是总结了一下我们学校在线考试系统情况,然后又上网搜集了部分材料,才形成了现在模型。在这段时间里,才发觉要做出一个简单系统也是需要很长时间,因为你会碰到多种多样问题,甚至有些问题不是简单代码犯错,比如是部分变量类型不正确也会造成系统运行犯错,而且这些问题是极难去发觉。所以在开发过程中我们必需要有严谨思维和认真态度去完成它。 经过这次课程设计,也让我讲书本上知识和实际相联络起来,让理论上系统分析设计不那么抽象,可能对考试也有一定帮助。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




软件标准体系结构专业课程设计方案报告.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4510192.html