軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----盛翔_第1頁(yè)
軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----盛翔_第2頁(yè)
軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----盛翔_第3頁(yè)
軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----盛翔_第4頁(yè)
軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----盛翔_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件體系結(jié)構(gòu)課程設(shè)計(jì)報(bào)告學(xué)院:揚(yáng)州大學(xué)廣陵學(xué)院 班級(jí):軟件81301班 學(xué)號(hào):130047121 姓名:盛翔2016年07月07日目錄1.背景32.開(kāi)發(fā)環(huán)境33.系統(tǒng)設(shè)計(jì)43.1系統(tǒng)需求分析43.2數(shù)據(jù)庫(kù)需求分析43.3系統(tǒng)可行性分析44.數(shù)據(jù)庫(kù)設(shè)計(jì)65.代碼設(shè)計(jì)65.1數(shù)據(jù)庫(kù)操作的公共類(lèi)65.2Web.config85.3登錄界面Default.aspx.cs95.4考試頁(yè)面ViewGrade.aspx.cs105.5成績(jī)顯示頁(yè)面GridView.aspx.cx126.運(yùn)行界面截圖137.經(jīng)驗(yàn)教訓(xùn)151.背景隨著社會(huì)的不斷發(fā)展,對(duì)勞動(dòng)者和技術(shù)人員的知識(shí)和能力水平的要求越來(lái)越高??荚囎鳛楹饬咳?/p>

2、的能力的重要手段之一,在現(xiàn)代生活中的地位進(jìn)一步提高,并深入到社會(huì)的各個(gè)方面。各種各樣的學(xué)歷考試、資格證書(shū)考試層出不窮。同時(shí),Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了革命性的變化,使得考試突破了時(shí)間和空間的限制。各大學(xué)校已經(jīng)開(kāi)始采用課程的上機(jī)考核方式,傳統(tǒng)的考試系統(tǒng)已經(jīng)不能滿足我們了,必須要改革,因此在線考試系統(tǒng)應(yīng)運(yùn)而生了。我們?cè)诒3衷薪^大部分功能的前提下,不僅需發(fā)完善原有功能,加入許多新的功能,使得題目管理,上機(jī)考試,試卷評(píng)分,考試分析更加方便完善。2.開(kāi)發(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)考、收集試卷、評(píng)改試卷、講評(píng)試卷和分析試卷。這是一個(gè)漫長(zhǎng)而復(fù)雜的過(guò)程,已經(jīng)越來(lái)越不適應(yīng)現(xiàn)代教學(xué)的需要?;赪eb的在線考試系統(tǒng)可以發(fā)揮網(wǎng)絡(luò)的優(yōu)勢(shì),建立大型、高效、共享的題庫(kù)和實(shí)現(xiàn)隨時(shí)隨地的考試,降低考試成本,減少人為干擾,減輕教師負(fù)擔(dān),節(jié)約人力、物力和財(cái)力。3.2數(shù)據(jù)庫(kù)需求分析針對(duì)一般考試系統(tǒng)的需求,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu): 成績(jī)表信息:學(xué)號(hào),課程名,成績(jī)題庫(kù)表信息:課程名,題號(hào),題目,類(lèi)型,分?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ù)庫(kù)系統(tǒng),通過(guò)該數(shù)據(jù)庫(kù)管理整個(gè)考試系統(tǒng)所需的信息(用戶信息、試題信息、試卷信息、考試信息等)。3.3系統(tǒng)可行性分析3.3.1要求與目標(biāo):n 系統(tǒng)的主要功能即學(xué)生管理、試卷管理、題庫(kù)管理、成績(jī) 管理等n 數(shù)據(jù)庫(kù)可并發(fā)訪問(wèn)并具有較大的吞吐量n 用戶必須有登陸密碼,具有較好的安全保密性n 系統(tǒng)界面具有一定的人性化和美觀.n 開(kāi)發(fā)成員各盡其責(zé),有良好的合作精神n 分享開(kāi)發(fā)環(huán)境軟件及項(xiàng)目相關(guān)資料,節(jié)省項(xiàng)目成本并提高開(kāi)發(fā)效率3.3.2可行性研究方法在學(xué)生和老師里使用問(wèn)卷調(diào)查方法,完善可行性方案。確定軟件的運(yùn)行平臺(tái):win98win7xpwin2000等。在運(yùn)行時(shí)可以直觀的瀏覽、查詢和掌握學(xué)生

5、的考試情況和成績(jī)信息,解決了傳統(tǒng)考試中的弊端:工作量大、錯(cuò)誤率高等。3.3.3決定可行性的主要因素資金充足、技術(shù)能力強(qiáng)、開(kāi)發(fā)人員的恒心和決心、合作精神3.3.4技術(shù)可行性軟件方面,網(wǎng)絡(luò)化考試需要的各種軟件環(huán)境都已具備,數(shù)據(jù)庫(kù)服務(wù)器方面則有SQL Server,均能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并提供許多高級(jí)管理功能。其靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條件。因此,系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越低,其硬件平臺(tái)完全能滿足此系統(tǒng)的需要。3.3.5經(jīng)濟(jì)可行性資金的流出,將來(lái)可以用帶來(lái)的效益來(lái)

6、平衡。4.數(shù)據(jù)庫(kù)設(shè)計(jì)成績(jī)表題庫(kù)表學(xué)生表5.代碼設(shè)計(jì)5.1數(shù)據(jù)庫(kù)操作的公共類(lèi)類(lèi)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 題庫(kù)"); 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('登錄失敗,請(qǐng)檢查學(xué)號(hào)和密碼是否正確!')</script>"); return; else stuName = dr"姓名".ToString(); sql = String.Format("select count(*) from 成績(jī) 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)參加過(guò)這門(mén)課的考試!')</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考試頁(yè)面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 題庫(kù)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"類(lèi)型".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 題庫(kù)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 成績(jī)(學(xué)號(hào),課程名,成績(jī)) values ('0','1','2')",lblNo.Tex

23、t,lblLesson.Text,sum.ToString(); DBHelper.ExecSql(sql); Response.Redirect("viewGrade.aspx"); 5.5成績(jī)顯示頁(yè)面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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論