標籤:使用 檔案 資料 問題 代碼 工作 時間 管理
第二章 軟體開發過程及其組織
為了對付“軟體危機”,先後提出了結構化程式設計方法、軟體工程的方法、物件導向的方法、隨插即用的程式設計方法、面向互連網平台和開源軟體的程式設計。
1.軟體開發的基本問題及解決辦法。
對程式員來說,做好軟體的關鍵是做好兩個轉換:
第一個:從使用者對軟體的理解到程式員對軟體功能的理解的轉換
第二個:從程式員的理解到程式的實現
為保證第一個轉換:儘可能利用標準化的方法編寫程式設計任務書,用明確的語言或圖形、表格,把程式要處理的資訊、格式、來源、去向、儲存、處理等清楚地表達處理,作為雙方共同理解。
為保證第二個轉換:提高程式員的知識水平和實際經驗
補充:原型工具 web系統 Axure Rapid prototyping
2.大型軟體項目開發中的困難有哪些?產生的原因是什嗎?
困難:
1)一致性的保持比較困難
2)測試的困難比較大
3)工作進度難以控制
4)文檔與代碼的協調比較困難
5)版本更新帶來的困難
困難產生的原因:
1)大系統的複雜性
2)個人之間的組織與協調
3)各領域之間的差異
4)時間、變化的因素
3.大型軟體開發中設計的角色,他們承擔的工作?
1)使用者:提出需求、驗收軟體、使用軟體、提出修改要求等
2)程式員:編程、寫文檔、調試自己程式、向項目負責人提交成果
3)項目負責人:分析使用者需求形成設計方案、向程式員分配任務、驗收程式員的成果、對整個軟體聯調、向使用者交付使用、接收與分析使用者的修改要求、等等。
4)電腦硬體:運行
4.結構化的程式設計思想與方法:
基本思想:把程式機構分解成三種基本模組:處理單元、迴圈機制、二分決策機制,並保證模組的劃分符合“結構良好”的要求:
1)模組的功能在邏輯上儘可能單一化、明確化。
2)模組之間的聯絡及影響儘可能少
3)模組的規模應足夠小,易於調試。
模組的劃分採用“自頂向下”的方法,不管項目多大,都採取自上而下、逐步分解的辦法,畫出系統結構圖,直到最底層模組達到要求為止。
結構化設計的原則:
1)限制或禁止使用goto語句。
2)子程式一個入口、一個出口
3)程式風格盡量明確、清晰,增加註釋,代碼書寫階層,變數名一定要有意義。
4)編程的同時完成文檔編寫。
缺點:增大了子程式工作量,增加了編程中的麻煩與瑣碎的工作,降低了程式運行效率。
5.軟體工程的基本思想和方法:
軟體工程的基本思想源於傳統工程,要想大幅度提高軟體的開發效率和品質,從組織和管理的角度加強力量,使軟體生產從程式員的個人勞動提高為有組織、可控制的工程。
軟體工程的實施方法:
首先,對軟體開發的工作過程進行規範。
第一階段,需求分析。瞭解結構和功能,掌握組織或管理者的需求,弄清資訊流通的實際情況。(商務程序)
第二階段,分析設計。進行功能分解及資料分析,完成資料處理過程和資料庫的邏輯設計。
第三階段:編程階段。編碼實現功能
第四階段:測試階段:對文檔做測試。
第五階段:使用及維護。使用過程中發展問題再改。
標標準化方面從兩個方面探索:
1)表達方式的標準化,統一規格的流程圖、資料字典等。
2)對工作的品質及檢查制定標準,比如ISO9001標準。
6.物件導向程式設計的基本思想。
基本思想:
1)客觀世界的任何事物都是對象。每個對象都有靜態屬性(成員變數)和相關的操作(方法)。作為一個整體,對象不必對外公開這些屬性與操作,就是“封裝性”。
2)對象之間有抽象與具體、群體與個體、整體與部分等幾種關係。
3)繼承性
4)對象之間可以傳遞訊息,通過參數。
物件導向程式設計語言反映的思想方法越來越接近人們的思維方式,摒棄了“自頂向下”和“自底向上”的爭論,把對於複雜系統的認識歸結為對一批對象及其關係的認識。
7.隨插即用程式設計的基本思想。基於組件的開發。
在物件導向程式設計方法的基礎上提出來的。基本思想是用製造硬體的思路來產生軟體。一部分人專門生產軟體組件,一部分人設計整體軟體結構。
實際實現不那麼簡單。標準化問題困難。軟體組件的提供方式問題。
8、面向開源軟體的程式設計思想:
隨著開源軟體的發展,利用開源軟體進行程式設計,越來越普遍。在實際應用中,一些應用面廣、流程比較清晰、比較規範的應用領域,開原始碼的重用是比較有把握的,比如網站的設計**CMS、論壇。織夢cms;JSPXMS;PHPCMS;
應用領域比較複雜多樣,使用開源軟體還需仔細權衡。
一方面對應用領域充分瞭解;二方面開源軟體的品質。
9.什麼樣的軟體是好軟體
1)正確實現了所要求的功能,準確給出預定的輸出結果
2)使用者介面友好,符合使用者的使用習慣和知識水平
3)具有足夠的速度(不是越快越好)。
4)具有足夠的可靠性,能夠在各種幹擾下保持正常工作。
5)程式易讀、結構良好、文檔齊全,易於修改。
10.評價單個程式員的指標?
1)具有程式設計所需要的基本知識和技能。
2)對於本項目所在的那個領域有比較深入的瞭解。
3)對軟體開發的技術環境比較熟悉,軟硬體環境。特別是使用的程式設計語言,和實際經驗。
11.作為項目組的一員,應該遵守哪些要求?
1)保證嚴格在本模組內操作,不適用幹擾其他模組的命令或函數
2)嚴格按照總體設計的要求傳遞參數
3)在公用的檔案或資料庫操作時,必須按照規定、統一格式去操作。
4)使用標示符時,遵守項目組的統一要求和規範。
5)嚴格按照統一的要求編寫文檔。
6)盡量保持程式的風格一致。
12.一個好的項目組應該具備哪些條件?
好的項目組是在長期工作中逐漸形成的,根據衡量項目組的CMM 模型,一個好的項目組應該具備的條件如下:
1)有嚴格的、成文的工作規範和文檔標準,而且為全體成員所熟知,並切實得到遵守。
2)人員之間有嚴格的分工,除了程式員外,必須有專門的秘書,專門的測試人員,特別要有專職的,不參與具體編程的項目負責人。
3)每個項目都要事先制定詳細的進度表,並且嚴格執行每一項目完成之後都有完整的資料,並得到妥善儲存。一旦需要修改或更新版本時可以立即使用。
補充:
CMM能力成熟度等級模型:
題型:填空、選擇2-3分,一個簡答題。7分左右。