分享
分销 收藏 举报 申诉 / 25
播放页_导航下方通栏广告

类型软件体系结构课程设计报告样本.doc

  • 上传人:二***
  • 文档编号:4510230
  • 上传时间:2024-09-26
  • 格式:DOC
  • 页数:25
  • 大小:240.53KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如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。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:软件体系结构课程设计报告样本.doc
    链接地址:https://www.zixin.com.cn/doc/4510230.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork