當前位置:法律諮詢服務網 - 企業資訊 - 軟件的特性

軟件的特性

軟件的功能:

1是邏輯積,和物質積有很大區別。

軟件產品的生產主要是研發,生產成本主要在研發。研發完成後,大量的軟件產品是通過復制的方式生產出來的。

3軟件產品不會磨損,不存在磨損和消耗。

生產主要是腦力勞動,還沒有完全擺脫手工開發。大部分產品都是“定制”的。

開發軟件的成本越來越高,這使得生產成本相當昂貴。

根據軟件的功能-

系統軟件:能與計算機硬件緊密配合,使計算機系統各部分、相關軟件和數據和諧高效工作的軟件。如操作系統、數據庫管理系統、設備驅動和通信處理程序。系統軟件是計算機系統不可缺少的壹部分。

應用軟件:是在特定領域開發的、為特定目的服務的壹類軟件。比如CAD-CAM計算機輔助制造-CAI計算機輔助教學,專家系統,模式識別,剎車系統。

支撐軟件:是幫助用戶開發軟件的工具性軟件,包括幫助程序員開發軟件產品的工具和幫助管理者控制開發過程的工具。

按比例:

1,只壹個人的微軟件,就算是半工半讀,幾天就完成了。寫的程序不到500行。

2.小——壹個人半年完成的2000行以內的程序。比如數值計算問題或者數據處理問題就是這種規模的題目。這個程序通常沒有與其他程序的接口。

比如求伯君開發了最初的WPS,比爾蓋茨獨自完成了BASIC。

3.中型-5,000到50,000行程序用不到5個人在壹年多的時間內完成。這類話題開始出現軟件人員之間、軟件人員與用戶之間的聯系、協調、合作問題。

4、大-5到10人在兩年多的時間裏完成50000到65438+百萬行的過程。比如編譯器、小型分時系統、應用包、實時控制系統等。大概都是這樣的軟件。

5.非常大——100人到1000人。

6、極其龐大——2000-5000人參與,比如微軟的windows 2000項目就包括了近3000名工程師,他們被分成數百個小團隊。

按開發-軟件產品和軟件項目

軟件產品——指不局限於特定領域,用戶可以直接使用的軟件系統。比如微軟的Windows,Office等等。這類系統的特點是技術含量高,開發時需要滿足各種用戶需求;

軟件項目——也稱定制軟件——受特定客戶(或少數客戶)委托,由壹個或多個軟件開發機構承包,如管理信息系統(MIS)、電子商務系統等。這類軟件的特點是領域知識比重大,工程性大於技術性。比如軍隊防空指揮系統,衛星控制系統,都是這樣的軟件。

對於這兩種不同類型的軟件,應該有不同的軟件開發方法來指導項目開發過程。

目前,軟件模型能力成熟度模型(CMM)是壹種成熟的軟件項目開發方法。這種軟件開發模型試圖將整個軟件開發過程標準化和量化,直到可以對其進行量化控制和優化。

軟件產品的開發,像微軟,已經積累了很多成功的經驗。

軟件生產的發展:

1編程時代:這個階段的生產方式是個體勞動,生產工具是機器語言和匯編語言。(1946-1956)

2程序系統時代:這壹階段的生產方式是小群體合作生產,生產工具是高級語言,開發方式仍然依靠個人技能,但提出了結構化方法。(1956-1968)

3軟件工程時代:這壹階段的生產方式是工程化生產,利用數據庫、開發工具、開發環境、網絡和分布式面向對象技術開發軟件。(1968至今)

軟件危機:軟件開發技術的進步不能滿足發展的要求。軟件開發中遇到的問題解決不了,問題積累,矛盾尖銳,導致軟件危機。

軟件危機的表現:

1的預算經常被突破,完成時間壹拖再拖。

開發的軟件不能滿足用戶的要求。

3開發的軟件可維護性差。

4開發的軟件可靠性差。

軟件危機的原因:

1軟件的規模越來越大,結構越來越復雜。

2軟件開發管理困難且復雜。

3軟件開發的成本在增加。

4軟件開發技術落後。

5生產方式落後,仍采用手工方式。

6.開發工具落後,生產力提升緩慢。

軟件工程:使用科學知識和技術原理來定義、開發和維護軟件的學科。

用工程科學的觀點估算成本,取得進展,制定計劃和方案。

運用管理科學的方法和原理來管理生產。

用數學方法建立軟件開發中的各種模型和算法。

