版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件工程導論實驗報告 經(jīng)管學院信息管理與信息系統(tǒng)專業(yè) 軟件工程導論實驗報告 (第一學期)題目: 班級通訊錄管理系統(tǒng)班級: 姓名: 學號 姓名: 學號 姓名: 學號 目錄 TOC o 1-3 h z u HYPERLINK l _Toc408673641 第一章 可行性分析 第一章 可行性分析1.1引言 日益繁多的人際交往使得我們很難搞清楚與每個人之間的聯(lián)系方式,特別是對于做經(jīng)常出差的人來說更是難,所以通訊錄能夠便捷的給我們帶來所需要的相關(guān)信息。而隨著計算機的普及,人們的生活擺脫了傳統(tǒng)式的記事本、電話簿,越來越多的靠計算機來幫助人們記住這些事情,極其簡便。這就需要有一個使用的通訊錄管理系統(tǒng),用戶
2、可以方便的通過自己電腦的通訊錄管理系統(tǒng),來隨時查閱自己所需要的信息,而不必再大費周折去翻開那繁瑣的記事本。 通訊錄管理系統(tǒng)是一個專門針學生用戶聯(lián)系方式以及一些簡單個人信息的實用管理系統(tǒng),它方便了學生對眾多同學個人信息的儲存和快速查閱的功能,大大減少了查找過程的時間。1.2編寫目的 可行性研究的目的是為了對問題進行研究,以最小的代價在最短的時間內(nèi)確定問題是否可解,經(jīng)過對此項目進行詳細調(diào)查研究,初擬系統(tǒng)實現(xiàn)報告,對軟件開發(fā)中將要面臨的問題及其解決方案進行初步設(shè)計及合理安排。明確開發(fā)風險及其所帶來的經(jīng)濟效益。本報告經(jīng)審核后,交軟件經(jīng)理審查。1.3項目背景 所開發(fā)軟件的名稱:班級通訊錄管理系統(tǒng) 開發(fā)者
3、:欒俊超 崔海靖 鄒敏 用戶:學生 項目與其他軟件的關(guān)系:(1)本項目采用客戶機、服務(wù)器原理,客戶端的程序是建立在Windows 7 系統(tǒng)以上Eclipse為開發(fā)軟件的應(yīng)用程序,服務(wù)器端采用Windows操作系統(tǒng)的工作站,采用SQL server2005為開發(fā)軟件的數(shù)據(jù)庫服務(wù)程序。(2)本項目采用dreamweaver制作登陸界面。1.4定義 班級通訊錄是一款幫助同學們整理日常生活中各類信息的軟件,力求將各類信息資源的更加方便管理,更加安全。1.5參考資料 軟件工程導論(第六版) 張海藩 牟永敏 著;清華大學出版社; 軟件開發(fā)的過程與管理 張清輝等著;北京;2004;清華大學出版社 面向?qū)ο蟪?/p>
4、序設(shè)計使用教程張海藩 牟永敏 著;北京;2007;清華大學出版社1.6可行性研究前提1.6.1要求 本系統(tǒng)為學生提供了一個方便的管理各類信息,方便操作的軟件。是的對于各類信息的管理更加簡便,更加安全。 A功能:用戶基本信息的注冊,查詢,修改,各類不同信息的分類及管理,同一班級信息的整合,用戶信息的安全管理,系統(tǒng)的維護等等。 B性能:提供同學們方便的各類交流所需的信息的管理,分類及安全維護。 C輸出:用戶學號,班級,姓名,性別,家庭住址,電話,e-mail等。 D輸入:用戶的基本信息,簡捷,快速,實時。 E 安全與保密要求:由于用戶和管理員的權(quán)限不同,使用權(quán)限管理,并在各自的權(quán)限之內(nèi)進行操作。
5、F完成期限:一個月1.6.2目標 開發(fā)一個功能強大,操作方便,管理方便,簡單明了,能夠為廣大同學普遍接受且能夠廣泛應(yīng)用的班級通訊錄管理系統(tǒng)。在設(shè)計軟件的同時要兼顧軟件對于系統(tǒng)的占用等等方面,盡最大的努力爭取使系統(tǒng)的效率提高,并盡量做到規(guī)范化。1.6.3條件、假定和限制 A在系統(tǒng)設(shè)計完成后10天內(nèi)選擇其中一個優(yōu)秀方案 B建議軟件運行最短壽命:五年 C使用經(jīng)費來源:無 D法律和政策方面限制:該軟件不存在違法和違反相關(guān)政策的現(xiàn)象 E系統(tǒng)運行環(huán)境:win7等系統(tǒng) F數(shù)據(jù)庫:SQL Sever 20051.6.4可行性研究方法 1)進行調(diào)查和溝通,進行初步分析; 2)初步需求分析:需求分析報告、數(shù)據(jù)流圖
6、、數(shù)據(jù)字典、需求分析報告; 3)建立系統(tǒng)原型; 4)與用戶進行進一步溝通,對初步模型進行修改和完善,使系統(tǒng)功能更加明確。 5)系統(tǒng)的整體測試和修改、1.6.5決定可行性的主要因素 1)功能是否足夠全面,運行是否穩(wěn)定 2)是否方便管理 3)對于系統(tǒng)內(nèi)存的占用 4)系統(tǒng)運行的效率 5)開發(fā)時間和經(jīng)費是否超額 6)操作是否簡單1.7對現(xiàn)有系統(tǒng)的分析1.7.1系統(tǒng)流程圖圖1.1系統(tǒng)流程圖1.7.1工作負荷 根據(jù)小組成員的工作分工進行安排1.7.2費用支出 無1.7.3人員 由三人組成的小組1.7.4設(shè)備 計算機 網(wǎng)絡(luò) 各類相關(guān)參考書1.7.5局限性 初次開發(fā)系統(tǒng)對許多細節(jié)認知不清,不能夠顧及到方方面面
7、,缺乏經(jīng)驗,工作效率低,需反復改進方可投入使用。1.8所建議技術(shù)可行性分析1.8.1對系統(tǒng)的簡要描述 我們計劃開發(fā)是個相對簡單的班級通訊錄管理系統(tǒng),它可以提供用戶一些基本信息,以及一些稍為隱私的資料,管理員和用戶擁有不同的權(quán)限,用戶之間也是如此,用戶需要按要求輸入不同的信息,就可獲得自己所擁有權(quán)限所獲得的他人通訊信息。該系統(tǒng)將在學生的生活中起到很重要的作用,它加強與方便了同學們之間的聯(lián)系。1.8.2處理流程和數(shù)據(jù)流程圖1.2數(shù)據(jù)流圖1.9與現(xiàn)有系統(tǒng)比較的優(yōu)越性 首先新系統(tǒng)克服了原來的資金投入大,信息準確度不高的缺點;建立了管理和服務(wù)。 高效的信息傳輸和服務(wù)平臺,提高了信息處理速度和利用率,而且
8、加入了對數(shù)據(jù)的安全性保護功能,使原有系統(tǒng)在可行性與穩(wěn)健性方面有了很大進步。1.10采用建議系統(tǒng)可能帶來的影響 1.對設(shè)備的影響 需要配備多臺電腦2.對現(xiàn)有系統(tǒng)的影響 對現(xiàn)有軟件不會產(chǎn)生沖突,對使用的操作系統(tǒng)來說有很好的兼容性、穩(wěn)定性。3.對用戶的影響 簡單易操作4.對系統(tǒng)運行的影響 Windows系統(tǒng)5.對開發(fā)環(huán)境下的影響 1)使用前看使用說明 2)根據(jù)信息的重要性來設(shè)置信息保密級別 3)所涉及的保密與安全問題 基本的辦公條件,電腦若干6.對支出經(jīng)費的影響 系統(tǒng)開發(fā)需要經(jīng)費,還有一定的運行維護費用1.11所建議系統(tǒng)經(jīng)濟可性性分析 此軟件為方便學生及老師的日常生活工作方便,不存在任何經(jīng)濟利益,為
9、無償使用,我們也沒有什么投入,所以經(jīng)濟系統(tǒng)完全可行。1.12社會因素可行性分析1.12.1法律因素 合同責任:符合國家標準的合同,經(jīng)雙方簽字后生效 侵犯專利權(quán):有 侵犯版權(quán):有 當今社會發(fā)展迅速,知識量的積累更是與日俱增,于是學生的數(shù)量也是與日俱增。個人信息變得越來越多,所以整理起來變得十分不容易,也容易出現(xiàn)遺漏。學校需要每個學生寫下自己的通訊方式,然后以班級為單位將信息進行編號及整理。為了能夠使學生的個人信息更加安全,必須嚴格限制班級通訊錄的訪問權(quán),所以為了解決這一問題,需要建立一個安全完善的管理平臺。1.12.2用戶使用可行性 用戶單位的行政管理:自定 工作制度:自定 人員素質(zhì)等能否滿足要
10、求:可以滿足 隨著技術(shù)的發(fā)展,采用班級通訊錄管理系統(tǒng),毫無疑問會在使用過程中產(chǎn)生新的需求和問題,這樣也會不斷地促進信息技術(shù)和軟件應(yīng)用的革新??梢愿爬ǖ卣f成軟件應(yīng)用促進技術(shù)進步,技術(shù)進步反作用與軟件的應(yīng)用,從而雙方面同時促使社會不斷朝前。1.13結(jié)論意見 綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術(shù)、社會和經(jīng)濟等方面都可行,并且投入少、見效快。因此班級通訊錄管理系統(tǒng)的開發(fā)是完全可行的。第二章 需求分析2.1 引言2.1.1編寫目的 班級通訊錄管理系統(tǒng)的主要目的是方便同學們管理各自的通訊信息,實現(xiàn)通訊信息的統(tǒng)一、便捷管理。提高通訊信息的查詢和使用效率。減輕同學們過多的通訊信息所帶來的記憶負擔。實現(xiàn)對同學
11、信息的高級管理,方便同學們的引用和交流。 該班級通訊錄管理系統(tǒng)主要服務(wù)于在校學生,實現(xiàn)學生們通訊信息的高效和統(tǒng)一管理,減少通訊信息混亂的存在模式以及信息過多帶來的不必要的麻煩。能夠方便快速的查詢所需要的通訊信息。在一定程度上。也提高了通訊信息保存的安全性。2.2 目標分析2.2.1概述 班級通訊錄管理新系統(tǒng)主要功能分為倆大部分:用戶管理部分和管理員管理部分。2.3系統(tǒng)功能2.3.1總目標 (1)提高通訊信息的準確性,實現(xiàn)通訊信息的便捷和高效管理,減輕同學們對于過多的通訊信息的管理負擔。 (2)實現(xiàn)通訊信息方便快捷的查詢。并且能夠?qū)νㄓ嵭畔⑦M行及時有效的修改,查詢,排序和編輯。 (3)提高對于通
12、訊信息的使用效率。2.3.2具體目標(1)用戶管理系統(tǒng),本系統(tǒng)需要具備以下功能: 用戶注冊添加:初次登陸系統(tǒng)時需要進行用戶的注冊,獲得用戶自己的用戶名以方便日后使用。 用戶信息的保存:注冊成功后,根據(jù)個人所有的通訊信息進行個人信息的完善并保存。 通訊信息的查詢:登陸系統(tǒng)后即可對所需要的信息進行查詢。 用戶信息的刪除:登錄系統(tǒng)后可對不需要的信息進行刪除。 用戶信息的排序:登錄系統(tǒng)后用戶可以根據(jù)個人喜好將信息進行排序,從而方便查找所需信息。 用戶修改登錄密碼:登錄系統(tǒng)后可以根據(jù)自己需要修改登錄密碼來確保個人信息的安全性。(2)管理員管理系統(tǒng),本系統(tǒng)需要具備以下功能: 管理員注冊:注冊后方能取得管理
13、員所有的相關(guān)權(quán)限。 管理員工作內(nèi)容:擁有后臺登陸的權(quán)限,對系統(tǒng)進行定期維護,及時發(fā)現(xiàn)并修改系統(tǒng)出現(xiàn)的漏洞,對用戶的信息進行安全維護和整理。 管理員讀取文件:用戶將遇到的問題進行反饋,做成文件形式發(fā)給管理員,管理員讀取文件從而解決問題。 信息的查詢:登錄系統(tǒng)后即可對所需要的信息進行查詢。 管理員信息的添加:登錄系統(tǒng)后可添加個人和用戶所需信息。 信息的刪除:登錄系統(tǒng)后管理員可以將過期或者無用的信息進行刪除,從而保證系統(tǒng)的簡潔。2.3.3性能目標 1.管理員需要具備一定的專業(yè)只是才能勝任。 2.確保對系統(tǒng)中的通訊信息進行了高效的整理與管理,并保障其保存的安全性。 3.實現(xiàn)通訊信息的高效查詢。2.4系
14、統(tǒng)概述2.4.1系統(tǒng)總結(jié)構(gòu)圖4.1系統(tǒng)總結(jié)構(gòu)2.4.2用戶模塊E R圖 1.學生模塊ER圖:圖4.2學生模塊ER圖 2.用戶模塊ER圖:圖4.3用戶模塊ER圖 3.系統(tǒng)實體E-R圖:圖4.4系統(tǒng)實體E-R2.4.3用戶數(shù)據(jù)流圖 1.查詢功能:圖4.5查詢功能 2.添加功能:圖4.6添加功能 3.顯示功能:圖4.7顯示功能 4.刪除功能:圖4.8刪除功能 5.排序功能:圖4.9排序功能2.4.4用戶狀態(tài)轉(zhuǎn)換圖 1.查詢功能:圖4.10查詢功能 2.添加功能:圖4.11查詢功能 3.顯示功能:圖4.12顯示功能 4.刪除功能:圖4.13刪除功能 5.排序功能:圖4.14排序功能2.4.5系統(tǒng)數(shù)據(jù)流
15、圖圖4.15系統(tǒng)數(shù)據(jù)流圖2.4.6系統(tǒng)狀態(tài)轉(zhuǎn)換圖圖4.16系統(tǒng)狀態(tài)轉(zhuǎn)換圖第三章 總體設(shè)計3.1總體設(shè)計概述 全局問題的設(shè)計,也就是設(shè)計系統(tǒng)總的處理方案,又稱概要設(shè)計。軟件工程總體設(shè)計包括:計算機配置設(shè)計、系統(tǒng)模塊結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫和文件設(shè)計、代碼設(shè)計以及系統(tǒng)可靠性與內(nèi)部控制設(shè)計等內(nèi)容。3.2處理流程1啟動系統(tǒng),輸入登錄信息;2管理員通過系統(tǒng)檢驗后對系統(tǒng)進行初始化;3用戶根據(jù)管理員設(shè)置的初始信息進行登錄,并對自己的信息進行更改,并且執(zhí)行相應(yīng)操作。4各功能執(zhí)行完畢后重新進入系統(tǒng)循環(huán)狀態(tài);5關(guān)閉系統(tǒng)模塊并退出系統(tǒng)。3.3功能概述 1.管理員功能 1)初始化模塊 2)關(guān)閉系統(tǒng)模塊 3)系統(tǒng)功能模塊 2查
16、詢功能 查詢信息 3添加功能 增加信息 4.刪除功能 刪除信息 5.排序功能 對信息進行排序 6.文件管理功能 1)儲存文件 2)讀取文件7.密碼修改功能 對密碼進行修改3.4系統(tǒng)總體設(shè)計方案3.4.1系統(tǒng)流程圖圖3.1系統(tǒng)流程圖3.4.2數(shù)據(jù)字典1輸入數(shù)據(jù):鼠標按鈕的單擊、菜單的命令、查詢條件和查詢關(guān)鍵字、相關(guān)信息更改、統(tǒng)計條件、受限操作所需密碼記錄等。2輸出數(shù)據(jù):查詢關(guān)鍵字確定的數(shù)據(jù)庫記錄的子集、統(tǒng)計結(jié)果、信息的錄入、修改結(jié)果(成功或失?。┑?。3內(nèi)部數(shù)據(jù):操作所產(chǎn)生的中間數(shù)據(jù)和查詢操作建立的索引。4.數(shù)據(jù)流條目如下: 1)名稱:用戶名和密碼。 簡述:用戶登錄的憑證,用戶管理聯(lián)系人要用到用戶
17、名。 定義:用戶名和密碼=用戶名+用戶密碼。 來源:用戶。 去向:核查,核查,聯(lián)系人或類別的添加,查看,修改,刪除(用到用戶名); 2)返回用戶的主界面=用戶個人操作界面; 3)名稱:聯(lián)系人基本信息。 簡述:組成聯(lián)系人的各種信息,用戶可以管理;定義:聯(lián)系人基本信息=聯(lián)系人編號+聯(lián)系人姓名+聯(lián)系人性別+出生日期+住址+電話+郵箱+類編+用戶名; 來源:用戶。 去向:核查聯(lián)系人,核查類別; 4)定義:聯(lián)系人新信息。 簡述:用戶修改聯(lián)系人時,修改過的信息。定義:聯(lián)系人新信息=聯(lián)系人編號+聯(lián)系人姓名+聯(lián)系人性別+出生日期+住址+電話+郵箱+類別+用戶名。 來源:用戶 去向:核查聯(lián)系人,核查類別; 5)
18、名稱:聯(lián)系人查詢條件。 簡述:用戶來查詢聯(lián)系人的條件。 定義:聯(lián)系人查詢條件=【聯(lián)系人性別+用戶名】,【聯(lián)系人姓名+用戶名】,【類別+用戶名】,【聯(lián)系人性別+聯(lián)系人姓名+用戶名】,【聯(lián)系人性別+類別+用戶名】,【聯(lián)系人性別+姓名+用戶名】,【聯(lián)系人姓名+類別+用戶名】,【聯(lián)系人性別+聯(lián)系人姓名+類別】+用戶名】。 來源:用戶。 去向:查詢處理; 6)名稱:聯(lián)系人查詢結(jié)果。 簡述:用戶輸入條件,從數(shù)書庫中查詢的聯(lián)系人條目。 定義:聯(lián)系人查詢結(jié)果=聯(lián)系人編號+聯(lián)系人姓名+聯(lián)系人性別+出生日期+住址+電話+郵箱+類編+用戶名。 來源:查詢處理; 7)名稱:刪除聯(lián)系人條件。 簡述:用戶要刪除某個聯(lián)系人
19、書輸入的條件。 定義:刪除聯(lián)系人條件=聯(lián)系人編號+用戶名; 來源:用戶。 去向:核查處理; 8)名稱:刪除用戶類別條件。 簡述:用戶刪除類別時輸入的條件。 定義:刪除用戶類別條件=用戶類別名+用戶名; 來源:用戶。 去向: 核查處理,刪除聯(lián)系人或類別; 9)名稱:類別查詢條件。 簡述:查詢類別時的條件。 定義:類別查詢條件=用戶類別名+用戶名。 來源:用戶。 去向:查詢處理; 10)名稱:查詢類別結(jié)果。 簡述:用戶查詢類別的結(jié)果。 定義:查詢類別結(jié)果=類別名+用戶名+備注。 來源:查詢處理。 去向:用戶;3.4.3組成系統(tǒng)的物理元素清單數(shù)據(jù)流 數(shù)據(jù)存儲登陸編號 管理員基本信息登陸密碼聯(lián)系方式姓
20、名姓名 學生基本信息性別年齡學號登陸密碼班級家庭住址聯(lián)系方式Email 3.4.4成本效益分析隨著計算機的普及,人們的生活擺脫了傳統(tǒng)式的記事本、電話簿,越來越多的靠計算機來幫助人們記住這些事情,極其簡便。這就需要有一個使用的通訊錄管理系統(tǒng)。通訊錄管理系統(tǒng)是一個專門針學生用戶聯(lián)系方式以及一些簡單個人信息的實用管理系統(tǒng),它方便了學生對眾多同學、老師、等個人信息的儲存和快速查閱的功能,大大減少了查找過程的時間。并且該系統(tǒng)提供高效的信息傳輸和服務(wù)平臺,提高了信息處理速度和利用率,而且加入了對數(shù)據(jù)的安全性保護功能,提高了安全性和可靠性。經(jīng)過可行性分析后,認為此系統(tǒng)開發(fā)目標已明確,在技術(shù)、社會和經(jīng)濟等方面
21、都可行,并且投入少、見效快。因此班級通訊錄管理系統(tǒng)的開發(fā)是完全可行的。目前,計算機軟件開發(fā)的各種編程語言都已十分普及,完全能夠滿足班級通訊錄管理系統(tǒng)的研究和開發(fā)。而且,現(xiàn)在不論是計算機硬件或是手機軟件的支持能力都十分強大,能夠支持軟件的運行。因此,技術(shù)方面是可行。另外此系統(tǒng)所要求的管理和維護的人員的技術(shù)要求也并不很高,但并不能缺少系統(tǒng)維護人員。因此,按照計劃,本系統(tǒng)的開發(fā)可以完成?;A(chǔ)投資:正版軟件 Microsoft SQL Server 2005做數(shù)據(jù)庫 網(wǎng)絡(luò)設(shè)備 機器設(shè)備 輔助設(shè)備 其他投資 業(yè)務(wù)員工資 系統(tǒng)需求分析的調(diào)研的人工費用 系統(tǒng)的設(shè)計開發(fā)費用 系統(tǒng)的實施開發(fā)費用 系統(tǒng)的調(diào)試及維
22、護環(huán)節(jié)費用 3.4.5進度計劃開發(fā)時間:預定為八個月 可行性研究 一個月需求分析 一個半月 總體設(shè)計 一個月 詳細設(shè)計 一個半月實現(xiàn) 兩個月 軟件維護 兩個月 使用壽命:該系統(tǒng)至少是用四年以上 根據(jù)系統(tǒng)目標以及現(xiàn)行系統(tǒng)存在的問題,建議新系統(tǒng)分兩步試運行與運行:第一階段(1年內(nèi))選定一所高校進行內(nèi)部測試,與學校商定在學校內(nèi)部進行軟件的推廣與使用。并且廣泛收集使用者的意見,及時對系統(tǒng)進行更新和改正。第二階段(24年)努力完善所做的班級通訊錄管理系統(tǒng),在之前的基礎(chǔ)上進行大范圍推廣,該系統(tǒng)操作簡便,適用方便,推廣后可以大大提高使用者的信息管理效率和信息安全性。3.5功能模塊 第一模塊:登陸模塊(如圖一
23、),用于用戶登錄,進入系統(tǒng)的窗口。 第二模塊:信息管理模塊(包含三個部分,即添加(如圖二);刪除(如圖三);修改(如圖四)。添加同學信息,刪除舊的信息,修改過期信息,是系統(tǒng)內(nèi)部的處理功能。 第三模塊:密碼修改模塊(如圖五)。學生注冊首次設(shè)置密碼后,需要修改密碼時使用密碼修改功能。 第四模塊:查詢模塊(如圖六),用戶登錄查詢自己的信息或者其他同學的信息。開始 登陸信息填寫填寫信息是否完整提示框類型= =學生進入管理員班級通訊錄管理系統(tǒng)結(jié)束進入學生通訊錄管理系統(tǒng)YESNOYESNO圖3.2登陸模塊開始填寫所有學生信息信息填寫完整提示框添加信息成功結(jié)束YESNO圖3.3添加模塊開始填寫學號學生是否存
24、在提示框刪除學生信息提示刪除成功結(jié)束YESNO圖3.4刪除模塊圖3.5排序模塊開始填寫新密碼與確認密碼信息填寫完整提示框確認密碼與新密碼是否相同提示框修改成功結(jié)束YESNOYESNO圖3.6密碼修改模塊開始點擊查詢按鈕按鈕為學生查詢按鈕按鈕為管理員查詢按鈕無結(jié)果顯示所有學生信息顯示所有管理信息結(jié)束圖3.7查詢模塊圖3.8查詢文件模塊圖3.9儲存文件模塊3.6接口設(shè)計3.6.1外部接口界面設(shè)計:分為主界面與各子界面,主界面顯示了本軟件的主要功能如:學生信息的輸入、排序、查找等對稱,整潔,易于用戶使用。子界面承接主界面,根據(jù)用戶在主界面選擇的功能,顯示不同,用戶需根據(jù)子界面的顯示繼續(xù)輸入即可。輸入
25、要求:數(shù)據(jù)完整,詳實。 輸出要求:簡捷,快速,實時。3.6.2內(nèi)部接口在系統(tǒng)內(nèi)部實現(xiàn)了對基礎(chǔ)程序的封裝,即可用函數(shù)來完成各種功能,使得上層操作相對簡化,有利于理清程序邏輯。輸入起點,終點函數(shù)輸入添加函數(shù)輸入刪除函數(shù)輸入修改函數(shù)輸入查詢函數(shù)輸入統(tǒng)計函數(shù)創(chuàng)建用戶密碼函數(shù)3.7數(shù)據(jù)結(jié)構(gòu)設(shè)計 3.7.1 物理結(jié)構(gòu)設(shè)計要點給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結(jié)構(gòu)中的每個數(shù)據(jù)項的存儲要求,訪問方法、存取單位、存取的物理關(guān)系(索引、設(shè)備、存儲區(qū)域)、設(shè)計考慮和保密條件。由客戶端獲得數(shù)據(jù)存入服務(wù)器,不同權(quán)限的操作人員有不同的訪問方式 3.7.2邏輯結(jié)構(gòu)設(shè)計要點邏輯結(jié)構(gòu)設(shè)計階段的任務(wù)是將概念結(jié)構(gòu)設(shè)計階段所得到的概念模型
26、轉(zhuǎn)換為具體DBMS所能支持的數(shù)據(jù)模型(即邏輯結(jié)構(gòu)),并對其進行優(yōu)化。 3.7.3數(shù)據(jù)結(jié)構(gòu)設(shè)計要點給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結(jié)構(gòu)的名稱、標識符以及它們之中每個數(shù)據(jù)項、記錄、文卷和系的標識、定義、長度及它們之間的層次的或表格的相互關(guān)系。數(shù)據(jù)結(jié)構(gòu)與程序關(guān)系內(nèi)容:說明各個數(shù)據(jù)結(jié)構(gòu)與訪問這些數(shù)據(jù)結(jié)構(gòu)的形式:。1.基本信息匯總: 學生基本信息表:姓名,性別,學號,班級,家庭住址,聯(lián)系電話,注冊時間,登錄次數(shù),登錄日期 學生登錄基本信息表:學號,登錄密碼 管理員登陸基本信息:管理員編號,登錄密碼 管理員基本信息表:姓名,編號,聯(lián)系電話 班級基本信息表:編號,名稱,年級,人數(shù),教師姓名學生基本信息表屬性類型
27、長度是否可以為空簡單描述姓名Varchar10否學生姓名性別Varchar5否學生性別學號Char15否學生學號班級Varchar20否學生班級家庭住址Varchar50否學生家庭住址聯(lián)系電話Char15否學生聯(lián)系電話注冊時間Date否初次注冊時間登錄次數(shù)Int是登錄次數(shù)登錄日期Date是最近一次登錄日期學生登錄基本信息表屬性類型長度是否可以為空簡單描述學號Char15否學生學號登錄密碼Char10否登錄密碼管理員登陸基本信息屬性類型長度是否可以為空簡單描述管理員編號Char15否管理員編號登錄密碼Char10否登錄密碼管理員基本信息表屬性類型長度是否可以為空簡單描述姓名Varchar15否管
28、理員姓名編號Char15否管理員編號聯(lián)系電話Char15否管理員聯(lián)系電話班級基本信息表屬性類型長度是否可以為空簡單描述編號Char10否班級編號名稱Varchar20否班級全稱年級Varchar20否所在年級人數(shù)Int否班級人數(shù)教師姓名Varchar10是班級導師姓名2.邏輯結(jié)構(gòu)設(shè)計所需E-R圖:圖3.11邏輯結(jié)構(gòu)設(shè)計所需E-R圖第四章 詳細設(shè)計4.1詳細設(shè)計概述詳細設(shè)計是軟件工程中軟件開發(fā)的一個步驟,就是對概要設(shè)計的一個細化,就是詳細設(shè)計每個模塊實現(xiàn)算法,所需的局部結(jié)構(gòu)。4.2詳細設(shè)計目標詳細設(shè)計的目標有兩個:實現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡明易懂。4.3詳細設(shè)計范圍本文檔定義了
29、系統(tǒng)的各個模塊和模塊接口,但未確定單元的具體實現(xiàn),這部分內(nèi)容將在實現(xiàn)中確定。4.4詳細設(shè)計主要內(nèi)容:本文檔的詳細設(shè)計主要是用流程框圖、NS圖、PAD圖、判定表和判定樹以及PDL語言。為下一步的編碼提供基礎(chǔ)。4.4.1流程框圖圖4.1修改密碼程序流程圖圖4.2存讀取文件程序流程圖圖4.3查詢模塊圖4.4添加模塊圖4.5刪除模塊圖4.6修改密碼4.4.2盒圖(NS圖)圖4.7修改密碼圖4.8讀/存取文件 圖4.9查詢模塊圖4.10添加模塊圖4.11刪除模塊圖4.12排序模塊4.4.3問題分析圖(PAD圖)圖4.13修改密碼登錄模塊圖4.14文件操作模塊圖4.15查詢模塊圖4.16添加模塊圖4.17
30、刪除模塊圖4.18排序模塊4.4.5判定表查詢功能12345條件用戶名TTTTF密碼TTTF查詢操作TTF操作是否成功TF動作成功查詢重復查詢操作選定查詢按鈕重新輸入密碼重新輸入信息并登錄添加12345條件用戶名TTTTF密碼TTTF添加操作TTF操作是否成功TF動作添加刪除重復添加操作選定添加按鈕重新輸入密碼重新輸入信息并登錄刪除功能12345條件用戶名TTTTF密碼TTTF刪除操作TTF操作是否成功TF動作成功刪除重復刪除操作選定刪除按鈕重新輸入密碼重新輸入信息并登錄排序功能12345條件用戶名TTTTF密碼TTTF排序操作TTF操作是否成功TF動作排序刪除重復排序操作選定排序按鈕重新輸入
31、密碼重新輸入信息并登錄4.4.6偽碼(PDL語言)1.查詢功能stud*search(stud*head,int*th)int xz;char xuehao10,xingming9;stud*p;*th=1;ifwhile(p!=NULL&strcmp(xingming,p-name)!=0)p=-next;(*th)+;elsewhile(p!=NULL&strcmp(xuehao.p=num)!=0)p=p-next;(*th)+;2.添加模塊void insert(stud*stud)char an,xuehao10,xingming9,banji11,dianhua8;stud*p,*
32、q;dowhile(p-next!=NULL)&(strcmp(xuehao,p-nxet-num)=0)p=p-next;q=(stud*)malloc(sizeof(stud);printf(“是否繼續(xù)?”);an=toupper(getchar();getchar();while(an=Y);3.刪除模塊del_person() ofstream outData(temp.txt, ios:out); coutendl這個人的信息已經(jīng)從你的通迅錄中刪除!endlendl; system(pause); 4.排序模塊sort_personifstream inData(pbook.txt,
33、ios:in); cout”所有需要排序的信息已全部排列完畢!”endl;system(pause);第五章 編碼5.1添加功能void Student:add()/添加函數(shù) coutendl; coutendl; coutendl; system(color 81); cout * 歡迎進入班級通訊錄管理系統(tǒng) *endlendl; cout *endlendl; cout * 添加功能:*endl; coutS; coutendl; coutStun.sex; coutendl; coutStun.num; coutendl; coutStun.classroom; cout
34、endl; coutStun.number; coutendl; coutStun.addr; coutendl; coutStun.email; coutendl; n+; char m; coutm; if (m=y) add(); 5.2顯示功能void Student:show()/顯示函數(shù) system(color 81);/顏色調(diào)用 char l; coutendl; coutendl; coutendl; cout * 歡迎進入班級通訊錄管理系統(tǒng)*endlendl; cout *endl; cout *通訊錄全部人員:*endl; coutendl; cout姓名 性別 學號 班
35、級 電話號碼 地址 Emailendl; for(int i=0;in;i+) coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; /71 coutendl; coutendl; cout退出請按y/返回請按nl; if(l=y) exit(0);/退出程序結(jié)構(gòu)語 5.3查詢功能void Student:search()/查詢函數(shù) system(color 81);/顏色調(diào)用 coutendl; coutendl; coutendl; cout * 歡迎
36、進入班級通訊錄管理系統(tǒng)* endlendl; cout *endl; cout *查詢功能: *endl; cout * 按姓名查詢*endl; cout * 按學號查詢*endl; cout * 按電話號碼查詢*endl; cout * 退出 *endl; coutselect; switch(select) case 1:/按姓名查詢 cout請輸入想要查詢的姓名:name1;/輸入查詢姓名 loop: for( i=0;i=n;i+)/ if(S=name1) cout以下是你要查詢的聯(lián)系人:endl; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl;
37、 coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; break; if(S!=name1)/找不到該聯(lián)系人 cout該學生不存在,請重新輸入。退出請按yname1; if(name1=y) search(); else goto loop; break; case 2:/按學號查詢 cout請輸入想要查詢的學號:num1;/輸入學號 loop1: for( i=0;i=n;i+) if(Stui.num=num1) cout以下是你要查
38、詢的聯(lián)系人:endl; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; break; if(Stui.num!=num1) cout學生不存在,請重新輸入。退出請按1num1; if(num1=1) search(); else goto loop1; break; case 3:/按電話號碼查詢 cout請輸入想要查詢的電話號碼:number1; loop3: for( i=0;
39、i=n;i+) if(Stui.number=number1) cout以下是你要查詢的聯(lián)系人:endl; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; break; if(Stui.number!=number1)cout該學生不存在,請重新輸入。退出請按1number1; if(number1=1) search(); else goto loop3; break; /150
40、 5.4刪除功能void Student:delect()/刪除函數(shù) system(color 81);/顏色調(diào)用 coutendl; coutendl; coutendl; cout* 歡迎進入班級通訊錄管理系統(tǒng)* endlendl; cout*endl; cout *刪除功能: *endl; cout * 輸入姓名刪除 *endl; cout *輸入學號刪除 *endl; cout *輸入電話號碼刪除*endl; cout *退出*endl; coutselect; switch(select) case 1: string name2;/定義一個姓名 char k; cout請輸入想要刪
41、除的姓名:name2;/輸入要刪除的姓名 loop1: cout確認要刪除該聯(lián)系人嗎?(y:是/n:不是)k; if(k=n) delect();if(k=y) for(int i=0;i=n;i+) if(S=name2) for(int j=i;j=n;j+) Stui=Stuj+1; n-; cout已刪除該聯(lián)系人。endl; break; if(S!=name2) cout不存在該聯(lián)系人,請重新輸入。退出請按yname2; if(name2=y) delect(); else goto loop1; break; case 2: int num2; ch
42、ar k; cout請輸入想要刪除的學號:num2; loop2: cout確認要刪除該聯(lián)系人嗎?(y:是/n:不是)k; if(k=n) delect(); if(k=y) for(int i=0;i=n;i+) if(Stui.num=num2) for(int j=i;j=n;j+) Stui=Stuj+1; n-; cout已刪除該聯(lián)系人。endl; break; if(Stui.num!=num2) cout不存在該聯(lián)系人,請重新輸入。退出請按1num2; if(num2=1) delect(); else goto loop2; break; case 3: int number2
43、; char k; cout請輸入想要刪除的電話號碼:number2; loop3: cout確認要刪除該聯(lián)系人嗎?(y:是/n:不是)k; if(k=n) delect(); if(k=y) for(int i=0;i=n;i+) if(Stui.number=number2) for(int j=i;j=n;j+) Stui=Stuj+1; n-; cout已刪除該聯(lián)系人。endl; break; if(Stui.number!=number2) cout不存在該聯(lián)系人,請重新輸入。退出請按1number2; if(number2=1) delect(); else goto loop3;
44、 break; case 4: break; 5.5排序功能 void Student:sort() /排序函數(shù) system(color 81); int i,j; char l; Student t; int select; loop: coutendl; coutendl; cout * 歡迎進入班級通訊錄管理系統(tǒng)* endlendl; cout *endl; cout *排序功能:*endl; cout * 按姓名排序*endl; cout *按學號排序*endl; cout * 按電話號碼排序*endl; cout *退出*endl; coutendl; cout請選擇你排序的方式:
45、select; switch(select) case 1:/按姓名排序 for(j=0;jn-1;j+) for(i=0;iStui+1.name) t=Stui; Stui=Stui+1; Stui+1=t; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; for(int i=0;in;i+) coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; cout退出請按y/返回請按nl; if(l=n) goto loop; break
46、; case 2:/按學號排序 for(j=0;jn-1;j+) for(i=0;iStui+1.num) t=Stui;Stui=Stui+1;Stui+1=t; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; for(int i=0;in;i+) coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; cout退出請按y/返回請按nl; if(l=n) goto loop;break; case 3:/按電話號碼排序 for(j=0
47、;jn-1;j+) for(i=0;iStui+1.number) t=Stui;Stui=Stui+1;Stui+1=t; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; for(int i=0;in;i+) coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.email endl; cout*endl; cout退出請按y/返回請按nl; if(l=n) goto loop; break; 5.6讀取文件void Student:load()/讀取文件 system(col
48、or 81); coutendl; coutendl; cout * 歡迎進入班級通訊錄管理系統(tǒng)* endlendl; cout *endl;/80 coutendl; coutendl; cout * 讀取通訊錄文件: *endl; coutendl; coutendl; ifstream my_file (d:通訊錄.txt,ios:in); my_file.seekg(0,ios:end); streampos lof = my_file.tellg(); my_file.seekg(0,ios:beg); if(!my_file) cout對不起,無法從已有通訊錄輸入!endl可能是因
49、為原通訊錄不存在或為空endl建議你檢查你的通訊錄文擋!endl; return; cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; FILE *fp; if(fp=fopen(d:通訊錄.txt,r)=NULL)/判斷文件是否存在 cout找不到該文件,讀取失敗!endl; char ch; ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); for(int i=n;iSStui.sexStui.numStui.classroomStui.numberStui.addrStui.email; my
50、_file.close(); 5.7存儲文件功能void Student:save()/存儲通訊錄文件 system(color 81); coutendl; coutendl; cout * 歡迎進入班級通訊錄管理系統(tǒng)* endlendl; cout *endl;/80 coutendl; coutendl; cout *儲存通訊錄文件: *endl; coutendl; coutendl; coutendl; ifstream ifs(d:通訊錄.txt); ifs.seekg(0,ios:end); streampos lof = ifs.tellg(); ofstream file(d
51、:通訊錄.txt,ios:app); if(!file) cout通訊錄沒有聯(lián)系人,請?zhí)砑樱篹ndl; add(); cout姓名 性別 學號 班級 電話號碼 地址 Emailendl; int i;for (i=0;in;i+) coutS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.emailendl; fileS Stui.sex Stui.num Stui.classroom Stui.number Stui.addr Stui.emailendl; 第六章 調(diào)試程序6.1調(diào)試出
52、現(xiàn)的錯誤與修改圖6.1調(diào)試出現(xiàn)的錯誤類型一 頭文件定義的缺失。經(jīng)查找處理發(fā)現(xiàn)頭文件沒有定義完全,在定義上缺失#include,字符串的聲明。2.類型二 “;”的缺失。每條語句的后面都要有“;”結(jié)束,在編寫程序時往往容易漏掉這一點。類型三 “ ”的對應(yīng)。由于不熟練,沒有一個良好的編程習慣,往往寫了“”后就沒有及時的寫“”,后面也忘記了,就容易缺失了。4.類型四缺失結(jié)束語句,導致無限循環(huán),結(jié)束語句我們經(jīng)常用的是break,在需要提前退出語句要有相應(yīng)的退出語句。第七章 軟件測試7.1測試目標 測試的根本目標是盡可能多發(fā)現(xiàn)并排除軟件中潛在的錯誤,最終開發(fā)一個高質(zhì)量的軟件系統(tǒng)交給用戶。 由于在編寫中可能考慮不周或者忽略某些因素導致軟件不能高質(zhì)量運行,就拿班級通訊錄管理系統(tǒng)來說,雖然經(jīng)過編碼調(diào)試,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆湖南岳陽第一中學物理高二第一學期期末預測試題含解析
- 廣西來賓市2025屆物理高一上期中復習檢測模擬試題含解析
- 2025屆黑龍江省雙城市兆麟中學物理高一上期中質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 鹽城市重點中學2025屆物理高二上期末考試模擬試題含解析
- 云南省元江縣第一中學2025屆高二物理第一學期期末監(jiān)測模擬試題含解析
- 江蘇省南通市通州區(qū)海安縣2025屆高二物理第一學期期中質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 2025屆廣東省韶關(guān)市新豐一中高三上物理期中檢測試題含解析
- 2025屆廣東省肇慶市百花中學高二物理第一學期期中考試模擬試題含解析
- 2025屆安徽省皖北協(xié)作區(qū)物理高三上期末質(zhì)量跟蹤監(jiān)視試題含解析
- 黑龍江省東部地區(qū)四校聯(lián)考2025屆物理高三第一學期期末監(jiān)測模擬試題含解析
- 上??萍冀逃霭嫔缌昙壘C合實踐教案(上冊)
- 公開選拔科級領(lǐng)導干部考試筆試試題與答案
- 公路橋梁養(yǎng)護維修施工方案
- 水系統(tǒng)規(guī)劃方案及非傳統(tǒng)水源利用率計算書
- (完整word)A4作文格子紙打印版-word文檔
- 介紹班級優(yōu)化大師
- 煙花爆竹經(jīng)營單位主要負責人與安全管理人員培訓課件
- 鋼包烘烤制度
- 煤氣柜設(shè)計安全要求
- 采購管理流程和采購工作流程
- 數(shù)學專業(yè)參考書整理推薦
評論
0/150
提交評論