壹.開發目的:
總結軟件開發過程中的方法和技巧,更好的應用和數據庫技術
1.開發內容:開發壹套學生成績管理系統軟件
采取的研究方法:采用面向對象的編程,結合網絡和數據庫技術,實現控制和管理。通過系統分析、需求分析、概要設計、詳細設計、編寫代碼、軟件測試、軟件維護、經驗方法總結等壹系列實驗方案,實驗軟件的開發。
2.具體開發方案:
分七個階段進行:
系統分析、需求收集和分析
概念設計
第壹階段:系統分析、需求收集和分析
這壹階段首先進行系統分析,分析確定系統的規模和範圍,確定軟件的總體要求以及所需要的硬件和支撐軟件,確定待開發軟件與外界的接口,根據用戶的情況確定軟件對操作的要求,以及待開發軟件總體上的約束和限制,完善項目計劃。
在這之後,這壹階段的大部分時間將被用來進行需求收集和分析。向學校管理人員及學生了解情況,確定軟件系統的綜合要求,分析軟件系統的數據要求,導出系統的邏輯模型,修正項目開發計劃。
采用結構化分析方法,生成數據流圖、數據詞典及加工邏輯說明。
估計階段跨度:2006年某月初至某月中旬
第二階段:概要設計
在這壹階段將確定軟件系統的結構,對全局數據結構進行設計,進行模塊劃分,確定每個模塊的功能 接口以及模塊間的調用關系。
采用與結構化方法銜接的結構化設計方法,生成結構圖及概念設計說明書。
估計階段跨度:2006年某月中旬至某月底
第三階段:詳細設計
為每個模塊設計實現的細節將成為這個階段的主要任務,還要對局部數據結構進行設計。
采用結構化設計方法。采用自頂向下逐步求精的設計方法和單入口單出口的控制結構。使得程序具有良好的結構,增強程序的可讀性。生成程序流程圖及詳細設計說明書。
詳細設計時,如果不滿意,須回到概要設計中重新完善設計。
估計階段跨度:2006年某月初至某月中旬
第四階段:編寫代碼
這壹階段用來根據詳細設計說明書編寫代碼。
采用計算機語言編寫。追求高質量的代碼,生成源程序代碼、內部文檔。
估計階段跨度:2006年某月中旬至某月底
第五階段:軟件測試
這將是壹個很重要也將是壹個很耗時間和精力的階段。
在這壹階段中將盡可能多地發現軟件中的錯誤和缺陷。如果有錯,還將退回到編碼階段進行調試。測試過程分為單元測試、集成測試和確認測試。
估計階段跨度:2006年某月初至某月中旬
第六階段:完善各項文檔及和報告,從整個開發過程和這些文檔中總結經驗和教訓,羅列各種方法和技巧。
估計階段跨度:2007年某月中旬至某月底。
需求分析說明書
壹,引言
21世紀以高科技為核心的知識經濟將占主導地位,國家的綜合國力和國際競爭力將越來越取決於科學技術創新水平。教育作為知識創新、傳播和應用的基礎,培養和輸送人才的搖籃,已經成為經濟發展和社會進步的基礎。盡管人類進步的程度隨著不同時代,不同地區而有所變化,教育的口徑卻在不斷擴寬,以便使過去僅供少數人使用的教育資源能夠為更多各種年齡、不同社會階層和背景的人們所用。在信息爆炸的時代,傳統教學管理面臨著諸多挑戰。
1.編寫目的:
開發基於互聯網的學生選課系統,提高管理工作的效率、提高信息的開放性、改善學生和教師對其最新信息查詢的準確性。
2.背景說明
隨著學校規模的不斷擴大,專業、班級、學生的數量急劇增加,有關學生選課的各種信息量也成倍增長,而目前許多高校的學生選課管理仍停留在復雜的人工操作上,重復工作較多,工作量大,效率低,因此,迫切需要開發基於互聯網的體育課信息管理系統來提高管理工作的效率。基於互聯網的學生選課管理系統,在學生選課的規範管理、科學統計和快速查詢方面具有較大的實用意義。它提高了信息的開放性,大大地改善了學生、教師對其最新信息查詢的準確性。
3.術語定義及參考資料
1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用戶指南》,機械工業出版社,2001年8月
2.Microsoft,MSDN
3.Microsoft, SQL Server2000聯機手冊
4.Roger S. Pressman。軟件工程——實踐者的研究方法。機械工業出版社,1997
5.IPL。Software Testing and Software Development Lifecycles。IPL,1996
6.Karl E. Wiegers《軟件需求》機械工業出版社,1999
7.張海藩《軟件工程導論》清華大學出版社。
4任務概述
4.1. 目標
系統開發的總體任務是實現學生選課信息關系的系統化、規範化和自動化。
4.2. 系統技術
學生選課系統要求具有信息處理的開發性,方便教師上傳學生成績、學生上網選課和查詢選課信息及成績等,因此本系統設計為基於WWW的網絡數據庫應用系統,使用ASP腳本以Access為數據庫的開發技術,運行在支持ASP的服務器上。
4.3基本設計概念和處理流程
采用基於SQL Server 的分布式數據庫管理系統。三層結構是目前用得最多的,這種結構比傳統的C/S結構增加了壹個應用程序服務器,應用程序服務器包括了統壹的界面、業務規則和數據處理邏輯等等,這樣客戶端程序就可以做得比較小,也就是常說的瘦客戶,更由於業務規則和數據處理邏輯的集中在服務器上統壹管理,客戶端無須進行復雜的計算,也不會因為錯誤的操作而影響到其他的用戶,所以他的可靠性、穩定性和效率都比較好。
4.4. 用戶的特點
為保證系統安全高效的運行,本系統把用戶劃分為3類:教務處、教師和學生。不同的用戶在系統中的作用和權限也有所不同,所以它所需要完成的功能也就不同。
教務處可以完成本系統所有的功能:
1) 學生信息管理,除學生基本信息外,還可管理學生所選課程、成績等;
2) 教師信息管理,包括教師個人的基本情況和任課情況;
3) 項目及班數的設定:根據學校教務處所排課進行班級數及人數的統計,然後根據統計結果進行項目及班數的設定;
4) 排課:根據上壹步分班情況安排任課教師;
5) 報表生成及輸出:生成教師擔任課程分班表、按項目生成學生成績表、按學生行政班生成成績表及所有報表的輸出。
教師在本系統的功能:查詢學生選課情況、自己任課情況、獲取自己所擔任課程分班表、錄入及修改成績等。
學生在本系統的功能:查詢本人信息、教師任課信息、選課、選課信息查詢、成績查詢。
5.需求規定
5.1. 對功能的規定
1.可實現學生選課註冊
2.方便實現學生選課信息查詢
3.可對學生成績檔案進行管理,成績表單生成簡便。
4.安全有效的用戶區分,管理
5.檔案數據的高安全性,保密性
6.有幫助文檔
5.2. 對性能的規定
使用穩定,操作性能好,操作方法易於掌握,系統的安全性強
6. 設計思想
用戶的需求具體表現在對各種信息的提供、編輯、處理及查詢統計上。這就要求數據庫結構能充分滿足各種信息的輸入、處理和輸出。通過分析學生選課管理系統的現實需求,學生選課管理系統各環節的基本數據及數據處理流程,在與管理人員溝通、交流與探討的基礎上,得到以下學生選課系統的數據流程圖
6.1. 數據庫的設計
通過對學生選課管理系統工作內容和相關數據流程分析,根據學生選課管理系統的需要,就可以設計出能滿足用戶需求的各種實體,以及它們之間的關系,由此得到數據庫所支持的數據模型,即數據庫的邏輯結構,具體情況如下:
1.學生信息表:開學時將教務處提供的學生信息庫按系統的要求修改庫結構並導入Access數據庫中,應包括如下信息:姓名、學號、院系、班級、性別、所選課程、任課教師、備註等。
2.教師信息表:包括教師姓名、教師代碼、性別、年齡、職稱、主要教授課程、兼任課程等。
3.課程信息:包括課程目錄、課程、課程代碼、教學內容、任務與目的、考試方法、要求等。
4.課程表:包括課程名稱、課程編號、任課教師、課程學分、上課時間。
5.成績單列表:包括學生姓名、學號、院系、班級、課程、任課教師、成績。
6.2. 系統功能特點
1.內容全面 系統全面覆蓋了體育課信息,可為學校、教師和學生提供全面準確的信息。
2.層次分明 系統采用模塊化程序設計結構。各模塊之間既相互獨立,又具有壹定的聯系,各模塊可獨立編制、調試、查錯、修改和執行,結構嚴謹,便於擴展和維護。
7.系統需求分析
說明:
學校每年新生入學,畢業生離校和各種其它變動,如學籍變動,個人信息修改。每學期學校者要開設壹定的課程提供給學生根據自己的情況來選擇,最後的選擇結果要給出學生的課程表。如何有效的管理這些學生信息,幫助學校和老師管理和掌握這些情況,這就是學生信息管理系統需要完成的任務。下面用軟件工程的思想和方法完成該系統的設計過程。
功能:
個人信息查詢和修改,包括流動,註冊,更新管理
可行性研究報告
1. 編寫目的
編寫這份可行性研究報告的目的是讓讀者能夠了解本系統的開發可行性。預期的讀者包括上級領導,相關開發人員以及管理人員。
壹.可行性研究的前提
隨著科學技術的進步和社會經濟的發展,計算機在現實生活中扮演越來越重要的角色,PC機價格不斷的下降和生活水平的提高使得更多的中國家庭能夠擁有自己的改變世界的機器,與此同時,我們也已經註意到,在大學校園裏,越來越多的計算機已經進入同學們的宿舍,成為他們學習,生活中的壹部分。
學生成績管理方面,進入了信息化時代,我們有能力讓我們的生活變的更好,對於學生成績管理人員每日繁重的工作可以通過計算機來進行緩解,以實現管理自動化,工作人員對資料的管理,信息的發布,用電安全的控制均是人工作業,運作效率較低。因此,建立壹個自動化的管理服務的計算機應用軟件是十分必要的
1.1 要求
C++.net,傳感器,SQL.
1.2 目標
能夠快速的查詢出學生的各科成績以及所在班級等各種用途。
1.3 進行可行性研究的方法
對學生和校領導采用問卷調查的方法,詢問他們,以確定最佳的可行性研究方案。軟件采用現代流行WINDOWS操作界面。是標準的WIN32應用程序,可運行在WIN95\WIN98\WinMe\WIN2000\WINXP\WINNT等系統平臺上的多任務應用程序。在運行時可以直觀的瀏覽、查詢和掌握學生的成績,同時能夠了解學生的基本信息所在系部、班級、宿舍的具體地址。結束了人工統計的耗時長、工作量大、錯誤率高的缺點。
1.4 評價尺度
1. 是否功能齊全,運行穩定。2.在網絡功能方面是否方便管理。3.設置是否靈活開4.是否具有多任務,高效率的特點。5.是否具有界面友好,操作簡單的特點。
2 處理流程和數據流程
2. 所建議的系統
2.1 對所建議系統的說明
我們所建議的系統為學生成績管理系統。它是為了提高學生成績管理的自動化程度而開發的。它可以解決壹下問題:改變學生成績輸入的麻煩以及查詢工作量大的問題還有輸出的不便。
3.影響
3.1 對設備的影響
由於以前無自動化管理的方案,所以所有設備都需要購買。
3.2.對軟件的影響
由於以前無自動化管理的方案,所以不需要考慮對現存應用軟件合支持軟件的影像。
3.3.對用戶單位機構的影響
為了建立和運行所建議系統,需要提高管理人員的技術水平。
3.4.對系統運行過程的影響
所建議系統沒有影響運行過程。
3.5.對開發的影響
所建議系統對軟件開發人員要求不高,但是對硬件要求比較高。
3.6.對地點和設施的影響
所建議系統對建築物無改造,可以利用原有的通信線路。
3.7 技術條件方面的可能性
本軟件有計算機系的學生開發,調試,由計算機系老師知道。可完成性很高。
4. 可選擇的其他系統方案
由於此系統方案是學生開發,而且資金有限所以暫時無其他系統方案。
5. 投資及效益分析
5.1 支出分析:
5.2 收益分析:
5.3 收益/投資比
5.4 投資回收周期
5.5 敏感性分析
6. 社會因素方面的可能性
所有軟件都選用正版。
所有技術資料都由提出方保管。
合同制定確定違約責任。
7.用戶使用可行性
由於學校的老師都有壹定的計算機基礎,不用培訓就可以使用,所以用戶使用可行性通過。
8. 結論
通過上述分析可以知道這個軟件操作簡單、功能齊全、功能開放、運行穩定、多任務、高效率等特點。所以說是計算機與學生成績管理上的好軟件!
設計說明書
壹.概要設計說明書
1.系統功能設計
2.數據庫概念設計
根據以上數據流圖導出數據庫所需數據項和數據結構
學生:學號,姓名,性別,生日,所在院系,所在班級:
課程:課程號,課程名,講師,上課時間,地點,課程簡介
選課結果:記錄號,選課學生,所選課程
學籍變更記錄:記錄號,變更情況,記錄時間,詳細描述
2.1數據庫概念結構設計的E-R 圖
說明:E-R圖中矩形代表實體,菱形代表實體間的聯系,圓角矩形代表實體的屬性
2.2數據庫邏輯結構設計
根據以上E-R圖,需要五個基本表:學生信息表、課程信息表、選課結果表、獎懲信息表、其中教師信息是處部表,不列出,由於使用打開系統的不光是教務人員,每個學生都要登錄到選課系統進行課程的選擇,因此,需要對不同的登錄人員進行密碼的認證和權限的限制,防止越權行為,用戶名,密碼,權限,保存在壹個表中。
1. USER-PASS用戶密碼信息表字典
字段名
數據類型
是否可空
說明
ID
CHAR
NOT NULL
用戶名(主鍵)
PASSWORD
CHAR
NOT NULL
密碼
AUTHORITY
CHAR
NOT NULL
權限
2. COURSE課程信息表數據字典
字段名
數據類型
是否可空
說明
ID
CHAR
NOT NULL
課程號(主鍵)
NAME
VARCHAR
NULL
課程名
TEACHER
VARCHAR
NILL
講師
CLASTIME
VARCHAR
NULL
上課時間
CLASSROM
CHAR
NULL
上課地點
INTRO
VARCHAR
NULL
簡介
3. COURSE-SELECT選課結果表數據字典
字段名
數據類型
是否可空
說明
ID
SMALL INT
NOT NILL
記錄號(主鍵)
COURSE
CHAR
NULL
課程名
STUDENT
CHAR
NULL
選課學生(外部關鍵
4. STUDENT學生個人信息表數據字典
字段名
數據類型
是否可空
說明
ID
SMALL INT
NOT NULL
學號(主鍵)
NAME
VARCHAR
NOT NULL
姓名
SEX
CHAR
NOTNULL
性別
CLASS
CHAR
NULL
班級
DEPARTMENT
CHAR
NULL
院系
BIRTHDAY
VARCHAR
NULL
生日
5. 獎懲記錄信息表
字段名
數據類型
是否可空
說明
ID
SMLL INT
NOT NULL
記錄號(主鍵)
STUDENT
CHAR
NOT NULL
學號(外部鍵)
LEVEL
CHAR
NULL
獎懲代碼
TIME
DATA
NULL
時間
DESCRIPTION
VARCHAR
NULL
描述
二主要模塊詳細設計說明書
1用戶身份認證模塊
功能:按用戶輸入的用戶名和密碼是否合法
合法則進入應用程序
非法則顯示出錯信息
界面:由總控模塊調用
模塊說明細化為詳細邏輯IPO圖
用戶身份認證模塊
輸入 處理 輸出
連接數據庫表 連接數據庫錯誤中斷程序
捕捉錯誤
用戶名 獲取用戶名
用戶密碼 獲取用戶密碼
讀USER-PAS
判斷用戶名是否存在
判斷密碼是否存在 提示信息
捕捉異常
判斷用戶權限是合法
隱藏登錄窗口
顯示主窗體
文件
USER-PASS表
2.選課模塊
功能:接受學生選課信息
刷新學生課程表
界面:調用添加、刪除模塊,打印課表模塊
將模塊說明細化為詳細邏輯
選課處理IPO圖
輸入 處理 輸出
課程編號 為課程號過濾 輸入課程編號異常提示
接受課程號
打開課程信息表
判斷是添加或是刪除
添加
檢索課程表讀該記錄
若該記錄存在
顯示所選課程詳細信息 執行添加語句
調用添加模塊
將選課結果刷新
刪除 執行刪除語句
調用刪除模塊
將穩定課結果刷新
提交 課表:課程編號,課程名
調用打印課表模塊文件
課程信息表
選課結果表
3. 課程申請模塊
功能:接受輸入的新添課程信息
將新課程信息存入課程信息表
刪除舊課程
界面:調用已開課程信息表
調用申請修改程序
將模塊細化為詳細邏輯IPO圖
課程管理模塊
輸入 處理 輸出
課程編號 添加新課程
獲取當前教師所選課程
打開已開課程表
查詢是否存在該記錄
若無該記錄則是新課程
調用添加模塊
提取課程編號
提取課程名稱
提取課程簡介
提交
若有該記錄則不是新課程
出錯處理 提示信息
刪除舊課程
文件
課程信息表
軟件測試
輸入數據
有效等價類
無效等價類
證件號碼
1、6位數字字符
2、有效數字字符
3、少於6個字符
4、大於6個字符
使用功能
5、選課
6、查詢
7、輸入其他文字
有效測試用例
測試數據 期望結果 測試範圍
123456 輸入有效 1
選課 輸入有效 5
5
無效測試用例
測試數據
期望結果
測試範圍
12jda1
輸入無效
2
1234561
輸入無效
4
12341
輸入無效
3
12t21
輸入無效
2、 3
排課
輸入無效
7
(折半查找算法測試)2
測試名稱:模塊輸入課程編號過濾的測試方案
a) 規定課程編號為輸入4個字符,頭兩個字符為字母,後2個字符為數字例如TP38
b) 測試方法采用黑盒測試法中的等價類劃分法
劃分等價類
輸入數據
有效等價類
無效等價類
課程號
1 兩字母+兩數字
2有非數字或字母
字母
3 A--Z
4字母少於兩個或多於兩個
數字
5 00--99
6數字少於兩個或多於兩個
為有效等價類和每個無效等價類設計測試用例
測試數據
期望結果
測試範圍
HY76
輸入有效
1、3、5
@D78
輸入無效
2
S86
輸入無效
4
MA2
輸入無效
6
HY345
輸入無效
6
DEH94
輸入無效
4
測試名稱:課程查找模塊設計測試方案
a) 本模塊采用的是折半查找算法主要是測試各程序在各種典型情況下是不能有效的進行查找
b) 測試方案采用選擇白盒測試法中的路徑覆蓋法
說明:由於輸入的課程編號已經被過濾,所以編號接受的範圍為00--99