軟體開發工具 第二章 軟體開發過程及其組織

來源:互聯網
上載者:User

標籤:使用   檔案   資料   問題   代碼   工作   時間   管理   

第二章 軟體開發過程及其組織

為了對付“軟體危機”,先後提出了結構化程式設計方法、軟體工程的方法、物件導向的方法、隨插即用的程式設計方法、面向互連網平台和開源軟體的程式設計。

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分左右。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.