版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、教師住房管理信息系統(tǒng)設(shè)計(jì)說明書第一部份軟件工程1968年,北大西洋公約組織的學(xué)術(shù)會議第一次創(chuàng)造了“軟件工程”一詞,提出“軟件工程”概念。通過工 程化的方法來開發(fā)軟件,解決軟件危機(jī)。三十年余年來,盡管軟件的差錯(cuò)就象汽車一樣時(shí)有拋錨的時(shí)候,但軟 件的發(fā)展速度遠(yuǎn)遠(yuǎn)超過了任何傳統(tǒng)工業(yè), 而期間并未出現(xiàn)真真的軟件危機(jī)。 這在很大程度上歸功于 “軟件工程” 如今軟件工程成了一門學(xué)科。軟件工程簡單的講,主要講述軟件開發(fā)的道理,基本上是軟件實(shí)踐者的成功經(jīng)驗(yàn)和失敗教訓(xùn)的總結(jié)。軟件 工程的觀念、方法、策略和規(guī)都是樸實(shí)無華的,平凡之人皆可領(lǐng)會,而關(guān)鍵在于運(yùn)用。軟件工程方法是應(yīng)該事 先掌握,在整個(gè)軟件設(shè)計(jì)過程中都必須
2、遵照執(zhí)行的,而不能把它看成是事后解決問題的錦囊妙計(jì),對預(yù)料將要 出現(xiàn)的問題,必須控制每個(gè)實(shí)踐環(huán)節(jié),防患于未然。研究軟件工程將隨著軟件工程的開始,直到軟件被廢棄研 究工作才結(jié)束。軟件工程中最基本的概念是軟件生命周期。一個(gè)軟件從定義到開發(fā)、使用和維護(hù),直到最終被廢棄,要經(jīng) 歷一個(gè)漫長的時(shí)期, 通常把軟件經(jīng)歷的這個(gè)漫長的時(shí)期稱為生存周期。 軟件生存周期就是從提出軟件產(chǎn)品開始, 直到該軟件產(chǎn)品被淘汰的全過程。軟件生命周期是指軟件產(chǎn)品或軟件系統(tǒng)從產(chǎn)生、投入使用到被淘汰的全過程 統(tǒng)。通常,將軟件生命周期分為五個(gè)階段:需求分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、系統(tǒng)測試和運(yùn)行維護(hù)。需求分析和系統(tǒng)設(shè)計(jì)是軟件開發(fā)過程中最核心
3、的活動。 典型的針對需求分析和系統(tǒng)設(shè)計(jì)的軟件開發(fā)方法有: 結(jié)構(gòu)化分析方法、面向數(shù)據(jù)結(jié)構(gòu)的方法和面向?qū)ο蠓椒?。結(jié)構(gòu)化分析方法 (structured analysis, 簡稱 SA)是一種面向數(shù)據(jù)流進(jìn)行需求分析的方法,適合于數(shù)據(jù)處理 類型軟件的需求分析。 結(jié)構(gòu)化分析方法使用數(shù)據(jù)流圖 DFD與數(shù)據(jù)字典 DD來描述, 面向數(shù)據(jù)流問題的需求分析適 合于數(shù)據(jù)處理類型軟件的需求描述。其核心思想是分解化簡問題,將物理與邏輯表示分開,對系統(tǒng)進(jìn)行數(shù)據(jù)與 邏輯的抽象。下面的需求分柝和系統(tǒng)設(shè)計(jì)就是以結(jié)構(gòu)化分析方法為前提的。面向數(shù)據(jù)結(jié)構(gòu)的方法是結(jié)構(gòu)化方法的變形,它注重?cái)?shù)據(jù)結(jié)構(gòu)而不是數(shù)據(jù)流,是從數(shù)據(jù)結(jié)構(gòu)方面分析,即分
4、析信息結(jié)構(gòu),并用數(shù)據(jù)結(jié)構(gòu)圖來表示,在此基礎(chǔ)上進(jìn)行需求分析,導(dǎo)出軟件的結(jié)構(gòu)。其特征是:信息結(jié)構(gòu)是層 次式;數(shù)據(jù)結(jié)構(gòu)的表達(dá)要求用順序、選擇、重復(fù)等合成構(gòu)造;具有將層次式數(shù)據(jù)結(jié)構(gòu)映射到程序結(jié)構(gòu)的映射機(jī) 制。一、 需求分析一目錄概述背景:系統(tǒng)目標(biāo)完成的任務(wù)、不完成的任務(wù)、業(yè)務(wù)模式、業(yè)務(wù)狀況、用戶需求、業(yè)務(wù)需求、使用圍、功能要求、權(quán)限管理性 能、需求業(yè)務(wù)流程與其他系統(tǒng)的關(guān)系業(yè)務(wù)、流程圖業(yè)務(wù)、邏輯業(yè)務(wù)分解。業(yè)務(wù)描述數(shù)據(jù)分析、數(shù)據(jù)單據(jù)數(shù)據(jù)、分類數(shù)據(jù)描述附件概述。1.1 背景 :該教師住房管理信息系統(tǒng)是按課題要求所完成的。面向的用戶 : 全校住學(xué)校宿舍的教師 因此該系統(tǒng)的最終用戶是全校的住學(xué)校宿舍的教師,同時(shí)
5、還有對于住房分配的相關(guān)管理者。他們的權(quán)限各有不同。要 求使用本系統(tǒng)的用戶對計(jì)算機(jī)能夠熟練的使用,知道基本的操作。1.2 系統(tǒng)目標(biāo)1.2.1 系統(tǒng)應(yīng)完成的目標(biāo)通過計(jì)算機(jī)完成教師住房管理 : 用計(jì)算機(jī)高速、快捷的完成從大量的戶主中提取相關(guān)信息,以反映住房情況;計(jì)算機(jī) 聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實(shí)現(xiàn)數(shù)據(jù)共享、避免重復(fù)勞動,規(guī)住房分配管理行為、從而提高了分配效率和水平;住房 管理信息系統(tǒng)以計(jì)算機(jī)為工具,通過對住房管理所需的信息管理,把管理人員從繁瑣的數(shù)據(jù)計(jì)算處理中解脫出來,使其有 更多的精力從事住房管理政策的研究實(shí)施,分配計(jì)劃的制定執(zhí)行和分配質(zhì)量的監(jiān)督檢查,從而全面提高分配的合理性。1.2.2 系統(tǒng)
6、不完成的任務(wù) :1系統(tǒng)不統(tǒng)計(jì)對于戶主住房地址等信息的管理。2 系統(tǒng)同時(shí)對輸入僅提供簡單的輸入格式是否合格檢查,不提供對輸入的核對檢查,要確定輸入是否正確,還需工作 人員自己手工完成。1.3 業(yè)務(wù)模式 (略)1.4 現(xiàn)行組織機(jī)構(gòu)及業(yè)務(wù)狀況 用戶目前完成這些工作是通過傳統(tǒng)的手工操作方式,易發(fā)生數(shù)據(jù)丟失、統(tǒng)計(jì)錯(cuò)誤、勞動強(qiáng)度高、且速度慢,通過計(jì)算 機(jī)工具和本系統(tǒng)來提高速度、改善現(xiàn)狀。2.1 業(yè)務(wù)需求2.1.1 使用圍 高校教師住房情況以及可分配的房源,隨時(shí)可以查詢 , 輸出。2.1.2 功能要求戶主檔案管理 : 戶主的一般情況(每個(gè)已注冊戶主的、性別、職稱等)2.2 性能需求1. 網(wǎng)絡(luò)環(huán)境下的多用戶系
7、統(tǒng)在上述已有的硬件環(huán)境下,信息由各用戶在規(guī)定的權(quán)限下在各自的工作站上錄入,信息上 網(wǎng)后各用戶可查詢、調(diào)用,達(dá)到信息共享,數(shù)據(jù)的完整性、準(zhǔn)確性。錄入數(shù)據(jù)采用表格方式,限制錄入數(shù)據(jù)類型及取值圍 以保證數(shù)據(jù)的完整性及準(zhǔn)確性。2. 系統(tǒng)具有部分反悔修改功能,系統(tǒng)備有的修改功能均可反悔。3. 數(shù)據(jù)完成的時(shí)間性, 如房源的分配,只有在戶主相關(guān)申請后才可以進(jìn)行分配。4. 數(shù)據(jù)安全性本系統(tǒng)采用二級安全保障:第一級 : 依賴于網(wǎng)絡(luò)本身對用戶使用權(quán)限的規(guī)定。第二級 : 在程序模塊過使用密碼控制功能對用戶使用權(quán)限加以限制。如前面的數(shù)據(jù)收集前的系統(tǒng)權(quán)限表。、概念結(jié)構(gòu)圖理二、系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重
8、要的環(huán)節(jié):系統(tǒng)設(shè)計(jì)的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量o:系統(tǒng)設(shè)計(jì)主要著力于系統(tǒng)“如何做” ,它包含如下四方面容:體系結(jié)構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)、 用戶界面設(shè)計(jì)。 在系統(tǒng)設(shè)計(jì)時(shí), 通常分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。 詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說明, 即數(shù)據(jù)結(jié)構(gòu)說明及加工描述。1 概要設(shè)計(jì) 概要設(shè)計(jì)建立整個(gè)軟件體系結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義等。概在 概要設(shè)計(jì)過程中,復(fù)審系統(tǒng)計(jì)劃與需求分析,確定系統(tǒng)具體的實(shí)施方案,構(gòu)建軟件的體系結(jié)構(gòu)。概要設(shè)計(jì)還要 確定模塊結(jié)構(gòu),劃分功能模塊,將軟件功能需求分配給所劃分的最小單元模塊。要確定各模塊間的聯(lián)系,確定 數(shù)據(jù)結(jié)
9、構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫模式,以及確定測試方法與策略。體系結(jié)構(gòu)設(shè)計(jì) 體系結(jié)構(gòu)是軟件系統(tǒng)中最本質(zhì)的東西,它是對復(fù)雜事物的一種抽象。良好的體系結(jié)構(gòu)是普遍適用的,它可 以高效地處理多種多樣的個(gè)體需求。體系結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)在一定的時(shí)間保持穩(wěn)定。 軟件體系結(jié)構(gòu)已經(jīng)在軟件工程領(lǐng)域中有著廣泛的應(yīng)用, 但迄今為止還沒有一個(gè)被大家所公認(rèn)的定義。 體系 結(jié)構(gòu) (Architcture)_ 詞在英文里就是“建筑”的意思。我們把Dewayne Perry 和 Alex Wolf 的定義作為參考:軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,耳 p 構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu) 件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件
10、是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來:這,定 義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。體系結(jié)構(gòu)有許多種,包括常用的層次結(jié)構(gòu)。 層次結(jié)構(gòu)是把比較復(fù)雜的事情,進(jìn)行分層,然后層一層地去完成。在實(shí)現(xiàn)時(shí),高層的工作總是建立在低 層的工作之上。層次關(guān)系主要有兩種:上下層關(guān)系和順序相鄰關(guān)系。上下層關(guān)系非常常見,如學(xué)校的組織結(jié)構(gòu),最高層是學(xué)校,下面院系,院系下面是學(xué)系。在權(quán)限上學(xué)校的 權(quán)限高于院系,學(xué)??梢灾笓]院系,而反過來不行。對于順序相鄰關(guān)系, ,我們可以把計(jì)算機(jī)網(wǎng)絡(luò)的 OSI 參考模型來理解, OSI 有七個(gè)層次,在通訊時(shí),只能 在相鄰兩
11、層之間發(fā)生,信息只能被一層一層地順序傳遞下去。發(fā)送方和接收方傳遞的方向剛好相反。體系結(jié)構(gòu)設(shè)計(jì)要求:通過分層,把每個(gè)功能逐步獨(dú)立起來,并且保證每個(gè)功能都有相應(yīng)的模塊來實(shí)現(xiàn);要 確定模塊間的調(diào)用關(guān)系,對模塊間接口做總體描述,明確模塊間信息的傳遞。模塊設(shè)計(jì) 在設(shè)計(jì)好軟件的體系結(jié)構(gòu)后,宏觀上就明確了各個(gè)模塊應(yīng)具有的功能,在哪一個(gè)層次上,與其他功能模塊 的關(guān)系。我們習(xí)慣從功能上劃分模塊,保持“功能獨(dú)立”是模塊化設(shè)計(jì)的基本原則。因?yàn)椋?“功能獨(dú)立”的模塊 可以降低開發(fā)、測試、維護(hù)等階段的代價(jià)。但是“功能獨(dú)立”并不意味著模塊之間保持絕對的孤立。一個(gè)系統(tǒng) 要完成某項(xiàng)任務(wù),需要各個(gè)模塊相互配合才能實(shí)現(xiàn),此時(shí)模塊
12、之間就要進(jìn)行信息交流。模塊設(shè)計(jì)主要說明每個(gè) 模塊“做什么” 、簡要說明數(shù)據(jù)輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統(tǒng)或硬件的接口等聯(lián)系。評價(jià)模塊設(shè)計(jì)優(yōu)劣的三個(gè)特征因素: “信息隱藏” 、“聚與耦合”和“封閉、開放性” 。 信息隱藏:是盡量避免某個(gè)模塊的行為去干擾同一系統(tǒng)中的其它模塊,在我們學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì),類 的封裝性就是為了實(shí)現(xiàn)信息隱藏。聚與耦合:聚 (Cohesion) 是一個(gè)模塊部各成分之間相關(guān)聯(lián)程度的度量。耦合 (C0upling) 是模塊之間依賴程 度的度量。聚和耦合是密切相關(guān)的,與其它模塊存在強(qiáng)耦合的模塊通常意味著弱聚,而強(qiáng)聚的模塊通常意味著 與其它模塊之間存在弱耦合。
13、模塊設(shè)計(jì)追求強(qiáng)聚,弱耦合。封閉、開放性:如果一個(gè)模塊可以作為一個(gè)獨(dú)立體被其它程序引用,則稱模塊具有封閉性。如果一個(gè)模塊 可以被擴(kuò)充,則稱模塊具有開放性。模塊的“封閉、開放性”實(shí)際上對應(yīng)于軟件質(zhì)量因素中的可復(fù)用性和可擴(kuò)充性。采用面向過程的方法進(jìn)行 程序設(shè)計(jì),很難開發(fā)出既具有封閉性又具有開放性的模塊。采用面向?qū)ο笤O(shè)計(jì)方法可以較好地解決這個(gè)問題。2 詳細(xì)設(shè)計(jì) 詳細(xì)設(shè)計(jì)的目的是為軟件中的每一個(gè)模塊確定使用的算法和塊數(shù)據(jù)結(jié)構(gòu),并用某種選定的表達(dá)工具給出清 晰的描述。主要任務(wù):為每個(gè)模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程,寫出模塊的詳細(xì)過程性描述; 確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);確定模塊接口的
14、細(xì)節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)部其它模塊的接口,以及模塊輸入數(shù) 據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)為每一個(gè)模塊設(shè)計(jì)出一組測試用例,以便在編碼階段對模塊代碼(即程序 ) 進(jìn)行預(yù)定的測試,模塊的測試用例是軟件測試計(jì)劃的重要組成部分,通常應(yīng)包括輸入數(shù)據(jù),期望輸出等容。三、編碼實(shí)現(xiàn)編碼實(shí)現(xiàn)是將設(shè)計(jì)結(jié)果轉(zhuǎn)化為可執(zhí)行的程序代碼,這是程序員的主要任務(wù)。 要將設(shè)計(jì)結(jié)果轉(zhuǎn)化為語言 代碼,首先必須正確理解需求分析中要求“做什么?”。要詳細(xì)閱讀概要設(shè)計(jì)書和詳細(xì)設(shè)計(jì)書,明確自己需要完成的模塊和其他模塊之間的聯(lián)系 (接口規(guī) ) ,外部提供的數(shù)據(jù)元素和自己輸出的數(shù)據(jù)元素等。 一個(gè)大的系統(tǒng)是由一個(gè)團(tuán)隊(duì)共同協(xié)作完
15、成的,必須完全按照設(shè)計(jì)書的要求來完成相應(yīng)模塊的程序編碼。一個(gè)好的程序編碼,在完成模塊功能的前提下,應(yīng)該做到程序簡單易懂、運(yùn)行可靠、性能穩(wěn)定和執(zhí)行效率 高等特點(diǎn)。1 在編碼實(shí)現(xiàn)過程中還應(yīng)該注意做到: 所使用的標(biāo)識符應(yīng)有一定的約定,盡可能采用有一定含義的名字,可以顧名思義; 在程序設(shè)計(jì)時(shí),盡可能加上注解;書寫格式要規(guī),采用縮進(jìn)等格式; 這樣,可以便于閱讀和理解程序,為今后維護(hù)提供便利條件。2 采用標(biāo)準(zhǔn)的控制結(jié)構(gòu)根據(jù)詳細(xì)設(shè)計(jì)的流程, 采用標(biāo)準(zhǔn)的和詳細(xì)設(shè)計(jì)要求一致的分支和循環(huán)結(jié)構(gòu), 不準(zhǔn)隨意的用 goto 語句或多余無 效的循環(huán)等。3 數(shù)據(jù)輸入、輸出要求 數(shù)據(jù)的在輸入、輸出過程中,要求做到: 人機(jī)操作
16、界面要友好, 操作方便, 對于前后界面之間、 相同類似操作界面間等風(fēng)格要一致。 如 Windows 有相同風(fēng)格的窗口界面,相同的對話框界面等。從外部提供的數(shù)據(jù) (輸入數(shù)據(jù) )要進(jìn)行合法性或有效性檢查,防止無效數(shù)據(jù)輸入。如性別輸入,只有男或女 兩者之一,在輸入時(shí)應(yīng)根據(jù)約定只能提供男女兩種數(shù)據(jù)形式。如果數(shù)據(jù)是根據(jù)約定輸入 (是為了方便數(shù)據(jù)的輸入 ) ,應(yīng)該提示相關(guān)約定信息。如性別輸入時(shí)用M表示男,用 F 表示女,則在輸入時(shí),應(yīng)該包含上面的約定信息。輸入的數(shù)據(jù)格式盡可能和日常的表示方式一致。如日期,我們通常的表示是年月日格式。 數(shù)據(jù)輸出時(shí),盡可能輸出易懂的信息,如果是符號,要提示符號的約定。如性別輸
17、出是應(yīng)該輸出男或女, 如果輸出的是符號,則需說明 M表示男, F表示女,便于別人理解。程序要具有“傻瓜”功能,不會因?yàn)橛脩糨斎胄畔⒌拳h(huán)節(jié)偶然的錯(cuò)誤,而導(dǎo)致程序非正常退出。 除此之外,還可以提供在線幫助等方式,來方便用戶使用。四、系統(tǒng)測試 系統(tǒng)測試就是通過測試活動使軟件系統(tǒng)達(dá)到需求時(shí)提出的各項(xiàng)要求,檢測和排除錯(cuò)誤。測試總是在假設(shè)程 序中存在缺陷的前提下,再通過執(zhí)行程序來發(fā)現(xiàn)并最終改正缺陷。世界上沒有完美無缺的程序,任何程序都或多或少的存在錯(cuò)誤,系統(tǒng)測試的目的是盡可能多的去發(fā)現(xiàn)程序 所存在的錯(cuò)誤,提高程序的質(zhì)量。要盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤不是一件輕而易舉的事情。需要找到相關(guān)的測試的方法,而要找出
18、系統(tǒng)中 所有的錯(cuò)誤,那只是一種設(shè)想。試想一下目前我們使用非常廣泛的Windows 操作系統(tǒng),還一直被程序的許多漏洞所困擾,微軟一直在提供相關(guān)的補(bǔ)丁,使系統(tǒng)能穩(wěn)定的運(yùn)行。測試一個(gè)系統(tǒng),一定要明確是尋找系統(tǒng)中的缺陷和錯(cuò)誤,如果是去證明系統(tǒng)的正確性,那么測試的時(shí)候, 就會按照系統(tǒng)的流程去測試,這樣就不可能發(fā)現(xiàn)程序中的錯(cuò)誤,這樣的測試是毫無意義,也是沒有必要的。一個(gè)成功的測試示例在于發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的缺陷。 對一個(gè)系統(tǒng)的測試容有:功能性測試:測試軟件功能是否滿足設(shè)計(jì)要求,當(dāng)給定合理的數(shù)據(jù)輸入,系統(tǒng)能否得到預(yù)期的結(jié)果。功 能性測試是系統(tǒng)成立的前提。容錯(cuò)性測試:當(dāng)給定的數(shù)據(jù)偏離合理數(shù)據(jù)圍時(shí),系統(tǒng)能否正常
19、運(yùn)行而不至于系統(tǒng)癱瘓或不會得出啼笑皆非 的結(jié)果。性能與效率測試:性能與效率測試主要是測試軟件的運(yùn)行速度和對資源的利用率。一個(gè)好的系統(tǒng)應(yīng)該盡可 能低的占用計(jì)算機(jī)資源,且運(yùn)行效率高。易用性測試:系統(tǒng)提供的使用方法是否方便。一個(gè)好的系統(tǒng)應(yīng)該有好的應(yīng)用界面,使用戶操作方便、輸入 輸出直觀。當(dāng)對系統(tǒng)進(jìn)行具體測試時(shí),有多種測試手段: “白盒測試”是指開發(fā)人員從程序部對上述容進(jìn)行測試。 “白盒測試”針對程序部邏輯結(jié)構(gòu),對所有邏輯路徑進(jìn)行測試。測試時(shí),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。 “黑盒測試” ( 又稱為功能測試或數(shù)據(jù)驅(qū)動測試 ) 是把測試對象看作一個(gè)黑盒子。利用黑盒測試法進(jìn)行動 態(tài)測試時(shí),需要測試軟
20、件產(chǎn)品的功能,不需測試軟件產(chǎn)品的部結(jié)構(gòu)和處理過程。五、運(yùn)行維護(hù) 運(yùn)行維護(hù)是將系統(tǒng)投入運(yùn)行,并對投入運(yùn)行的軟件進(jìn)行修改調(diào)整,使軟件系統(tǒng)能適應(yīng)外界環(huán)境的變化、實(shí) 現(xiàn)功能擴(kuò)充和質(zhì)量改善。前面我們已經(jīng)提到,系統(tǒng)不可能是完美無缺的。當(dāng)系統(tǒng)投入使用后,系統(tǒng)中的缺陷就會不斷暴露出來,系 統(tǒng)投入使用的開始,也是系統(tǒng)不斷維護(hù)的開始。系統(tǒng)維護(hù)的終結(jié),也是系統(tǒng)“死亡”的時(shí)刻。維護(hù)主要分三類:糾錯(cuò)性維護(hù): 由于前期的測試不可能揭露軟件系統(tǒng)中所有替在的錯(cuò)誤, 用戶在使用軟件時(shí)仍將會遇到錯(cuò)誤, 診斷和改正這些錯(cuò)誤的過程稱為糾錯(cuò)性維護(hù)。適應(yīng)性維護(hù)。由于新的硬件設(shè)備不斷推出,操作系統(tǒng)和編譯系統(tǒng)也不斷地升級,為了使軟件能適應(yīng)新
21、的環(huán) 境而引起的程序修改和擴(kuò)充活動稱為適應(yīng)性維護(hù)。完善性維護(hù)。在軟件的正常使用過程中,用戶還會不斷提出新的需求。為了滿足用戶新的需求而增加軟件 功能的活動稱為完善性維護(hù)。參考資料:1本章的部分容引用了浙大林銳博士的 軟件工程思想 。2軍、朱敏、徐冬梅、翟玉慶編著 大學(xué)計(jì)算機(jī)基礎(chǔ)基本概念及應(yīng)用思維解析高等教育第二部分 教師住房管理系統(tǒng)一 題目與要求 要求 該系統(tǒng)在磁盤中存儲全校住學(xué)校宿舍的教師住房信息。對每一住戶存儲如下信息:戶主: 、性別、職稱 ( 教授、副 教授、講師、助教 ) 、出生年月、參加工作年月和最后學(xué)歷( 博士、碩士、本科、其他 ) ;家庭成員:對每一個(gè)成員,存儲、性別和出生年月;
22、現(xiàn)住房等級 ( 分別為集體宿舍、一室、一室一廳、二室、二室一廳、三室、三室一廳 ) 和現(xiàn)住房面積 ( 單 位;平方米 ) 。當(dāng)學(xué)校有房源后,各住戶可提出分房申請 ( 含、申請住房的等級 )。系統(tǒng)功能要求如下:(1)創(chuàng)建存儲教師住房信息的存儲系統(tǒng);(2)分房時(shí),系統(tǒng)應(yīng)為申請者輸入申請信息 (存盤) 。對于所有分房者按申請等級不同( 共 6 級)分別按分?jǐn)?shù)高低列表 ( 一種等級一表 ) 輸出 ( 同時(shí)存盤 ) 。計(jì)分方法如下,職稱分:教授, 20 分;副教授, 16 分;講師, 12 分;助教, 8 分。工齡分: 每年 05分;每月 00416 分。年齡分:每歲 0 1分;每月 O0083分。學(xué)齡
23、分:博士, 4 5分;碩士, 325分,本 科, 2 分;其他, 0 分。每表應(yīng)含申請?jiān)摰燃壍?、職稱、參加工作年月、最后學(xué)歷、原住房等級、職稱分、工齡分、年齡 分、學(xué)齡分及總分。每表按總分從高到低排列。(3)可輸出婚后仍分居集體宿舍者的戶主及出生年月,這類教師的總數(shù)。(4)可輸出未住上三室一廳或三室的副教授、教授及現(xiàn)住房標(biāo)準(zhǔn),這類教師的總數(shù)。(5)可輸出未住上一室一廳及以上等級的具有博士學(xué)位的教師及住房標(biāo)準(zhǔn)。(6)可輸出全校教師人均 (包括家庭人口 ) 住房面積。 提示 (1)MFC 應(yīng)用:創(chuàng)建教師住房信息類,包書戶主信息、家庭成員信息和住房情況等( 其中可以定義結(jié)構(gòu)體或類或枚舉類型表示某部分
24、信息,如住房等級可用枚舉類型表示) ,應(yīng)派生自 CObject ,類,并實(shí)現(xiàn)序列化操作;在文檔類中添加存儲教師住房信息的鏈表或數(shù)組 ( 可用 MFc的集合類 ) ,在文檔類 Sefiize() 函數(shù)中實(shí)現(xiàn)序列化; 通過菜單打開對話框,在對話框 中輸入有關(guān)信息和查詢信息 (用多個(gè)對話框 ) ;視圖類顯示查詢結(jié)果;教師住房的信息可保存到文件并可讀出。( 2) 控制臺應(yīng)用:創(chuàng)建教師住房信息類,類似提示1;定義存儲教師住房信息的鏈表或數(shù)組。數(shù)據(jù)流圖2.1 頂層數(shù)據(jù)流圖各類住房信息匯總家庭成員基本信息 戶主基本信息 現(xiàn)住房等級 現(xiàn)住房面積圖 1 教師住房管理系統(tǒng)數(shù)據(jù)流圖(第0 層)相應(yīng)的數(shù)據(jù)詞典條目:數(shù)
25、據(jù)流名: 家庭成員基本信息 組 成:成員 +性別 +出生年月 數(shù)據(jù)流名: 戶主基本信息 組 成 :+性別 +職稱 +出生年月 +參加工作年月 數(shù)據(jù)流名: 現(xiàn)住房等級 組 成:級 注 : 共分六級 數(shù)據(jù)流名:現(xiàn)住房面積 組 成:平方米 第一層數(shù)據(jù)流圖1、2、3、4、2.2+最后學(xué)歷教師及家庭成員基本信息原住房等級輸出讀入信息總表信信息息處理理各個(gè)等級戶主 信息表各個(gè)等級戶主 總數(shù)人均住房面積圖 2 教師住房管理系統(tǒng)數(shù)據(jù)流圖(第一層)數(shù)據(jù)流名:信息總表組 成: 戶主信息家庭信息 + 原住房等級 文 件 名:各個(gè)等級戶主信息表組 成:戶主信息 +住房標(biāo)準(zhǔn) +總數(shù)2.3 關(guān)于加工“輸出”的分解戶主住房
26、信息總表A 住集體宿舍教師輸出婚后仍分居集體宿舍者的戶主及住上三室一廳或三室的副教授、教授B 教師信息表及住房標(biāo)準(zhǔn)及這類教師的總數(shù)表總?cè)藬?shù)表房面積C 全校教師人均住信息及總數(shù)出生年月及這類教師的總數(shù)表未住上一室一廳及以上等級的具有博士學(xué)位的教師及住房標(biāo)準(zhǔn)表輸出全校教師人均 (包括家庭人口 ) 住房面積圖 3 加工“輸出”的分解圖 4 教師住房管理系統(tǒng)數(shù)據(jù)流圖下面考慮三個(gè)第一層模塊的下屬模塊。 由于輸入的功能就是“讀入”加工的功能再設(shè)計(jì)“輸出”模塊的下屬模塊。面考慮設(shè)計(jì)“信息處理”模塊的下屬模塊至此,我們可以畫出整個(gè)軟件的模塊結(jié)構(gòu)圖。如圖。其中每一個(gè)模塊都用了一個(gè)表示符合給予命名申請不同等級住房
27、的住戶住戶信息庫分類查詢結(jié)果報(bào)表其他查詢結(jié)果圖 6 輸出模塊下屬模塊圖 7 “信息處理”及其下屬模塊申請不同等級住房的住戶住戶信息戶主屬性庫查詢要求2.錄入住戶 基本信息及 相關(guān)處理3.基 本 查 詢信息家庭成員性庫分類查詢結(jié)果報(bào)表圖 8 系統(tǒng)的模塊結(jié)構(gòu)圖三 畫模塊結(jié)構(gòu)圖3.1 教師住房管理主模塊模塊名: ROOMMANNAGEMENT 輸入: 住戶基本信息 、 申請信息 、查詢要求 輸出: 分類查詢結(jié)果報(bào)表 、分房結(jié)果 、不同等級住戶信息 功能:建立查詢總表調(diào)用以下模塊: READIN、TREATINF、 EXPORT3.2 讀入 模塊 模塊名: READIN 輸入: 住戶基本信息 、 申請
28、信息 輸出: 信息總表 功能:將 住戶基本信息 、 申請信息 存入指定的 信息總表 中。3.3 信息處理 模塊 模塊名: TREATINF 輸入: 信息總表 、 查詢要求 輸出: 結(jié)果查詢總表 功能:將 信息總表 息折算成分?jǐn)?shù),并按總分從高到低排成 結(jié)果查詢總表 3.4 輸出 模塊 模塊名: EXPORT 輸入: 基本查詢要求 、 申請分房等級 輸出: 分類查詢結(jié)果報(bào)表 、分房結(jié)果 和 申請不同等級住房住戶信息 中的一項(xiàng)或幾項(xiàng)的屏幕形象或紙面現(xiàn)象。 功能:將 分類查詢結(jié)果報(bào)表 、分房結(jié)果 和 申請不同等級住房住戶信息 中的一項(xiàng)或幾項(xiàng)在屏幕或打印機(jī)上顯 示出來。3.5 排序 模塊 模塊名: AR
29、RANGE 輸入: 申請等級 、基本信息 輸出: 輸出總表 功能:將 分?jǐn)?shù) 按總分從高到低排序。 調(diào)用以下模塊:無3.6 輸出查詢結(jié)果 模塊 模塊名: PRNPER 輸入: 查詢要求 輸出: 查詢報(bào)表 的屏幕或紙面形象。 功能:將 各種查詢報(bào)表 在屏幕或紙面上顯示。 調(diào)用以下模塊:無 注釋:該模塊與數(shù)據(jù)流圖中的加工 各種查詢報(bào)表 對應(yīng)四 詳細(xì)設(shè)計(jì)( VC+語言)4.1 系統(tǒng)中所用的數(shù)據(jù)結(jié)構(gòu)模塊int i;double year,month;后續(xù)函數(shù)中所需的中間變量class datapublic:日期類double year,month;年、月;class djb等級表類public:char
30、 name100;int zc;職稱( 1 教授;2 副教授 ;3 教師 ;4 助教)data cjgzny;參加工作日期int zhxl;最后學(xué)歷( 1 博士 ;2 碩士 ;3 本科;4 其他)int yzfdj;原住房等級( 1 集體宿舍; 2 一室; 3 一室一廳; 4 二室; 5 二室一廳; 6 三室; 7 三室一廳)double zcf,glf,nlf,xlf;職稱分、工齡分、年齡分、學(xué)齡分double mark;總分;class jiatingchengyuan家庭成員類public:char cyname100;成員int sex;/成員性別( 1 stands for male
31、,2 stands for female)data csrq;出生日期;class huzhu戶主類public:char hzname100;戶主int sex;戶主性別( 1 stands for male,2 stands for female)int zhicheng;戶主職稱( 1 教授;2 副教授 ;3 教師;4 助教;)data csrq;出生日期data cjgzrq;參加工作日期int zuihouxueli;最后學(xué)歷( 1 博士 ;2 碩士 ;3 本科;4其他;);class jszfxx教師住房信息類public:huzhu hz;戶主int jtrs;家庭人數(shù)jiati
32、ngchengyuan jtcy100;家庭成員類家庭成員數(shù)組int xzfdj;現(xiàn)住房等級( 1 集體宿舍; 2 一室; 3一室一廳; 4 二室; 5 二室一廳; 6 三室; 7 三室一廳;)int xzfmj;現(xiàn)住房面積(單位:平方米; )double fenshu;分?jǐn)?shù)int sqzfdj;申請住房等級( 1 集體宿舍; 2 一室;3 一室一廳; 4 二室; 5二室一廳; 6 三室; 7 三室一廳;)jszfxx *next; 教師住房信息類指針 ;4.2 戶主信息輸入模塊jszfxx *creat()jszfxx *head,*p1,*p2;int rs=1;head=new(jszf
33、xx);p1=p2=head;int n=1;分別輸入戶主個(gè)人信息及家庭成員信息并輸出存儲在文檔中while(1)if(n=1)head=p1;else p2-next=p1; p2=p1;p1=new(jszfxx);n+;coutii;if(ii=2)break;rs+;再次輸入戶主個(gè)人信息及家庭成員信息并輸出存儲在文檔中 p2-next=NULL;delete p1;return head;4.3 申請住房信息輸入模塊 void ffxt(jszfxx *head) fstream outfile( 教師申請住房信息 .txt,ios:out); int iii;int rs=0;doc
34、outa;jszfxx *p1=head;do if(*(p1-hz.hzname)=*a) 輸入與申請住房相關(guān)的各類信息cout 是否繼續(xù)輸入申請信息 ? 1、繼續(xù); 2、停止 iii;while(iii!=2);無人申請 !;if(rs=0)outfilehz.zhicheng=1)s=s+20; elseif(p1-hz.zhicheng=2)s=s+16; elseif(p1-hz.zhicheng=3)s=s+12; else s=s+8;double p,q;工齡分年齡分學(xué)齡分p=(year-p1-hz.cjgzrq.year)*0.5+(month-p1-hz.cjgzrq.mo
35、nth)*0.0416; q=(year-p1-hz.csrq.year)*0.1+(month-p1-hz.csrq.month)*0.0083; s=s+p+q;if(p1-hz.zuihouxueli=1)s=s+4.5; elseif(p1-hz.zuihouxueli=2)s=s+3.25;else s=s+2; p1-fenshu=s;4.5 各類信息輸出模塊void diyidengji(jszfxx *head); void dierdengji(jszfxx *head); void disandengji(jszfxx *head); void disidengji(jsz
36、fxx *head); void diwudengji(jszfxx *head); void diliudengji(jszfxx *head);void hunhou(jszfxx *head); void weisan(jszfxx *head);void weiyi(jszfxx *head);void quanxiao(jszfxx *head);p1=p1-next;申請一室住房(按順序排名并存盤) 申請一室一廳住房(按順序排名并存盤) 申請二室住房(按順序排名并存盤) 申請二室一廳住房(按順序排名并存盤) 申請三室住房(按順序排名并存盤) 申請三室一廳住房(按順序排名并存盤) 輸
37、出婚后仍分居集體宿舍者的戶主及出生年月,這類教師的總數(shù)。輸出未住上三室一廳或三室的副教授、教授及現(xiàn)住房標(biāo)準(zhǔn),這類 教師的總數(shù)。輸出未住上一室一廳及以上等級的具有博士學(xué)位的教師及住房標(biāo) 準(zhǔn)。輸出全校教師人均 ( 包括家庭人口 ) 住房面積 。5 編程(略)第三部份成績評定標(biāo)準(zhǔn)第四部分用戶說明書本教師住房管理系統(tǒng)全部代碼均由 C+編寫而成,用于教師住房信息的創(chuàng)建、修改、刪除、排序、 查找以及查詢相關(guān)教師住房信息。使用本軟件,只需運(yùn)行其中的“教師住房管理系統(tǒng) .cpp ”即可。本系統(tǒng)主要功能如下:1 創(chuàng)建存儲教師住房信息。2 分房時(shí),為申請者輸入申請信息 (存盤 )。3對于所有分房者按申請等級不同
38、(共6級)分別按分?jǐn)?shù)高低列表 (一種等級一表 )輸出(同時(shí)存盤 ) 4 各類信息的查詢A輸出婚后仍分居集體宿舍者的戶主及出生年月,這類教師的總數(shù)。 B輸出未住上三室一廳或三室的副教授、教授及現(xiàn)住房標(biāo)準(zhǔn),這類教師的總數(shù)。 C輸出未住上一室一廳及以上等級的具有博士學(xué)位的教師及住房標(biāo)準(zhǔn)。D輸出全校教師人均 ( 包括家庭人口 ) 住房面積。本系統(tǒng)具體操作如下:1 創(chuàng)建存儲教師住房信息當(dāng)打開本系統(tǒng)進(jìn)入管理界面,出現(xiàn)如下界輸入 1 進(jìn)入教師住房信息創(chuàng)建系統(tǒng),系統(tǒng)如圖:這時(shí)用戶可按照自己的信息輸入,系統(tǒng)會為用戶自動將信息存盤。輸入完后將進(jìn)入下一界面:此時(shí),如需創(chuàng)建下一教師住房信息,輸入 1 繼續(xù),否則輸入
39、2 。本此操作為介紹所需(戶主押書凱,家庭成員吳凱燁聰) 為簡便起見,直接進(jìn)入下一程序。輸入 2 后界面如下:2. 分房時(shí),為申請者輸入申請信息 ( 存盤) 接 1 最后一圖,輸入 1 后界面如下:此時(shí)便是第 2 條功能,申請者輸入申請信息。輸入信息后,界面如下:3對于所有分房者按申請等級不同 (共 6 級)分別按分?jǐn)?shù)高低列表 (一種等級一表 )輸出( 同時(shí)存盤 )上述操作完成后,會自動生成txt 文件“教師申請住房信息”、 “教師住房信息”:4. 各類信息的查詢 :此時(shí)結(jié)束申請信息的輸入后會出現(xiàn)如下界面: 輸入 1 進(jìn)入。 然后出現(xiàn)如下界面:按照系統(tǒng)提示可進(jìn)行相關(guān)信息的查詢(此次查詢包含有第 3 條功能需求的部分)和第 4 條的功能如下: A輸出婚后仍分居集體宿舍者的戶主及出生年月,這類教師的總數(shù)B輸出未住上三室一廳或三室的副教授、教授及現(xiàn)住房標(biāo)準(zhǔn),這類教師的總數(shù) C輸出未住上一室一廳及以上等級的具有博士學(xué)位的教師及住房
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:建構(gòu)自主知識體系視域下的檔案學(xué)術(shù)語革命研究
- 2025版委托擔(dān)保合同樣本:醫(yī)療器械注冊融資擔(dān)保協(xié)議6篇
- 2025版小學(xué)學(xué)生安全責(zé)任追究與保障協(xié)議15篇
- 二零二五版煤炭行業(yè)運(yùn)輸成本控制協(xié)議4篇
- 2025年貨運(yùn)從業(yè)資格證網(wǎng)上考核app
- 2025年度文化創(chuàng)意產(chǎn)業(yè)合作合同4篇
- 個(gè)人住宅租賃合同模板(2024年修訂版)版B版
- 2025版?zhèn)€人小產(chǎn)權(quán)房屋買賣合同范本及操作指南4篇
- 2024物業(yè)公司提供住宅小區(qū)互聯(lián)網(wǎng)接入服務(wù)合同
- 2025版學(xué)校浴池?zé)崴?yīng)系統(tǒng)優(yōu)化承包合同3篇
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- 化學(xué)-福建省龍巖市2024屆高三下學(xué)期三月教學(xué)質(zhì)量檢測(一模)試題和答案
- 凸優(yōu)化在經(jīng)濟(jì)學(xué)與金融學(xué)中的應(yīng)用
- 家譜、宗譜頒譜慶典講話
- 高速公路收費(fèi)員培訓(xùn)課件
評論
0/150
提交評論