軟件開發

軟件開發是用於構思,設計,設計,程序文檔測試錯誤修復的過程,以創建和維護應用程序框架或其他軟件組件。軟件開發涉及編寫和維護源代碼,但是從更廣泛的意義上講,它包括從期望軟件的概念到最終表現形式的所有過程,通常在計劃且結構化的過程中通常與軟件工程重疊。軟件開發還包括研究,新開發,原型製作,修改,重複使用,重新設計,維護或任何其他導致軟件產品的活動。

方法論

一種系統開發方法不一定適合所有項目使用。

每種可用的方法都最適合根據各種技術,組織,項目和團隊考慮的特定項目。

活動

確定需求

軟件產品的想法來源很多。這些想法可能來自市場研究,包括潛在的新客戶,現有客戶,拒絕該產品,其他軟件開發人員或創意第三方的銷售前景的人口統計。通常首先由營銷人員評估軟件產品的想法,以實現經濟可行性,與現有的分銷渠道,對現有產品線的可能影響,所需功能以及符合公司的營銷目標的效果。在營銷評估階段,評估成本和時間假設。在第一階段初期就達成了決定,即,是否基於營銷和開發人員產生的更詳細的信息,應進一步追求該項目。

艾倫·戴維斯(Alan M. Davis)“偉大的軟件辯論”一書中指出,在“需求”一章中,子章“缺失的軟件開發部分”

工程學的學生學習工程學,很少接觸金融或市場營銷。市場營銷的學生學習營銷,很少接觸金融或工程。我們大多數人僅在一個領域就成為專家。使事情變得複雜,我們當中很少有人會見勞動力中的跨學科人,因此很少有任何角色模仿。但是,軟件產品計劃對開發成功至關重要,並且絕對需要了解多個學科的知識。

計劃過程

創建軟件的重要任務是需求分析。客戶通常對自己想要的最終結果有抽象的想法,但不知道軟件應該做什麼。熟練和經驗豐富的軟件工程師在這一點上認識到不完整,模棱兩可甚至矛盾的要求。經常證明實時代碼可能有助於降低要求不正確的風險。

“儘管在需求階段付出了很多努力,以確保要求是完整且一致的,但很少是這種情況;將軟件設計階段作為最小化新的或不斷變化的需求的影響時,將軟件設計階段作為最有影響力的階段。需求波動性波動之所以具有挑戰性,是因為它們會影響未來或已經開始發展的工作。”

勞動力

軟件開發人員是從事軟件開發過程的人員或公司,包括研究,設計,編程,測試以及創建計算機軟件的其他方面。具有類似含義的人的其他職位包括程序員軟件分析師軟件工程師。專門從事軟件的公司可以稱為軟件房屋。在一家大公司中,可能有一些員工的唯一責任僅由其中一個學科組成。在較小的開發環境中,幾個人或一個人可能會處理完整的過程。協作環境(例如開源軟件)可以匯集許多開發人員。

查看模型

茶葉觀點和觀點矩陣

視圖模型是一個框架,可在軟件開發過程中使用系統及其環境觀點。它是視圖基礎語義的圖形表示。

觀點和觀點的目的是使人類工程師能夠理解非常複雜的系統並組織圍繞專業領域的問題的要素。在物理密集型系統的工程中,觀點通常與工程組織內的能力和職責相對應。

業務流程和數據建模

當前信息狀態的圖形表示為向用戶和系統開發人員提供信息提供了一種非常有效的手段。

業務流程與數據模型之間的相互作用的示例
  • 業務模型說明了與正在建模的業務流程和執行這些功能的組織相關的功能。通過描述活動和信息流,為可視化,定義,理解和驗證過程的性質創建了基礎。
  • 數據模型提供了要存儲的信息的詳細信息,並且當最終產品是生成用於應用程序的計算機軟件代碼或準備功能規範以幫助計算機軟件做出或購買的決定時的主要用途。有關業務流程和數據模型之間相互作用的示例,請參見右側的圖。

通常,進行採訪後創建模型,稱為業務分析。訪談包括一個主持人,詢問一系列旨在提取描述過程的所需信息的問題。面試官被稱為促進者,強調提供信息的是參與者。主持人應該對感興趣的過程有一些了解,但這並不像具有結構化方法論那樣重要。該方法很重要,因為通常一組主持人團隊在整個設施中收集信息,並且所有面試官的信息的結果必須在完成後結合在一起。

開發模型是定義流程的當前狀態,在這種情況下,最終產品稱為“ AS-IS”快照模型,或者是該過程應包含的內容的集合,從而導致了“什麼? -be“模型。生成過程和數據模型可用於確定現有的過程和信息系統是否是合理的,並且只需要進行較小的修改或增強,或者是否需要重新設計作為糾正措施。創建業務模型不僅僅是查看或自動化信息過程的一種方式。分析可用於從根本上重塑您的企業或組織的運營方式。

案件

計算機輔助軟件工程(CASE)是一組軟件工具和方法的科學應用,用於開發軟件,以幫助實現高質量,無缺陷和可維護的軟件產品。它還指開發信息系統的方法以及可以在軟件開發過程中使用的自動化工具。術語“計算機輔助軟件工程”(情況)可以涉及用於自動開發系統軟件(即計算機代碼)的軟件。案例功能包括分析,設計和編程。案例工具自動使用所需編程語言設計,記錄和生成結構化計算機代碼的方法。

計算機輔助軟件系統工程(情況)的兩個關鍵思想是:

  • 在軟件開發和軟件維護過程中培養計算機協助,以及
  • 一種用於軟件開發和維護的工程方法。

存在用於配置管理數據建模模型轉換重構源代碼生成的典型案例工具。

gnome環境的Anjuta ,A C和C ++ IDE

建模語言

建模語言是任何人工語言,可用於在結構中以一致的規則定義的結構中表達信息知識系統。這些規則用於解釋結構中組件的含義。建模語言可以是圖形的或文本的。

編程範式

編程範式計算機編程的基本風格,通常不受項目管理方法(例如瀑布或敏捷)的決定。用於表示程序元素(例如對象,函數,變量,約束)的概念和抽象的範例以及構成計算的步驟(例如分配,評估,連續性,數據流)的步驟。有時,範式主張的概念在高級系統體系結構設計中合作使用;在其他情況下,編程範式的範圍僅限於特定程序或模塊的內部結構。示例: Grady Booch面向對象的設計(OOD),也稱為面向對象的分析和設計(OOAD)。 Booch模型包括六個圖:類,對象,狀態過渡,交互,模塊和過程。

也可以看看

角色和行業