版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告學(xué)院:揚(yáng)州大學(xué)廣陵學(xué)院 班級:軟件81301班 學(xué)號(hào):130047121 姓名:盛翔2016年07月07日目錄1.背景32.開發(fā)環(huán)境33.系統(tǒng)設(shè)計(jì)43.1系統(tǒng)需求分析43.2數(shù)據(jù)庫需求分析43.3系統(tǒng)可行性分析44.數(shù)據(jù)庫設(shè)計(jì)65.代碼設(shè)計(jì)65.1數(shù)據(jù)庫操作的公共類65.2Web.config85.3登錄界面Default.aspx.cs95.4考試頁面ViewGrade.aspx.cs105.5成績顯示頁面GridView.aspx.cx126.運(yùn)行界面截圖137.經(jīng)驗(yàn)教訓(xùn)151.背景隨著社會(huì)的不斷發(fā)展,對勞動(dòng)者和技術(shù)人員的知識(shí)和能力水平的要求越來越高。考試作為衡量人
2、的能力的重要手段之一,在現(xiàn)代生活中的地位進(jìn)一步提高,并深入到社會(huì)的各個(gè)方面。各種各樣的學(xué)歷考試、資格證書考試層出不窮。同時(shí),Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,使得考試突破了時(shí)間和空間的限制。各大學(xué)校已經(jīng)開始采用課程的上機(jī)考核方式,傳統(tǒng)的考試系統(tǒng)已經(jīng)不能滿足我們了,必須要改革,因此在線考試系統(tǒng)應(yīng)運(yùn)而生了。我們在保持原有絕大部分功能的前提下,不僅需發(fā)完善原有功能,加入許多新的功能,使得題目管理,上機(jī)考試,試卷評分,考試分析更加方便完善。2.開發(fā)環(huán)境硬件環(huán)境:PC機(jī)一臺(tái),臺(tái)式電腦軟件環(huán)境:Microsoft visual studio 2010,Microsoft
3、 SQL Server 20083.系統(tǒng)設(shè)計(jì)3.1系統(tǒng)需求分析傳統(tǒng)考試要求老師刻試卷、印試卷、安排考試、監(jiān)考、收集試卷、評改試卷、講評試卷和分析試卷。這是一個(gè)漫長而復(fù)雜的過程,已經(jīng)越來越不適應(yīng)現(xiàn)代教學(xué)的需要?;赪eb的在線考試系統(tǒng)可以發(fā)揮網(wǎng)絡(luò)的優(yōu)勢,建立大型、高效、共享的題庫和實(shí)現(xiàn)隨時(shí)隨地的考試,降低考試成本,減少人為干擾,減輕教師負(fù)擔(dān),節(jié)約人力、物力和財(cái)力。3.2數(shù)據(jù)庫需求分析針對一般考試系統(tǒng)的需求,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 成績表信息:學(xué)號(hào),課程名,成績題庫表信息:課程名,題號(hào),題目,類型,分?jǐn)?shù),選項(xiàng)1,選項(xiàng) 2,選項(xiàng)3,選項(xiàng)4,解答 學(xué)生表信息:學(xué)號(hào),姓名,密碼本系統(tǒng)應(yīng)該建立一
4、個(gè)穩(wěn)定的后臺(tái)數(shù)據(jù)庫系統(tǒng),通過該數(shù)據(jù)庫管理整個(gè)考試系統(tǒng)所需的信息(用戶信息、試題信息、試卷信息、考試信息等)。3.3系統(tǒng)可行性分析3.3.1要求與目標(biāo):n 系統(tǒng)的主要功能即學(xué)生管理、試卷管理、題庫管理、成績 管理等n 數(shù)據(jù)庫可并發(fā)訪問并具有較大的吞吐量n 用戶必須有登陸密碼,具有較好的安全保密性n 系統(tǒng)界面具有一定的人性化和美觀.n 開發(fā)成員各盡其責(zé),有良好的合作精神n 分享開發(fā)環(huán)境軟件及項(xiàng)目相關(guān)資料,節(jié)省項(xiàng)目成本并提高開發(fā)效率3.3.2可行性研究方法在學(xué)生和老師里使用問卷調(diào)查方法,完善可行性方案。確定軟件的運(yùn)行平臺(tái):win98win7xpwin2000等。在運(yùn)行時(shí)可以直觀的瀏覽、查詢和掌握學(xué)生
5、的考試情況和成績信息,解決了傳統(tǒng)考試中的弊端:工作量大、錯(cuò)誤率高等。3.3.3決定可行性的主要因素資金充足、技術(shù)能力強(qiáng)、開發(fā)人員的恒心和決心、合作精神3.3.4技術(shù)可行性軟件方面,網(wǎng)絡(luò)化考試需要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫服務(wù)器方面則有SQL Server,均能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。其靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價(jià)格越來越低,其硬件平臺(tái)完全能滿足此系統(tǒng)的需要。3.3.5經(jīng)濟(jì)可行性資金的流出,將來可以用帶來的效益來
6、平衡。4.數(shù)據(jù)庫設(shè)計(jì)成績表題庫表學(xué)生表5.代碼設(shè)計(jì)5.1數(shù)據(jù)庫操作的公共類類DBHelper.csusing 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
7、(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(
8、); 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 c
9、onn.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.Con
10、figuration.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;da
11、tabase=demo"/> </appSettings> </configuration>5.3登錄界面Default.aspx.csusing 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
12、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 InkEn
13、ter_Click(object sender, EventArgs e) string sql, stuName, stuNo, lesson; stuNo = txtNo.Text.Trim(); lesson = lstLesson.SelectedValue; sql = String.Format("select * from 學(xué)生where 學(xué)號(hào) ='0' and 密碼='1'", stuNo, txtPwd.Text.Trim(); SqlDataReader dr = DBHelper.GetReader(sql); if (
14、!dr.Read() Response.Write("<script>alert('登錄失敗,請檢查學(xué)號(hào)和密碼是否正確!')</script>"); return; else stuName = dr"姓名".ToString(); sql = String.Format("select count(*) from 成績 where 學(xué)號(hào) = '0' and 課程名='1'", stuNo, lesson); int ret = DBHelper.ExecScal
15、ar(sql); if (ret > 0) Response.Write("<script>alert('你已經(jīng)參加過這門課的考試!')</script>"); return; Session"stuNo" = stuNo; Session"stuName" = stuName; Session"lesson" = lesson; Response.Redirect("exam.aspx"); protected void lstLesson_Sel
16、ectedIndexChanged(object sender, EventArgs e) 5.4考試頁面ViewGrade.aspx.csusing 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_Lo
17、ad(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"
18、;stuNo".ToString(); SqlDataReader dr = DBHelper.GetReader("select * from 題庫a where 課程名 = '" + lblLesson.Text + "'Order By 題號(hào)"); int num = 1; while(dr.Read() Literal Literal1 = new Literal(); Literal1.Text = num.ToString() + "." + dr"題目".ToString()
19、 + "(" + dr"分?jǐn)?shù)".ToString() + "分)<br>" PlaceHolder1.Controls.Add(Literal1); ListControl list; if (dr"類型".ToString() = "單選") list = new RadioButtonList(); else list = new CheckBoxList(); list.Items.Add(Server.HtmlEncode(dr"選項(xiàng)1".ToString
20、(); list.Items.Add(Server.HtmlEncode(dr"選項(xiàng)2".ToString(); list.Items.Add(Server.HtmlEncode(dr"選項(xiàng)3".ToString(); list.Items.Add(Server.HtmlEncode(dr"選項(xiàng)4".ToString(); PlaceHolder1.Controls.Add(list); num = num + 1; dr.Close(); protected void btnSubmit_Click(object sender, E
21、ventArgs e) string sql, answer; SqlDataReader dr = DBHelper.GetReader("select * from 題庫where 課程名 ='" + lblLesson.Text + "'Order By 題號(hào)"); int j = 0; int sum = 0; while (dr.Read() ListControl list = (ListControl)PlaceHolder1.Controls2*j+1; answer = "" for (int i =
22、 0; i < list.Items.Count; i+) if (list.Itemsi.Selected) answer+=(i+1).ToString(); if (answer = dr"解答".ToString() sum = sum + Convert.ToInt32(dr"分?jǐn)?shù)".ToString(); j=j+1; sql=String.Format("insert into 成績(學(xué)號(hào),課程名,成績) values ('0','1','2')",lblNo.Tex
23、t,lblLesson.Text,sum.ToString(); DBHelper.ExecSql(sql); Response.Redirect("viewGrade.aspx"); 5.5成績顯示頁面GridView.aspx.cxusing 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(Sess
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 德克士加盟合同范例
- 月餅加工承攬合同范例
- 廚房用品合同范例
- 毛巾外包合同范例
- 房產(chǎn)合同范例
- 拼船貨船租賃合同范例
- 掛車銷售合同范例
- 投資酒廠合同范例
- 手機(jī)贈(zèng)與合同范例
- 拆遷鋪面買賣合同范例
- LSS-250B 純水冷卻器說明書
- 中藥分類大全
- 防止返貧監(jiān)測工作開展情況總結(jié)范文
- 精文減會(huì)經(jīng)驗(yàn)交流材料
- 2015年度設(shè)備預(yù)防性維護(hù)計(jì)劃表
- 淺談離子交換樹脂在精制糖行業(yè)中的應(yīng)用
- 設(shè)備研發(fā)項(xiàng)目進(jìn)度表
- 管道定額價(jià)目表
- 新時(shí)期如何做好檔案管理課件
- 復(fù)興號(hào)動(dòng)車組空調(diào)系統(tǒng)設(shè)計(jì)優(yōu)化及應(yīng)用
- 礦山壓力與巖層控制課程設(shè)計(jì).doc
評論
0/150
提交評論