然後,為了實現高質量、高收益的軟件目標,從技術到管理都做了大量的努力,從而逐漸形成了“軟件工程”這壹新學科。

它包含以下主要內容:

1.軟件開發方法:軟件工程的方法提供了構建軟件的技術“如何做”。該方法涵蓋壹系列任務:需求分析、設計、編程、測試和維護。

直到20世紀60年代後期才逐漸形成壹種軟件開發方法,在不同的軟件開發階段有不同的方法,比如軟件設計階段的“結構分析與設計”方法,軟件測試階段的“黑盒”和“白盒”測試技術等等。

目前有壹種更新的技術“面向對象編程方法”。在這種方法中,數據和數據操作被封閉在壹個稱為“對象”的統壹體中,對象通過“消息”相互聯系。

因此,軟件描述的系統在結構上與客觀世界中的系統非常相似,既提高了軟件的可修改性和可維護性,又提高了軟件的可重用性,所以這些都是項目多年來追求的目標。從結構化編程到面向對象編程,是編程方法的又壹次飛躍。

2.軟件工具:所謂工具,壹般是指所有有助於軟件開發的軟件的開發。為了提高軟件設計質量和生產效率,人們開發了許多軟件來幫助開發和維護軟件。比如我們要用某種語言開發壹個應用軟件,就會涉及到“編輯程序、編譯程序、連接程序等。”,此外,我們將在軟件測試階段使用“測試數據生成器、調試程序、跟蹤程序、靜態分析工具和覆蓋監控工具”。也就是說,不同時期要使用不同的軟件開發工具。目前,軟件工具發展迅速,許多軟件分析和設計的工具正在建立,目標是實現軟件生產自動化。

3.軟件工程環境:軟件方法和工具是軟件開發的兩大支柱,兩者密切相關。軟件方法提出了明確的工作步驟和標準的文檔格式,這是設計軟件工具的基礎,軟件工具的實現將促進軟件方法的推廣和發展。

“環境”這個詞對不同的用戶有不同的含義。對於最終用戶來說,環境就是他們用來運行程序的計算機系統。這類用戶對環境的要求主要是運行可靠、操作方便、易學易用。對於軟件開發者來說,就不壹樣了。可以說,環境是他們進行軟件開發活動的舞臺。(比如Algo-60,或者DbaseII DbaseIII,比如界面只能用菜單來完成各種功能。)

生產數據庫管理軟件的環境現在包括:Sybase,壹個大規模的數據庫軟件,可以幫助編程的PB軟件)

4、軟件工程管理:眾所周知,對於壹個企業來說,如果只有先進的設備和技術,沒有完善的管理,是不可能獲得應有的經濟效益的(比如海爾的海爾文化就是企業管理的象征),(比如微軟的企業文化宗旨的壹句話)。

軟件生產也是壹樣。如果管理不好,是不可能高質量按時完成任務的。

“軟件工程管理是管理軟件工程生命周期中每個階段的活動。軟件工程管理的目的是按照預期的時間和成本成功地完成軟件開發和維護的任務。

軟件工程管理的內容包括軟件成本管理、人員組織、工程計劃管理、軟件配置管理等。

顯然,軟件工程管理也可以通過計算機來實現。許多公司都使用管理工具來幫助經理們估算成本、指定進度和生成報告。壹個理想的軟件工程環境應該有支持開發和管理的工具。

以上簡要介紹了軟件工程的主要組成部分——軟件工程方法論、軟件工程環境以及軟件工程管理的基本內容和作用。它們不僅包括計算機科學家的研究成果,還總結了軟件工作者的時間經驗。還必須指出,軟件開發技術可以分為兩個分支:正式方法和非正式方法。前者側重於形式化的程序變更和嚴密性,旨在程序設計的自動化,多為計算機應用人員使用。本課程主要討論工程軟件開發技術。

軟件工程目標:支付較低的開發成本;滿足功能要求;獲得更好的性能;開發的軟件易於移植;只需要很低的維護成本;能按時完成開發任務並及時交付;開發的軟件可靠性高。

軟件工程內容:研究內容包括開發技術和開發管理兩個方面。

開發技術主要研究:軟件開發方法、開發過程、開發工具和環境。收藏家的靜修

開發管理主要研究:軟件管理、軟件經濟學、軟件心理學。

軟件工程要解決的問題:軟件成本、可靠性、可維護性、軟件生產率和軟件復用。

  • 上一篇:python可以做什麽副業?
  • 下一篇:廈門海滄區哪裏可以股票開戶
  • copyright 2024法律諮詢服務網