時間:2023-03-20 16:19:13
序論:在您撰寫計算機行業論文時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
如果電力系統中缺少嚴格的驗證機制,或者不同業務系統之間缺乏有效的訪問控制,可能導致非法用戶使用到關鍵業務系統,引發非法侵入的業務安全風險。
2電力行業計算機應用網絡安全結構的內容
基于電力行業所面臨的網絡安全風險,為保障整個電力系統的安全、穩定運行,必須建立一套符合電力行業自身特點的網絡安全結構。而所謂電力行業計算機應用網絡的安全結構,即是應用和實施一個基于多層次安全系統的全面網絡安全策略,在多個層次上部署相關的安全產品,以實現控制網絡和主機存取,降低系統被攻擊危險,從而達到安全防護的目的。網絡安全結構的內容主要有以下幾個方面:2.1網絡安全防護結構體系電力行業網絡安全防護的基礎是網絡安全域的劃分。根據《電網和電廠計算機監控系統及調度數據網絡安全防護規定》的要求,電力系統的網絡可劃分為四級網。其中,電力調度生產控制與實時監測可作為一、二級網,它與三、四級網絡是進行物理隔離的。第三級網為DMIS網,第四級網為MIS網,網絡安全防護的重點也是第三、第四級網絡。根據整個電力行業計算機應用網絡的特點,還可對三、四級網絡進行進一步安全域的劃分,并劃清網絡的邊界,綜合采用路由器、防火墻、入侵監測等技術對三、四級網絡進行綜合防護。2.2安全防護技術的應用電力行業網絡安全防護技術,主要包括了防護墻技術、漏洞掃描技術、入侵檢測技術、病毒防治技術等,這些安全防護技術作為網絡防護結構的基礎組成部分,在統一的安全策略指導下,以保障系統的整體安全。其中,防火墻技術、入侵檢測技術和漏洞掃描技術,主要是針對內部信息系統不同安全域進行的安全防護;而病毒防治技術則主要是面對電力系統內的客戶端及各種服務器提供安全服務。
3電力行業計算機應用網絡安全結構的設計
3.1網絡安全結構設計的原則
(1)安全性原則。是指網絡安全結構的設計方案,應充分確保電力系統的安全性;所采用的安全技術產品應有著良好的產品質量與可靠性,以充分保證系統的安全。
(2)一致性原則。主要是電力行業網絡安全問題應與整個網絡的工作周期同時存在,所制定的安全體系結構也必須與網絡的安全需求相一致。
(3)易操作性原則。網絡安全結構的相關技術措施需要由人為去完成,如果所采用的技術措施過于復雜,對人的要求也過高,這自身就降低了系統的安全性。
(4)分布實施原則。由于電力網絡系統隨著規模的擴大和應用領域的增加,網絡受到攻擊的可能性也不斷增加,想一勞永逸的解決電力網絡安全問題是不現實的,而且網絡安全措施的實施也需要相當的費用支出。因此,網絡安全結構的建設可采用分布實施的方式,既可滿足當前網絡對信息安全的需要,也可為今后系統的擴展與完善奠定良好的基礎。
3.2網絡安全結構具體設計方案的應用
(1)電力系統局域網內部網絡安全結構設計整個電力行業計算機應用網絡,不僅會受到外部的攻擊,也同時會受到內部攻擊。內部網絡主要是指用于控制電力設備以及采集運行數據的設備層網絡系統,如SCADA系統DSC系統等,由于這部分網絡需和電力控制設備之間直接進行數據間的交換,任何非法入侵的數據都可能引發電力設備的故障,并可能導致整個電網的安全運行受到影響。為了有效解決內網的安全防護問題,可在電站系統的局域網內部,使用防火墻技術對不同的網段進行隔離,并且采用IPS設備加強對關鍵應用部位的監控與保護。如圖1所示,即為電力系統局域網內部網絡安全結構設計。在該設計方案中:
①使用防火墻集群將內部與外部網絡隔離,保證電力網絡外部的攻擊與漏洞掃描等,不會影響到內網數據的正常傳輸與交流;
②再將內部網絡的不同區域進行隔離,使之能具備不同級別的訪問權限,以有效保證內網數據的安全性;
③對電站關鍵部位的安全防護還可采用IPS裝置,以保證內部重要數據的可監控性、可審計性以及防止惡意流量的攻擊。
(2)省級電力骨干網絡安全結構設計省級電力骨干網絡的核心中部署有眾多的業務,如用電營銷、工程管理、辦公自動化系統、電力生產信息平臺以及GIS系統等,同時還包含了與其它企業及各種服務系統的系統。正是由于各種業務的流量都需由電力骨干網絡進行傳輸和匯集,對網絡的安全性與可靠性也有著極高的要求。因此,對于省級電力骨干網絡的安全結構設計,可部署2~4點的防火墻集群作為網絡系統的省級安全核心,并對系統的多鏈路情況進行負載均衡,以充分滿足省級電力骨干網絡對安全防護的要求。省級電力骨干網絡的安全結構建設,主要包括了兩方面的任務:
①利用防火墻技術對外部接口區域和內部服務器區域進行劃分,并綜合應用病毒防治技術、漏洞掃描技術等多種安全防護技術,從而實現系統在訪問控制、漏洞掃描、病毒防護、入侵檢測、集中安全管理以及日志記錄等多個環節的安全防護;
②通過安全結構的建設以實現系統多鏈路情況下的負載均衡,保證系統具有足夠的收發速度和響應速度,并能有效避免網絡服務的中斷。
(3)電力廣域網整體網絡安全結構設計對于整個電力系統的廣域網,為了保證端對端、局對局的安全性,并有效保證整個系統的安全性與可靠性,可對整個電力廣域網采用分布式的安全結構設計方案。其安全結構的特點是:
①通過分布式架構,可以使廣域網的安全結構真正實現多臺防火墻的同時Active技術,有效保證了網絡的安全性。
②通過過濾規則設置,可以實現對廣域網內部資源對外開放程度的有效控制,尤其是電力公司和Internet公共網絡之間的連接可僅開放某特殊段的IP端口,從而有效避免了病毒攻擊和非法侵入。
③通過客戶端認證規則的應用,可以確保電力廣域網不同的內部用戶享受到不同的訪問外部資源的級別。同時還對內部用戶嚴格區分網段,其自動的反地址欺騙有效杜絕了從外網發起的對于內網的訪問,而對于內網發起的對外網的訪問則可以不受到限制。
4總結
在領悟SWEBOK基本精神,認真學習GSwE2009及《規范》的基礎上,針對一般行業院校碩士生培養目標是以培養從事行業軟件開發及項目管理工作的軟件工程和信息化應用人才為主的現狀,筆者建立計算機科學與技術專業民航特色的高級軟件工程教學大綱,見表1。表1的教學大綱設計兼顧SWEBOK及GSwE2009的核心知識體系,對SWEBOK的核心知識覆蓋率達到76%,對GSwE2009覆蓋率達到63.6%。然而,不管是SWEBOK還是GSwE2009,其核心知識點都是針對整個專業課程體系而設置,SWEBOK的《規范》建議494學時的最小核心學時數,GSwE2009則建議270學時的核心學時及200學時的交流學時,要在36學時內完成上述核心知識的詳細講授,顯然不可能。因此,表1的設計本著宏觀上抓概念、抓流程,微觀上抓工具、抓編程的基本思想,在教學手段上,采用課內外一體化教學模式,要求學生在課下完成所有仿照案例的完整開發過程;在教學方法上,以案例推動軟件過程概念及軟件編碼的學習,以工具熟悉軟件過程管理及軟件質量管理。要求通過該課程的學習,學生能熟練掌握軟件開發過程的宏觀概念,最終交付項目計劃報告、基于MSProject的軟件項目過程管理文檔、經過3次迭代的原形軟件及相關需求分析和軟件設計文檔,完成課程總結報告。
2民航特色的教學案例設計
教學案例設計是高級軟件工程實施的核心內容之一,考慮到選課的大部分研究生已經具備基本的編程能力,但缺少軟件過程管理的相關概念,結合中國民航大學特色及研究生就業趨向,筆者參考國際研究生教育現狀[5]及文獻[6]的模式,開發了一套基于民航航材管理業務的教學案例,用以完成課內教學。該教學案例以某航空公司航材管理系統為背景,采用敏捷開發思想進行過程管理,循序漸進,分3次迭代完成簡單的原型系統開發。第1次迭代在介紹航空公司航材管理需求的基礎上,建立系統的業務環境圖,結合需求分析方法,利用ROSE工具建立業務用例及業務術語表。進一步地,縮小系統范圍,只針對高價周轉件的增刪改查操作建立領域對象模型,包括領域用例模型、用例術語表、領域類模型,同時完成基本的編程實現。第2次迭代首先講述體系結構設計的基本方法,基于MVC框架建立更適合信息系統開發的體系結構框架——PCMEF(表示—控制—中介者—實體—基礎)[6]。在此基礎上進一步細化第1次迭代需求,功能上增加高價周轉件的供貨方管理、合同管理功能;其次建立用例模型和用例文檔,采用序列圖、通信圖、交互圖等描述事務處理流程,進行概念類設計,對第1次迭代的設計按照PCMEF框架完成體系結構重構,完成用戶界面設計,最終編碼實現。第3次迭代增加高價周轉件使用統計報表、機型使用記錄、考慮機務維修周期的周轉件庫存管理等功能,設計上重點考慮數據庫的安全性與完整性設計,同時基于JavaEJB體系結構建立業務組件,完成較高水平的軟件編程;編寫測試用例,完成整體測試。在上述3次迭代完成后,要求學生寫出項目總結。筆者所在學院擁有一個行業特色鮮明的民航信息系統仿真實驗室,該實驗室目前擁有民航機務維修仿真實驗系統、機場信息仿真實驗系統、航空公司運行控制仿真系統、民航全球分銷仿真實驗系統等行業主流信息系統的仿真平臺。學生在前序課程學習中,對這些信息系統的基本功能和相關業務已經有了一定程度的了解。
3教學組織與管理
3.1項目驅動教學法課程教學借鑒CDIO的教學思想,在講授完軟件過程模型及軟件建模語言后,將學生每5人分組,每個人承擔不同的角色,角色包括甲方需求提供人員、乙方項目經理、乙方質量保證人員、乙方編程人員(2人)。在整個學習過程中,經過一定時間后,每個人的角色可以互換。在講授完案例1后,教師可以要求學生結合某個民航信息系統仿真系統,選擇感興趣的民航業務領域,分組完成項目計劃任務書并使用MSProject完成項目的進度安排、人員分工、虛擬費用預算等。進一步地,使用Rose工具進行需求分析及UML建模,完成用例圖、術語表、類圖等分析設計,最后進行第1次迭代的編碼并編寫測試用例完成測試。在講授完案例2后,教師可以要求學生在功能擴展的基礎上,采用PCMEF模式對第1次迭代程序進行重構并完成編碼與測試工作,同時要求項目經理使用MSProject,跟蹤和檢查項目實際進度與虛擬費用預算,進行適當調整。本次學習重點在于體系結構設計、增量模式開發思想。在講授完案例3后,教師可以要求學生繼續擴展功能,重點進行數據庫與業務組件設計。
3.2成績評定在課程進展的每個階段,教師展示實際軟件公司的文檔范例,要求每組提交該次迭代的相關文檔,進行軟件演示并答辯。答辯內容包括項目計劃制訂、人員分工、虛擬成本、進度偏差分析、預算偏差分析、程序設計技術、缺陷分析等。評委由教師及各組項目經理組成。成績評定包含文檔規范性、設計合理性、實現正確性、項目過程管理執行情況4項內容。課程整體結束前,由3次迭代的評定成績取均值作為小組平均成績,最后小組項目經理和教師共同依據小組中個人對項目的貢獻以及小組均值打分,將其作為個人成績。
4結語
【摘要】
本文以某通信公司的業務報表系統開發為例,討論了軟件需求分析工具與方法的選用。我們認為,軟件需求分析是軟件工程中重要的一步,直接關系到后繼工程的進行以及最終的產品能否滿足用戶的需求,因此在整個工程中起著關鍵性的作用。采用適當的工具,有可能顯著減少需求階段的錯誤,也可大幅度提高需求分析的質量和工作效率。當然工具的選用應當與實際的項目相結合,充分地發揮工具的作用。本文結合我們工作的實際經歷,簡要討論了開發系統時所選用的工具及其應用,選用時所考慮的原則以及所碰到的問題。在文中也結合多種開發方法(即傳統的瀑布法、信息工程法、面向對象的方法)的比較,指出各種方法的不足之處,說明我們所采用的工具對軟件需求分析所起的作用,以及相應產生的效果。
【正文】
我在某市一家通信公司工作,作為一名技術骨于,受領導委托,參與了開發本公司的業務報表系統,我擔任系統的需求分析、總體設計和部分代碼的編寫工作。
我所在的企業作為一家通信運營公司,分為總部、省級公司和地市級分公司三級,各級公司之間都有數據報表的要求。但是,每一個地市分公司因所處的地方不同,經營環境不同,所面臨的問題也不一樣,因此形成了各具特色的數據報表(除地市分公司向省公司匯報的之外)。公司又分設了許多部門,這些部門也都會需要數據,作為分析決策的依據。因此,了解各個部門的需求就成了業務報表系統的關鍵。
在調研的過程中,我選用了一種工具叫Play CASE,可以從網上免費下載,有很強的功能。下面就介紹一下,在需求分析階段,我是如何使用這一工具的。
第一步,了解業務組織結構。公司內部的數據實際上是在部門之間流動的。業務部門需要知道在本地覆蓋區內各基站的話務量、當天的話務量(即話務量的時空分布)。財務部門需要知道本月各類用戶的話費收入、預交款收入、與其他電信運營商的網間結算等。計劃部門需要各部門的分析數據。計費部門需要提供本月的賬革統計數據、話單統計數據分布(比如分別按照基站分布、時段分布以及按用戶類別分布)、預交款統計數據、當前的欠費總額分布、催繳情況等等。這些部門時常為了數據而產生了大量無謂的爭議。在使用Play CASE工具時,先要將這些部門錄入到Play CASE的“業務部門”中.構成了一個信息源的接收點(或發送點);而Play CASE通過圖示表示了這些部門的關系,并轉換成了相應的軟件結構。實際上,這是一種系統建模的方法,即把業務系統中的各個組織轉變為軟件功能中的各個結構。這樣,在需求分析階段,明確哪些部門需要數據,從而保證了需求分析對整個公司的全面性,而不會忽略掉某一個部門,導致需求分析的不完整。
第二步,了解各個業務部門中的業務流程,使之通過Play CASE轉換成軟件的運行過程,這是一種動態建模的方法。在上一步的基礎上,追蹤各個部門的行為,錄入到Play CASE中,并以形式化的語言描述各過程。對于復雜的過程,該工具還提供了進一步細化的方法,并且形成了業務流程圖和業務狀態圖。根據這些流程圖、狀態圖與實際業務部門的業務相結合比較,還是較為吻合的。在此步的實施過程中,運用了動態建模技術,使各部門業務流程的情況在軟件的運行過程反映出來,從而保證了需求分析階段中運行過程的描述能真實地反映實際情況,防止在后繼的程序編寫過程中,可能會經常發生的一類情況:程序員因為沒有理解業務流程而出現“閉門造車”的現象,從軟件的功能角度上保證了軟件的正確性。
第三步,將業務數據轉變為軟件數據,這一步工作實際上就是收集各部門所需要的數據。分析各部門需要的數據都有哪些;以及數據是如何轉換的,這可以歸入“功能建?!钡姆懂?。將這些相應數據錄入到Play CASE中,選定所屬的部門。這時就自動地建立了DFD圖(數據流程圖),數據字典,省去了人工建立時的很大麻煩。
第四步,將業務上的數據關系轉變成軟件中的數據關系。這里采用了面向對象的方法,把業務部門所需要的數據看作一個實體,部門間的數據關系就是實體之間的關系。比如:經營部門所需要的用戶資料、用戶話費,實際上就是用戶這一實體與賬單這一實體間的關系。Play CASE提供了構件(不過我覺得是部件更為合適一些),來表示對應的數據,并提供了三種構件的表示關系即組裝關系、分類關系與相連關系。這三類關系基本上反映出了現實世界中的業務數據之間的關系。例如現實世界中的用戶資料與用戶話費,在Play CASE中,可將用戶構件與賬單構件用相連關系表示。這種方法,實際上是借鑒了OOA面向對象的分析方法中的類、聚集、繼承、封裝等概念,能較好地反映出現實中的業務;同時,這一步的工作也為總體設計中數據庫的概念模式設計奠定了很好的基礎。
經歷了上述四個步驟以后,利用Play CASE工具自動生成了軟件需求規格說明書、初步的DFD圖和業務流程圖,為下一步的總體設計打好了基礎。
使用Play CASE工具,使需求分析既能繼承傳統的結構化分析方法,又能吸收面向對象設計方法的優點。比如能把業務流程轉變成為運行過程,業務組織轉變成了軟件的結構等都體現了這一點。而在運行過程中,對復雜過程的細分以及追蹤則反映了傳統方法中的自上到下分解的分析思想,這對于解決復雜系統的分析是很有幫助的。
通過使用,我覺得這個工具還是很不錯的。因為它實際將以下四個方面的問題結合起來了:軟件、業務、開發人員和用戶。對于用戶而言,Play CASE用圖形化的方式顯示出業務流程,使用戶了解業務在軟件中的運行過程,提供了將來驗收軟件時的依據。對于開發人員來說,使開發人員能更清楚地了解業務流程,不會再發生“因為不理解用戶的需求而出現的閉門造車情況,從而導致開發出來的產品不符合用戶需要”的現象。因此,Play CASE所自動提供的需求說明書能夠很好地溝通用戶與開發人員之間的理解,使他們都能對需求有共同的理解。
使用Play CASE工具后,使我們的需求分析取得了很好的效果,不但能自動地提供許多結果,如需求說明書等;還使需求的質量有了很大的提高,受到領導的贊揚(領導不是學計算機的,但對公司的業務十分熟悉);在后繼的設計與維護工作中,我們感到工作似乎輕松了很多。
【摘要】
基于Web技術的數據庫應用是當前應用的一個熱點,在用戶數目與通信負荷很大的場合,提高Web服務器性能是一個迫切的課題。本文從筆者參與某個銀行系統項目開發的經歷出發,闡述了提高Web服務器的性能應滲入到項目論證、選型、開發、運行和管理的各個環節,只有各個環節都能充分考慮到性能與質量的需要,系統的性能才是真正可保證的和可擴充的。
文章從系統的實際運行與相應的經驗出發,闡述了性能改進方面的一些具體措施。
比如:在本文中討論了Web服務器平臺的選型考慮;Web服務器的配置管理;應用系統本身的優化與預先設計系統時可擴性的性能保障等具體內容。
通過技術上的分析與改進,綜合性地運用多類措施與手段,在實際系統中,Web服務器運行的性能得到了一定程度的保證。
【正文】
我所在的單位是把目標定位于金融領域開發IT應用的一家信息技術公司。隨著金融電子化建設的發展和商業銀行之間市場競爭的加劇,各主要商業銀行不斷通過信息技術提供新的金融產品,并且希望能整合市場渠道。比如主要的商業銀行不斷推出形形的網上銀行服務。在這種背景下,本人參與了開發新一代網上銀行產品,涉及到提供網上個人理財服務、網上外匯買賣服務、網上企業服務等具有市場競爭力的產品。作為項目開發的組織者之一和主要的技術骨干,在整個項目開發過程中始終要處于第一線,從而在改進Web服務器性能、提高整個網上平臺系統性能方面收獲良多,在本文中簡要討論如下,希望與讀者們共享經驗。在Web服務器配置與優化方面,我有如下幾方面主要的體會:
第一方面是Web服務器選型考慮。
在Web服務器選型及網上平臺搭建之初,我們就已充分考慮整個網上平臺的性能及可擴展性問題。這一考慮為該系統的穩定性及擴展性能力方面打下了堅實的基礎。
某銀行原有的一些網上產品由于開發較早,故而采用的是老式的HTTP Server+CGI程序調用的方式。這時,每一客戶請求需要對應于后端系統的系統進程來運行CGI程序來處理,系統的開銷相當大,系統的擴展能力也很差,性能已不能滿足業務處理的需要,故而在為此銀行系統具體選型的時候,我們一開始就否決了這種方案。
通過市場上同類產品的比較選擇,我們選擇了國際商業機器有限公司IBM的Web Sphere產品系列作為該行網上銀行系統的建立平臺。作出這樣選擇是因為Web Sphere基于使HTTP Server和應用服務器相分離的整體架構,同時支持JSP、Servlet和企業組Java Bean等輕量級線程規范,所有的請求對應于應用服務器上的處理線程,系統的開銷低、效率非常高,同時Web Sphere整個體系結構相當的靈活,為適應擴展需要可以作不同的橫向和縱向擴展,從而可以滿足各銀行未來的擴展需要。
正是因為在一開始選型的時候我們就已考慮到未來的擴展需要,整個系統在接下來的幾次性能改進方面,我們大體上都能相對順利地達到了預期目標。
第二方面是Web服務器的性能配置。
在一開始系統上線的時候,由于系統的負荷不是很大,為了節省系統總擁有成本TCO投資,我們在一臺較低配置的IBM RS6000上投產了該系統。整個系統的HTTP服務器、應用服務器、通信服務器等均位于該臺機器上,由于初始投產時用戶不多,所以系統的性能基本上能令人接受。
但隨著業務的發展和用戶訪問量的增大,我們發現該服務器的響應變慢,系統的CPU利用率和內外存交換顯著增大。經過跟蹤,我們發現關鍵原因之一是系統的內存不足的緣故。由于網上服務器把大量用戶的會話信息保存在內存中供給應用系統使用,當內存不足時,大量Session信息被迫交換至硬盤,大量CPU時間消耗在等候內外存的交換上,系統效率迅速下降。
鑒于這種情況,我們把該服務器的內存由2GB擴充為4GB,同時相應調整用戶會話信息的保存時間,這樣整個系統的效率又回到較為理想的狀況。
由于新應用的不斷投產及數據庫操作的日益增加,我們后來逐漸監控到系統的數據庫處于繁忙狀態,系統的錯誤日志也記錄下了供應用服務器使用的數據庫連接處出現資源不足的情況。在這種背景下,我們認為整個系統由于硬件配置所限,應該進行橫向擴展,因此我們把數據庫服務器分離出來,配置到另一較高性能的服務器上,相應定義的數據庫資源也大幅增加,這樣整個系統的性能又處于較為理想的狀況。
第三方面是對應用系統進行相應的優化以提高性能。
Web服務器配置及相應的硬件擴展不失為解決系統性能問題的一條捷徑,但應用系統的優化也是應該重點加以考慮的,畢竟它能夠在投入較少的情況下提高系統的運用效率。
在開發的初期,我們就已經十分注意系統的利用效率,比如提醒程序員盡量不要利用用戶會話信息(Session)來傳遞大的對象,對于內存要注意回收等。同時,通過內部的交流會推廣與介紹一些小的、有用的編程技巧來提高開發人員的水平,通過代碼的抽查,希望能在早期就發現問題等。
在系統運行期間,我們通過監控發現,應用服務器所基于的Java虛擬機,其內存堆的空閑空間有不斷下降的趨勢,每隔若干天導致空間消耗殆盡、無法分配新對象空間,從而導致系統重啟。在排除了系統本身問題的原因外,我們確定為應用系統的開發有問題。通過從網上萬載IBM公司檢測Java虛擬機的相關工具對JVM進行監控后終于發現系統內部存在著不能回收內存的對象,再通過查找相應的程序發現在該程序中有“環狀”的對象引用,從而導致對象使用后不能被垃圾收集器所回收。這個問題的解決過程雖然十分艱苦,但由于該問題不能通過升級硬件或增加資源配置而得到根本解決,會給系統帶來很大的隱患。所以,整個過程的分析與解決是完全值得的,更何況通過查找故障原因的過程,給整個項目組上了生動的一堂軟件質量保證課,對項目組的質量意識起了很大的促進作用。
所以說改進Web服務器的性能井不單純是系統管理方面的工作,它滲透到開發以及
系統運行等一系列環節中。
第四方面預先考慮未來的擴展與性能需要。
隨著系統的發展及成熟,考慮到用戶訪問量的不斷上升,為了預留系統的發展空間,我們最近又對整個系統作了一個系統性的升級。通過引入多臺HTTP服務器及應用服務器并行工作提高整個系統吞吐量及單點故障克服能力。由于在一開始選型的時候就已經充分考慮到動態負載均衡及橫向擴展方面的需要,這一項的升級無需對整個系統的體系結構作根本的變革,對應用程序來說,更是沒有造成任何影響。
本文通過一個集成電路設計有關的軟件項目,討論了該項目的主要特點和本人所擔任的工作,著重討論了在項目需求分析過程中采用的具體方法和工具以及選用的理由。
由于項目的專業領域的特殊性,分兩類不同的需求討論了需求分析中遇到的問題及解決方法;在這個過程中給出了對選用的具體工具和方法的效果的描述。接著本文討論了對使用方法的改進的一些想法以及具體的實現過程。最后提出了我對需求分析的某些看法,強調了與客戶溝通的重要性。
【正文】
近年,我一直從事某企業中有關IT項目的開發,有一個系統是用于計算機輔助電路設計的,包括了從上流設計到下流設計的所有流程,如用于可設計百萬門數量級的邏輯門電路。有關方面把電路中路徑的提取、過濾以及表示的某軟件開發任務交給我公司,我有幸擔任了該部分的需求分析以及設計。
我所設計部分為一單獨可啟動的軟件,主要是解析文件中的連線路徑,以列表視圖和用直方圖等把它們顯示出來,還可以執行諸如查找與過濾等功能。
委托方對此提供了很初步的需求說明,把一些基本功能及性能要求描述了一下。我在需求分析時的工作主要有兩點:第一,對該軟件的界面等詳細需求要自己重新進行分析提取。第二,對于已提供的功能要求需要深化和細化,以形成真正完整的需求分析文檔。
在接到需求分析任務后,我分析了一下所要完成的工作。發現由于是專用領域的軟件,對專業領域要求相當高,所以準備把此項目分成兩部分:
(1)界面所受專業領域影響幾乎沒有,但由于全部沒有任何要求,反而會感到風險和改動可能是最大的。
(2)功能方面由于委托方的許多功能都可以調用相應模塊來得到,并且已有了相應的書面的簡單需求,相應來說只是完成深化。對界面,我采用了部分RUP的思想迭代與漸進。而對功能需求采取了分層細化,每細化一層就要求委托方確認、修改和補充。
首先把風險較大的部分完成,這是現代軟件開發的基本常識。我選擇先進行界面的需求分析。第一步是根據功能描述抽取出邏輯模型,并使邏輯模型與界面元素及功能一一對應,大體上決定了界面應有的功能,然后根據該界面功能描述,確定具體的控件,這時,我參考了委托方已初步完成的主窗口的界面布局及控件的使用規律,然后根據需要完成的功能從Qt(由于要支持Windows和Unix雙平臺,所以控件庫采用Qt)的類庫中選擇相應的控件。在提取和抽象邏輯模型時,我采用了Rose 2000中的用例圖,即以 USE-CASE圖來描述與外部的關系。之所以采用Rose,我是基于以下的原因:第一,在已開發的部分中,委托方統一要求我們使用Rose進行類和順序圖等的設計和代碼生成。第二,Rose提供了標準的圖來描述系統與外部的關系,在全球范圍已是一種標準結構。第三,使用上的方便性。我用Rose的USE-CASE圖,理清了我們的軟件窗口與委托方主窗口以及外部角色(操作者)之間的相互關系。
在確定了界面元素后,考慮到文檔的可理解性不是很強,我采用Visio 2000把界面的外觀繪制出來,寫上了基本的控件作用,隨后送給委托方評審,幸運的是除了幾個小功能的修改,委托方基本批準了我的方案。轉貼于
下面的工作是為控件的行為及狀態變化制定相應的狀態遷移圖,我選用的工具仍是Rose,我用了狀態圖和時序圖,把重要的控件狀態變化及相應順序進行了描述,隨后的幾天把相應的DOC文檔建好寫明,基本上界面設計就完成了。
下面的需求是針對功能需求的。雖然委托方技術部門有初步的需求文檔,但由于領域的專門化不對,我不清楚其中復雜的路徑提取關系及較深入的專業術語,一直有一種舉步維艱的感覺。只能采用分層細化的原則,從最初的幾條深入一層變成十幾條。這樣的話,不會一下子碰到太深的專業問題,可以循序漸進從委托方與文獻的解答中不斷學習,深化自己對專業領域的了解,這樣在設計中自己始終是層層推進的,不至于一于碰到無法逾越的專業障礙。
在這一階段的開發中,由于一直是與自己不熟悉的專業領域打交道,所以我覺得一些輔助設計工具似乎無法發揮應有的功能。在這期間,對我幫助最大的應是公司的E-Mail系統,所有不清楚的問題的提出,以及對問題的解答都通過它進行周轉。換句話說,在需求分析階段,它起到了一個與客戶的交流溝通和客戶需求的提取作用。所以,我認為在這一階段,E-Mail系統是對我幫助最大的工具,其次是Excel,我用它建立了問題跟蹤圖表,對每一個提出的問題,均需要記錄上去,把問題結果(可分為已清楚、仍不太清楚、不清楚、尚未回答)均記錄下來,根據這些表,我可以很好地了解自己工作中的核心問題,并有了解決它的方向,提高了工作效率。
每進行一層的細化,我都把結果交付委托方審核,由他們進行提出何時能終止細化,大約在八層細化后,對方認為已達到了效果,確認可以結束。至此,分析工作全部完成,項目的需求分析基本成功了。
在這次需求分析中,我認為取得成功的原因主要是方法和工具選擇得正確。在界面設計中采用了流行的輔助工具,對需求及邏輯模型的建立提供很大的幫助,可以更方便幫助自己理清思路。選用了迭代法,把一些錯誤的影響在功能分析和界面分析的不斷迭代過程中加以改正。在后期,以功能需求為主時,我主要依賴的是溝通工具和表格工具,這也說明輔助工具不是萬能的,需求分析的關鍵之關鍵,應是與客戶的交流與溝通。
通過這次案例,我認為在軟件的需求分析工作中,方法的重要性應遠超過工具的使用,應當首先確定分析中的風險,把風險分類,用不同的方法去解決各類風險,而工具的選擇不僅是要看影響力和名氣,而是要真正為我所用,應把握其精髓,即是此工具到底可以對開發有什么幫助,而不是僅限于如何使用。我認為在需求分析中工具的作用不外乎兩個:一是實際系統與環境模型等的抽象工具,二是需求表達工具。第一類的代表是Rose,第二類的代表是Word,WPS,Visio等,在這次項目中由于地理上的限制還用到了溝通工具,Web瀏覽與E-Mail服務系統。
最后我還是總結一下,在需求分析中工具方法都只是輔助項目成功的因素,真正的決定因素還是—一“與客戶的溝通”。
1.1通信行業中計算機技術的含義分析
通信技術是當今人們生產生活中不可或缺的一項重要工具,主要包括光通信技術以及電通信技術等。其中,電通信技術又涵蓋有線通信和無線通信。通信技術有著高效的數據傳輸功能,能有效獲取手機信號及衛星通信信號,然而該技術也存在著一定的局限性,即運行周期小、成本高以及維護耗費時間長等。而計算機通信技術作為計算機技術與通信技術的有效融合,憑借射頻辨識模塊、GPS無線通信技術、紅外感應器件以及激光掃描部件等技術及部件,將互聯網與任意物品相連,進而達到實現網絡信息高速通信的目的。另外,計算機通信技術能夠智能識別信號,并物聯網進行全面的分析,是當今相關領域研究學者研究的熱點所在。
1.2通信行業中計算機技術的特點
首先,計算機通信技術能夠實現多媒體形式的信息傳輸。該技術以二值信號為重要基礎,完成語言、聲音以及圖片等信息的傳呼,與此同時,還完成了傳輸與處理過程中的監管工作。其次,數據和信息的傳輸效率較高。一般情況下,一條語言模擬數據的傳輸能達到每秒2400比特,換句話來說,一分鐘傳輸的字符數為18000個;而在數字信息傳播模式中,每秒傳輸的字符數可達每秒64000比特,既一分鐘傳達480000字符??梢姡瑪底中畔鬏斈J降乃俣仁悄M信息的數據傳輸速度無法比擬的。再次,計算機通信的呼叫持續時間較短。據相關調查研究顯示,僅有少部分的計算機通信是在一秒內就可完成的,大多數計算機通信都需要在5s內才能完成。在傳統通信模式的信息傳遞中,即電話的信息傳輸中,一般情況下,都需要持續三到五分鐘。然而在計算機通信中,建立信息傳播方和信息接收方的聯系的時間通常都短于一分三十秒。
2計算機技術在通信行業中的應用分析
2.1計算機通信技術在信息管理系統中的應用
社會經濟的發展使得各企、事業單位對信息處理和管理系統的需求日益增多。而在此過程中,越來越多的企、事業單位選擇了通過應用計算機通信技術的方式,來將信息處理及管理系統進行不斷完善,進而到到提升企、事業單位業務工作效率的目的。具體來說,既是在通過上級業務單位合理引導的基礎上,以本單位的實際情況為重要依據,完成從辦公室自動化到遠程自動化的轉變,進而推動終端設備得到切實有效的應用。計算機通信技術在信息管理系統中的有效應用不僅緩解、減輕了相關部門的工作壓力,保障了企業的業務質量,與此同時,還有效地促進了各企、事業單位的通信活動的順利開展,保障了信息的安全性及可靠性。
2.2計算機通信技術在計費系統中的應用
隨著信息技術的不斷進步與發展,人們對信息傳輸系統在功能上的要求也越來越高,例如,需要具備專項計費功能等。然而事實上,計費工作大多都是由計算機技術來完成的。專門的計算機利用性能強大且儲存著大量信息的計費模板,來根據顧客的實際需要進行計費系統的規劃與完善,在提升計費工作效率的同時,更好地滿足了計費的需要[3]。例如,我國的三大通信運營商——移動、聯通以及電信,其經營運作便運用了以計算機技術為核心的通信計費系統,利用其統一性的通信計費方式來完成高效、便捷、合理的計算收費工作。另外,該系統還具有實現地方與地方之間,部門與部門之間的計算費用功能,還能擴展計算機通信計費系統的兼容性,有利于計費的靈活性。
2.3計算機通信技術在數據管理和數據查號中的應用
計算機通信技術是對傳統查號方式的有效改良,該技術不僅提高了查號的準確性和可靠性,同時還能為客戶提供統計、數據更新以及修改用戶密碼等功能,大大促進了數據查號和數據管理的效率,其具體應用如公用網的長途電話局、短途電話局等。除此之外,需要強調的是,在設計該系統之前,就需要考慮到要在應用計算機通信技術實現查號時對相關部門的信息數據進行科學、合理的管理,以保障系統的有效性。
3結語
建構主義提供了一種與傳統的客觀主義不同的學習理論。建構主義學習理論認為,學習不是由教師向學生傳遞知識,而是學生自己建構知識的過程,學生不是被動的信息吸收者,相反,他要主動地建構信息的意義,這種建構不可能由他人代替[1]。建構主義學習活動過程是以學習者為中心,因而學習者就更具有興趣和動機,能夠鼓勵學習者進行批判型思維,能夠更易于提供個體的學習風格,也容易建構信息的意義。
現在全國各高校都逐步重視計算機應用型人才的培養工作。在計算機應用型人才培養工作中,教學工作是重中之重。在教學過程中,教學方法的正確運用會使我們的教學工作有事半功倍的效果。如何有效地運用建構主義的教學方法應用于計算機應用型人才的教學過程中呢?本文基于此探討了建構主義的基本教學方法,并結合近些年來的切身的教學體會,給出在計算機應用型人才培養的教學過程中如何去運用這些方法進行教學,希望給計算機應用型教育的教學方法的改革帶來幫助。
1 建構主義的教學方法
1.1 學習環境建構主義認為,學習者獲得的知識是在一定情境下,借助于他人的幫助,如人與人之間的協作、交流、利用必要的信息等等,通過意義的建構而獲得的。理想的學習環境應當包括情境、協作、交流和意義建構四個部分[2]。
(1) 情境。學習環境中的情境必須有利于學習者對所學內容的意義建構。在教學設計中,必須創設有利于學習者建構意義的情境,這一環節最為重要。
(2) 交流是協作過程中最基本的方式或環節。學習小組成員之間必須通過交流來商討如何完成規定的學習任務達到意義建構的目標,怎樣更多的獲得教師或他人的指導和幫助等等。協作學習的過程實際上也是交流的過程,在這個過程中,每個學習者的想法都為整個學習群體所共享。交流對于推進每個學習者的學習進程,是至關重要的手段。
(3) 協作應該貫穿于整個學習活動過程中。教師與學生之間,學生與學生之間的協作,對學習資料的收集與分析、假設的提出與驗證、學習進程的自我反饋和學習結果的評價以及意義的最終建構都有十分重要的作用。推薦閱讀:高校工商管理本科學生畢業實習畢業論文
(4) 意義建構是教學過程的最終目標。建構的意義是指事物的性質、規律以及事物之間的內在聯系。
在學習過程中幫助學生建構意義就是要幫助學生對當前學習的內容所反映事物的性質、規律以及該事物與其他事物之間的內在聯系達到較深刻的理解。
1.2 建構主義常用的教學方法在建構主義的教學模式下,比較成熟的教學方法主要有以下幾種:
(1) 拋錨式教學(Anchored Instruction)。這種教學要求建立在有感染力的真實事件或真實問題的基礎上。確定這類真實事件或問題被形象地比喻為拋錨,因為一旦這類事件或問題被確定了,整個教學內容和教學進程也就被確定了(就像輪船被錨固定一樣)。建構主義認為,學生要想完成對所學知識的意義建構,即達到對該知識所反映事物的性質、規律以及該事物與其它事物之間聯系的深刻理解,最好的辦法是讓學生到現實世界的真實環境中去感受、去體驗(即通過獲取直接經驗來學習),而不是僅僅聆聽別人(例如教師)關于這種經驗的介紹和講解。由于拋錨式教學要以真實事例或問題為基礎(作為錨),所以有時也被稱為實例式教學或基于問題的教學