




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件及其特點(diǎn)毛新軍國防科技大學(xué)計(jì)算機(jī)學(xué)院xjmao@軟件工程內(nèi)容軟件軟件的概念、特點(diǎn)、組成及生命周期開源軟件開源軟件實(shí)踐,托管平臺和社區(qū),開源許可證軟件質(zhì)量軟件質(zhì)量要素及模型軟件特征的變化地位、運(yùn)行環(huán)境、形態(tài)、復(fù)雜性建設(shè)狗窩和建設(shè)大廈的區(qū)別建設(shè)狗窩的特點(diǎn)簡單質(zhì)量要求不高一個(gè)人就可完成建設(shè)大廈的特點(diǎn)復(fù)雜質(zhì)量高要求很高需要團(tuán)隊(duì)合作才能完成簡單、小規(guī)模程序規(guī)模在萬行代碼量復(fù)雜、大規(guī)模程序數(shù)十萬行以上代碼量1.1從程序到軟件-工程開發(fā)的啟發(fā)應(yīng)用(如火車票購買、酒店預(yù)訂、網(wǎng)上購物)編寫程序通過一個(gè)步驟就將程序?qū)懗鰜聿滑F(xiàn)實(shí)了解需求設(shè)計(jì)圖紙進(jìn)場施工采用工程化的方法來解決工程開發(fā)的問題編寫出程序需要經(jīng)歷諸多的步驟應(yīng)用(如火車票購買、酒店預(yù)訂、網(wǎng)上購物)分析軟件需求設(shè)計(jì)軟件系統(tǒng)編寫程序代碼文檔數(shù)據(jù)代碼不可或缺相互依存要編寫出高質(zhì)量的程序需要循序漸進(jìn)地開展工作運(yùn)行維護(hù)程序1.2何為軟件?軟件(Software)是指在計(jì)算機(jī)系統(tǒng)的支持下,能夠完成特定功能與性能的程序(Program)、數(shù)據(jù)(Data)和相關(guān)文檔(Document)
文檔數(shù)據(jù)代碼++從開發(fā)的角度看軟件的構(gòu)成軟件制品(SoftwareArtifact)何為文檔?記錄軟件開發(fā)活動(dòng)和階段性成果、軟件配置及變更的闡述性資料定義和理解軟件記錄軟件開發(fā)成果輔助不同人員間的交流有哪些方面的文檔軟件需求文檔–記錄需求軟件設(shè)計(jì)文檔–記錄設(shè)計(jì)軟件測試文檔–記錄測試軟件用戶手冊–記錄使用……闡述性資料為什么需要文檔?原因軟件開發(fā)牽涉多方面的工作,需要記錄下來任何事都記在腦子里,記不住,不便于保存任何事都放在腦子里,理不清,不便于分析任何事都存在腦子里,講不明,不便于交流編寫文檔目的闡述清楚:內(nèi)容、邏輯性、條理性發(fā)現(xiàn)問題:完整、一致、矛盾開展交流:便于各種人員的交流促進(jìn)管理:管理軟件開發(fā)成果編碼活動(dòng)的成果記錄為程序代碼其他活動(dòng)的成果記錄為軟件文檔示例:軟件設(shè)計(jì)文檔空巢老人智能看護(hù)系統(tǒng)設(shè)計(jì)文檔何為數(shù)據(jù)?數(shù)據(jù)是程序的加工處理對象和結(jié)果需要處理哪些數(shù)據(jù)如何來獲得這些數(shù)據(jù)如何來表示這些數(shù)據(jù)如何來存儲和檢索數(shù)據(jù)如何來傳輸數(shù)據(jù)網(wǎng)上商城中的手機(jī)及其數(shù)據(jù)數(shù)據(jù)示例數(shù)據(jù)形式用戶、訂單、交易、日志數(shù)據(jù)數(shù)據(jù)處理表示、獲取、存儲、檢索、分析軟件運(yùn)行的本質(zhì)就是對數(shù)據(jù)的處理,有些數(shù)據(jù)是用戶提供的,有些數(shù)據(jù)是軟件產(chǎn)生的思考和討論:12306軟件的數(shù)據(jù)哪些數(shù)據(jù)是由用戶提供的?以用戶注冊和購票為例哪些數(shù)據(jù)是由軟件產(chǎn)生的?以用戶注冊和購票為例沒有數(shù)據(jù)軟件會(huì)怎么樣?從開發(fā)者的角度看軟件的構(gòu)成可執(zhí)行部分不可執(zhí)行部分文檔數(shù)據(jù)數(shù)據(jù)文檔程序構(gòu)成軟件的三類成分作用不同,但都不可或缺1.3軟件概念給我們的啟示軟件程序軟件涉及更多制品這些制品間有關(guān)聯(lián)、相互依賴開發(fā)軟件編寫程序軟件開發(fā)需要做更多事情對軟件提出更高的要求軟件開發(fā)的再認(rèn)識開發(fā)具有一定規(guī)模和復(fù)雜性的軟件系統(tǒng)與編寫一個(gè)簡單的程序不一樣建設(shè)簡單平房vs建設(shè)高樓大廈挖一條小溝vs建設(shè)一條南水北調(diào)渠道軟件的規(guī)模和復(fù)雜性意味著要采用行之有效的方法—工程方法何為工程化方法?開發(fā)軟件vs編寫程序1.4軟件生命周期萬物均有生命周期(Lifecycle)人:嬰兒、幼兒、兒童、少年、…樹:發(fā)芽、育苗、結(jié)果、枯萎、死亡、….青蛙:受精卵、蝌蚪、去掉尾巴的青蛙…軟件生命周期(SoftwareLifecycle)軟件從提出開發(fā)開始到最終滅亡所經(jīng)歷的時(shí)期不同階段具有不同的特征?CopyrightXinjunMao16軟件生命周期(1/2)從提出開發(fā)開始到開發(fā)出系統(tǒng)、運(yùn)行維護(hù)以及最終退役的全過程軟件的生命周期(2/2)每個(gè)階段會(huì)產(chǎn)生不同的軟件制品What軟件需求是什么How如何構(gòu)造出軟件How編寫程序代碼軟件是否缺陷部署軟件運(yùn)行軟件的本質(zhì)軟件的目的性:服務(wù)于客戶或用戶,滿足他們的要求軟件的組成性:程序+文檔+數(shù)據(jù)軟件的系統(tǒng)性:軟件是一類系統(tǒng),有諸多相關(guān)聯(lián)的要素軟件的駐留性:依賴于計(jì)算系統(tǒng)的軟硬件設(shè)施來支撐運(yùn)行示例:軟件的駐留性和系統(tǒng)性1.5軟件特點(diǎn)邏輯性邏輯產(chǎn)品,思維活動(dòng)(而非物理活動(dòng))的結(jié)果、不會(huì)磨損和老化設(shè)計(jì)開發(fā)是設(shè)計(jì)開發(fā)而成的,不是生產(chǎn)制造而成的易變性需求經(jīng)常變、難以把控,影響軟件的制品即開發(fā)過程復(fù)雜性規(guī)模大:代碼行、模塊、介入人員、進(jìn)程、數(shù)據(jù)等數(shù)量非常大運(yùn)行復(fù)雜:狀態(tài)很難追蹤和復(fù)現(xiàn)缺陷的隱蔽性缺陷隱藏在邏輯代碼中,不像硬件系統(tǒng)那樣直觀顯現(xiàn),很難被人們所發(fā)現(xiàn)和排除討論:對比軟件和硬件對比軟件和硬件的特點(diǎn)表現(xiàn)形式開發(fā)范式需求變化復(fù)雜性系統(tǒng)缺陷軟件系統(tǒng)硬件系統(tǒng)vs軍用軟件的特殊性運(yùn)行環(huán)境更復(fù)雜和多樣與物理系統(tǒng)(如飛機(jī))緊密聯(lián)系在一起對實(shí)時(shí)性和質(zhì)量(如可靠性)提出更高要求對自身防護(hù)能力(如安全性)提出更高要求需具備更強(qiáng)的靈活性、適應(yīng)性和健壯性軍用軟件:導(dǎo)彈中的飛行控制軟件、指揮信息系統(tǒng)、后勤保障軟件等1.6軟件的分類應(yīng)用軟件面向特定應(yīng)用領(lǐng)域的專用軟件。它們針對相關(guān)行業(yè)和領(lǐng)域的特定問題,為其提供基于計(jì)算的新穎解決方案。示例:淘寶、12306、攜程、微信、QQ等軟件系統(tǒng)軟件對計(jì)算機(jī)資源進(jìn)行管理,為應(yīng)用軟件的運(yùn)行提供基礎(chǔ)設(shè)施和服務(wù)的一類軟件。從計(jì)算服務(wù)的視角,系統(tǒng)軟件介于計(jì)算機(jī)硬件和應(yīng)用軟件之間。示例:操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、編譯軟件、軟件中間件等支撐軟件輔助軟件開發(fā)和運(yùn)維,幫助開發(fā)人員完成軟件開發(fā)和維護(hù)工作的一類軟件示例:SonarQube、VisualStudio、Eclipse等軟件的分類類別服務(wù)對象軟件的功能發(fā)揮的作用應(yīng)用軟件行業(yè)和領(lǐng)域應(yīng)用的用戶為特定行業(yè)和領(lǐng)域問題解決提供基于軟件解決方案,創(chuàng)新應(yīng)用領(lǐng)域的問題解決模式提供更為便捷、快速、高效的服務(wù)系統(tǒng)軟件各類應(yīng)用軟件為應(yīng)用軟件運(yùn)行和維護(hù)提供基礎(chǔ)設(shè)施和服務(wù),如加載、通訊、互操作、管理等作為應(yīng)用軟件的運(yùn)行環(huán)境支撐軟件軟件開發(fā)者和維護(hù)者為軟件系統(tǒng)的開發(fā)和維護(hù)提供自動(dòng)和半自動(dòng)的支持提高軟件開發(fā)效率和質(zhì)量討論:你所知道的各類軟件系統(tǒng)系統(tǒng)軟件應(yīng)用軟件支撐軟件內(nèi)容軟件軟件的概念、特點(diǎn)、組成及生命周期開源軟件開源軟件實(shí)踐,托管平臺和社區(qū),開源許可證軟件質(zhì)量軟件質(zhì)量要素及模型當(dāng)前軟件特征的變化地位、運(yùn)行環(huán)境、形態(tài)、復(fù)雜性*2.1閉源軟件何為閉源軟件軟件代碼不對用戶開放的一類軟件,購買軟件時(shí)只提供可運(yùn)行軟件或服務(wù),沒有提供源代碼以許可證(License)的方式授權(quán)用戶使用軟件閉源軟件帶來的問題無法掌握軟件內(nèi)部實(shí)現(xiàn)情況(如是否存在安全漏洞和惡意代碼),也無法對軟件進(jìn)行修改和完善,極大影響了開發(fā)者的創(chuàng)新自由示例微軟的Windows、Office軟件,典型企業(yè):微軟、IBM、Oracle等2.2開源軟件何為開源軟件一種源代碼可以自由獲取和傳播的計(jì)算機(jī)軟件,其擁有者通過開源許可證賦予被許可人對軟件進(jìn)行使用、修改和傳播海量、高質(zhì)量和有影響力的開源軟件操作系統(tǒng)Linux、Ubuntu、麒麟、鴻蒙、OpenEuler等數(shù)據(jù)庫系統(tǒng)MySQL、PostgreSQL、MongoDB、Redis等開發(fā)平臺Eclipse、Junit、SonarQube、Kubernetes等人工智能Tensorflow、Opencv、Caffe、Deeplearning4j等網(wǎng)絡(luò)安全Nmap、curityOnion、Suricata、Bro等……你能枚舉出其他的開源軟件嗎?開源軟件正逐步替代閉源軟件服務(wù)器操作系統(tǒng)領(lǐng)域Linux、FreeBSD等==》Unix桌面操作系統(tǒng)領(lǐng)域Linux、麒麟等==》Windows操作系統(tǒng)數(shù)據(jù)庫領(lǐng)域MySql、PostgreSQL等==》Oracle、DB2瀏覽器領(lǐng)域Chrome、Firefox等==》IE、開發(fā)工具領(lǐng)域Eclipse、Sonar等
==》VisualStudio開源軟件與閉源軟件的對決你能枚舉出其他方向的開源軟件與閉源軟件的對決快速增長的開源軟件數(shù)量Github上的開源軟件倉庫()2023年Github上有3億多的開源軟件倉庫開源軟件帶來的好處源代碼可自由傳播免費(fèi)使用降低成本激發(fā)創(chuàng)作者的熱情快速開發(fā)搭建系統(tǒng)開源軟件的推動(dòng)者政府組織NASA開源200多軟件項(xiàng)目,美國和印度等政府鼓勵(lì)采用開源軟件我國政府將開源列入十四五國民經(jīng)濟(jì)和社會(huì)發(fā)展五年規(guī)劃綱要開源組織Apache基金會(huì)、Linux基金會(huì)、Eclipse基金會(huì)、OpenSourceInitiative開放原子開源基金會(huì)(
)IT企業(yè)Google、Microsoft、IBM、Oracle等國外企業(yè)以及華為、騰訊、阿里巴巴、百度、浪潮、聯(lián)想等國內(nèi)企業(yè)軟件開發(fā)者LinusTorvalds,Github上有6500多萬的程序員Apache軟件基金會(huì)組織特點(diǎn)成立于1999年的非盈利性組織所管理的開源軟件項(xiàng)目都遵循Apache許可證組織構(gòu)成管理有約2.27億行代碼和350多個(gè)開源軟件項(xiàng)目擁有800多名基金會(huì)成員,4萬多代碼貢獻(xiàn)者,48萬個(gè)體代表性開源軟件ApacheHTTPServer、Derby、Hadoop、Lucene、Tomcat、Ant、Maven等Google主導(dǎo)的開源軟件項(xiàng)目移動(dòng)操作系統(tǒng)Android機(jī)器學(xué)習(xí)系統(tǒng)TensorFlow容器集群管理系統(tǒng)Kubernetes網(wǎng)站前端開發(fā)工具集MDLWeb前端框架Angular基于Chrome瀏覽器的開發(fā)環(huán)境SparkJava常用庫Guava、Java編譯器Traceur…..開放原子開源基金會(huì)
2020年6月在北京成立,由阿里巴巴、百度、華為、浪潮、360、騰訊等多家龍頭科技企業(yè)聯(lián)合發(fā)起開源項(xiàng)目孵化平臺科技公益性服務(wù)機(jī)構(gòu)打造開源開放框架搭建國際開源社區(qū)典型的開源項(xiàng)目OpenHarmony(華為)TencentOSTiny(騰訊)……
/思考和討論開源軟件會(huì)帶來什么好處?為什么那么多的企業(yè)和個(gè)人關(guān)注和參與開源軟件?開源軟件是如何開發(fā)出來的?2.3開源軟件托管平臺托管服務(wù)創(chuàng)建軟件倉庫支持協(xié)同開發(fā)軟件質(zhì)量保證……代表性托管平臺GithubSourceForgeGitee……開源軟件托管平臺-GithubGithub是全球最有影響力的開源軟件托管平臺,目前由微軟負(fù)責(zé)經(jīng)營
開源軟件托管平臺-SourceForge一個(gè)有影響力的開源軟件開發(fā)平臺和倉庫,為開源軟件提供存儲、協(xié)作和發(fā)布的支持
開源軟件托管平臺-Gitee中國的開源軟件托管平臺匯聚了國內(nèi)眾多的開發(fā)者和主要軟件企業(yè)的開源軟件項(xiàng)目,如華為OpenHarmony操作系統(tǒng)、百度的PaddlePaddle等軟件開發(fā)知識分享社區(qū)-StackOverflow全球最大的軟件開發(fā)知識分享平臺,它支持開發(fā)者交流和討論軟件開發(fā)問題、分享軟件開發(fā)經(jīng)驗(yàn)和知識,進(jìn)而促進(jìn)相關(guān)開發(fā)問題的解決,推動(dòng)開源軟件的開發(fā)
軟件開發(fā)知識分享社區(qū)-CSDN中國的軟件開發(fā)知識分享社區(qū)技術(shù)博客、學(xué)習(xí)社區(qū)、代碼托管等2.4開源軟件的優(yōu)勢采購和開發(fā)的成本更低開源軟件通常是免費(fèi)的,即使要付費(fèi),其費(fèi)用也非常低廉軟件質(zhì)量更高、更安全核心代碼都在公眾的視野之中,代碼問題(如缺陷、安全漏洞等)很容易被人發(fā)現(xiàn)軟件研制和交付的更快基于開源軟件的項(xiàng)目開發(fā)可以更為快速地給用戶交付軟件產(chǎn)品軟件功能更為強(qiáng)大大量的軟件開發(fā)者不僅參與軟件開發(fā),貢獻(xiàn)他們的代碼,而且還參與軟件的創(chuàng)新,提出和構(gòu)思軟件需求,不斷完善軟件功能為什么開源軟件具有這些優(yōu)勢?2.5開源軟件許可證何為開源許可證聲明獲得開源代碼后擁有的權(quán)利,界定對別人的開源作品進(jìn)行何種操作、何種操作是被禁止的,規(guī)范開源軟件的使用要求和約束為什么需要開源許可證開發(fā)者雖然可自由地獲取開源軟件的源代碼,但在如何使用開源軟件方面還需要遵循相關(guān)的開源軟件協(xié)議嘗試在開源軟件的自由創(chuàng)新與創(chuàng)業(yè)利益之間達(dá)成某種平衡既支持開發(fā)者基于開源軟件進(jìn)行創(chuàng)新,也保護(hù)貢獻(xiàn)者和創(chuàng)新者的相關(guān)利益,同時(shí)尋求某些商業(yè)運(yùn)作模式,促進(jìn)開源軟件長期、持續(xù)和良性的發(fā)展二類許可證寬松式開源許可證對用戶的限制很少,用戶甚至可以將修改后的開源代碼后閉源。三方面特點(diǎn):代碼使用沒有任何限制;用戶自擔(dān)代碼質(zhì)量的風(fēng)險(xiǎn);用戶使用開源軟件時(shí)須披露原始作者BSD、Apache、MIT等都屬于寬松式許可證類別Copyleft式開源許可證“Copyleft”是Copyright反義詞,意指可不經(jīng)許可隨意復(fù)制更多限制,帶有許多條件和要求,比如分發(fā)二進(jìn)制代碼時(shí)須提供源代碼,修改后的開源軟件須與之前保持一致的許可證等GPL、MPL等屬于Copyleft許可證類別Apache開源許可證Apache許可證的要求該軟件及其衍生品須繼續(xù)使用Apache許可協(xié)議如果修改了程序源代碼,需要在文檔中進(jìn)行聲明若軟件是基于他人源代碼編寫而成的,則需要保留原始代碼的協(xié)議、商標(biāo)、專利聲明及其他原作者聲明的內(nèi)容信息如果再發(fā)布的軟件中有聲明文件,則需在此文件中標(biāo)注Apache許可協(xié)議及其他許可協(xié)議遵循Apache許可證的開源軟件Hadoop、ApacheHTTPServer、MongoDB等開源軟件GPL開源許可證許可證的要求自由復(fù)制,對復(fù)制的數(shù)量和去處不做限制自由傳播,允許軟件以各種形式進(jìn)行傳播收費(fèi)傳播,允許出售該軟件,但必須讓買家知道這個(gè)軟件是可免費(fèi)獲得的修改自由,允許開發(fā)者增加或刪除軟件功能,但修改后的軟件必須依然采用GPL許可證遵循GPL許可協(xié)議的開源軟件Linux不同許可證的差別
修改源碼后是否可閉源
經(jīng)修改后的源碼是否需版權(quán)說明是否可用開源軟件名字促銷衍生代碼可以不可以新增源碼是否需遵循同樣許可
是否需要對源代碼修改提供說明不需要需要可以MIT許可證BSD許可證不可以Apache許可證LGPL許可證MPL許可證GPL許可證需要不需要需要不需要弱約束強(qiáng)約束2.5開源軟件的利用學(xué)習(xí)開源軟件不僅反映了核心開發(fā)者的功能創(chuàng)意,而且還蘊(yùn)含了高水平的軟件開發(fā)技能,如架構(gòu)設(shè)計(jì)、編碼風(fēng)格、模塊封裝等重用開源代碼開源軟件構(gòu)成了支撐軟件開發(fā)的可重用軟件資源庫,可實(shí)現(xiàn)更大粒度的軟件重用,支持信息系統(tǒng)的快速構(gòu)建參與開源建設(shè),掌握開源技術(shù),理解開源文化包括反饋軟件缺陷、提出軟件需求、討論問題解決、貢獻(xiàn)程序代碼等等示例:學(xué)習(xí)小米便簽開源軟件模塊化設(shè)計(jì)、接口設(shè)計(jì)、編碼規(guī)范等示例:基于開源軟件來快速低成本構(gòu)建信息系統(tǒng)個(gè)人計(jì)算系統(tǒng)如麒麟操作系統(tǒng)、7-Zip移動(dòng)計(jì)算系統(tǒng)如android、鴻蒙、MaterialFiles、Seal大數(shù)據(jù)和云服務(wù)系統(tǒng)如Linux、Hadoop、Spark、Apache、MySQL和Nginx示例:基于開源軟件來快速低成本構(gòu)建信息系統(tǒng)重用和集成開源軟件來快速搭建高質(zhì)量的系統(tǒng)Instagram(abbr.Instanttelegram)軟件,實(shí)現(xiàn)基于移動(dòng)設(shè)備的照片和視頻共享、在線服務(wù)軟件5個(gè)軟件工程師,用了十多款開源軟件,8周時(shí)間就出打造最初Instagram/wiki/Instagram提高軟件開發(fā)效率和質(zhì)量的有效手段軟件產(chǎn)業(yè)界的高度關(guān)注和積極參與*社會(huì)需要大量高質(zhì)量的開源人才78%公司基于開源運(yùn)行;少于3%公司完全不使用開源64%公司參與開源;超過66%公司優(yōu)先考慮利用開源89%的公司認(rèn)為利用開源大幅度提高了軟件創(chuàng)新速度貢獻(xiàn)開源和利用開源已成為工業(yè)界的廣泛共識和實(shí)踐,逐漸成為一種重要的軟件開發(fā)模式-《2015開源軟件年度調(diào)查》當(dāng)前幾乎所有的主要IT企業(yè)都在參與開源軟件實(shí)踐,包括微軟微軟、IBM、Google、Oracle、Intel、FaceBook、華為、阿里、騰訊、百度等開源軟件的利用學(xué)習(xí)開源軟件掌握高水平軟件開發(fā)技能,如架構(gòu)設(shè)計(jì)、編碼風(fēng)格、模塊封裝等重用開源軟件快速搭建信息系統(tǒng)建設(shè)開源軟件增加功能、解決缺陷開源軟件是有國界的2019年美國Google終止華為使用Android生態(tài)不允許Android開源軟件的更新不能使用GooglePlay商店、Gmail、地圖等應(yīng)用和服務(wù)華為不得不構(gòu)建自己的鴻蒙生態(tài)建設(shè)我國的開源軟件及其生態(tài)2021年,開源首次寫入《中華人民共和國國民經(jīng)濟(jì)和社會(huì)發(fā)展第十四個(gè)五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》國務(wù)院印發(fā)《“十四五”數(shù)字經(jīng)濟(jì)發(fā)展規(guī)劃》提出支持具有自主核心技術(shù)的開源社區(qū)、開源平臺、開源項(xiàng)目推動(dòng)創(chuàng)新資源共建共享促進(jìn)創(chuàng)新模式開放化演進(jìn)工業(yè)和信息化部印發(fā)《“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃》系統(tǒng)布局“十四五”開源生態(tài)發(fā)展我國開源軟件實(shí)踐及成果項(xiàng)目名稱類別發(fā)起單位開源社區(qū)OpenHarmonyOS華為/openharmonyMindSporeAI華為/mindsporePaddlePaddleAI百度/paddlepaddleopenEulerOS華為/openeuleropenGaussDB華為/opengaussWeUI開發(fā)騰訊/Tencent/WeuiTiDBDBPingCAP/pingcap優(yōu)麒麟OS麒麟軟件/ubuntukylinOceanBaseDB螞蟻/oceanbaseOpenCloudOSOS騰訊/OpenCloudOSIoTDBDB清華大學(xué)/apache/iotdb?_from=gitee_search討論:介紹一款你所知道的開源軟件軟件名稱提供功能編程語言開發(fā)群體代碼量托管平臺軟件利用……內(nèi)容軟件軟件的概念、特點(diǎn)、組成及生命周期開源軟件開源軟件實(shí)踐,托管平臺和社區(qū),開源許可證軟件質(zhì)量軟件質(zhì)量要素及模型當(dāng)前軟件特征的變化地位、運(yùn)行環(huán)境、形態(tài)、復(fù)雜性3.1軟件質(zhì)量軟件質(zhì)量是指軟件滿足給定需求的程度,它是軟件的生命線軟件質(zhì)量同樣可分為內(nèi)部質(zhì)量和外部質(zhì)量3.2軟件質(zhì)量要素(1/3)正確性(Correctness)軟件滿足規(guī)格說明和用戶要求的程度,即在預(yù)定環(huán)境下能正確地完成預(yù)期功能和非功能需求的程度。可靠性(Reliability)在規(guī)定條件下、限定時(shí)間范圍內(nèi),軟件系統(tǒng)完成預(yù)期功能、不引起系統(tǒng)故障的能力。健壯性(Robustness)在計(jì)算環(huán)境發(fā)生故障、輸入無效數(shù)據(jù)或操作錯(cuò)誤等意外情況下,軟件仍能做出適當(dāng)響應(yīng)的程度。有效性(Efficiency)軟件利用計(jì)算資源和存儲資源以實(shí)現(xiàn)其功能的能力。軟件質(zhì)量要素(2/3)安全性包括系統(tǒng)安全(Safety)和信息安全(Security),系統(tǒng)安全是指軟件能及時(shí)有效地避免給人員、設(shè)施、環(huán)境、經(jīng)濟(jì)等造成損害,信息安全是指軟件能有效防控各類的非法獲取、傳播和使用可維護(hù)性(Maintainability)是否易于對其進(jìn)行修改以更正錯(cuò)誤、增強(qiáng)功能、適應(yīng)新運(yùn)行環(huán)境可移植性(Portability)把軟件從一種運(yùn)行環(huán)境轉(zhuǎn)移到另一種運(yùn)行環(huán)境下運(yùn)行的難易程度可重用性(Reusability)軟件模塊、構(gòu)件、設(shè)計(jì)方案等在其他軟件開發(fā)中被再次使用程度軟件質(zhì)量要素(3/3)可理解性(Comprehensibility)軟件開發(fā)者或用戶理解該軟件系統(tǒng)的容易程度可信性(Dependability)采取有效措施確認(rèn)軟件滿足人們的要求和期望持續(xù)性(Sustainability)面對各種突發(fā)異常事件,仍能提供令人滿意的服務(wù)的能力可用性(Usability)使用和操作軟件系統(tǒng)難以程度互操作性(Interoperability)軟件系統(tǒng)與其他的系統(tǒng)進(jìn)行交換信息、協(xié)同工作的能力2019年華為公司發(fā)布的第一號文件“全面提升軟件工程能力與實(shí)踐,打造可信的高質(zhì)量產(chǎn)品”把可信作為第一優(yōu)先級,放在功能、特性和進(jìn)度之上可信軟件的基本要求安全性以抗擊攻擊,保護(hù)業(yè)務(wù)和數(shù)據(jù)的機(jī)密性、完整性和可用性韌性(Resilience)以確保系統(tǒng)受攻擊時(shí)仍能保持良好的運(yùn)行狀態(tài),具有快速恢復(fù)的能力隱私性(Privacy)以保護(hù)用戶的數(shù)據(jù)及其隱私可靠性和可用性以確保軟件產(chǎn)品長期無故障運(yùn)行,具備快速恢復(fù)和自我管理的能力,提供可預(yù)期的、一致的服務(wù)。內(nèi)容軟件軟件的概念、特點(diǎn)、組成及生命周期開源軟件開源軟件實(shí)踐,托管平臺和社區(qū),開源許可證軟件質(zhì)量軟件質(zhì)量要素及模型當(dāng)前軟件特征的變化地位、運(yùn)行環(huán)境、形態(tài)、復(fù)雜性*4.1軟件的地位和作用深入到社會(huì)、經(jīng)濟(jì)、生活的方方面面,無處不在作為一種創(chuàng)新的工具,深刻地改變各個(gè)行業(yè)和領(lǐng)域,創(chuàng)新問題解決模式和方式,影響人們?nèi)粘W(xué)習(xí)、生活和工作“12306”改變了購票方式,淘寶和京東改變了購物方式軟件是實(shí)現(xiàn)行業(yè)和領(lǐng)域進(jìn)行信息化融合和改造,實(shí)現(xiàn)創(chuàng)新性發(fā)展的使能技術(shù)和重要利器企業(yè)信息化改造,圖書借閱等軟件已經(jīng)成為人類社會(huì)的關(guān)鍵性基礎(chǔ)設(shè)施就像電力、交通設(shè)施一樣,發(fā)揮基礎(chǔ)性的作用4.2軟件運(yùn)行環(huán)境的變化和發(fā)展69大中小型機(jī)的計(jì)算平臺基于局域網(wǎng)的分布計(jì)算平臺基于互聯(lián)網(wǎng)的計(jì)算平臺基于PC的計(jì)算平臺無處不在的計(jì)算從前端的PC終端、可穿戴設(shè)備、智能手機(jī)到后端的云中心、高性能計(jì)算中心從孤立、獨(dú)立、局域和可控的計(jì)算環(huán)境到分布、開放、動(dòng)態(tài)、難控、無處不在計(jì)算環(huán)境4.3軟件形態(tài)不是單一系統(tǒng),而是系統(tǒng)之系統(tǒng)諸多系統(tǒng)聯(lián)盟和組合而成不僅是社會(huì)技術(shù)系統(tǒng),還是一種生態(tài)系統(tǒng)社會(huì)、信息、物理等要素共存不是同構(gòu)系統(tǒng),而是異構(gòu)、多樣的系統(tǒng)聯(lián)盟要素異構(gòu),客觀存在,也是必然不在封閉環(huán)境,而在開放環(huán)境中環(huán)境和系統(tǒng)相互作用,環(huán)境開放如互聯(lián)網(wǎng)、戰(zhàn)場環(huán)境不是封閉系統(tǒng),而是動(dòng)態(tài)適應(yīng)系統(tǒng)要素、關(guān)系、聯(lián)盟等持續(xù)變化,邊界不明確軟件形態(tài)-社會(huì)技術(shù)系統(tǒng)由人、社會(huì)組織、物理設(shè)備、過程等要素共同組成和相互作用的人機(jī)物共生系統(tǒng)軟件系統(tǒng)無法單獨(dú)存在,需與物理、社會(huì)系統(tǒng)交互作用軟件形態(tài)-系統(tǒng)之系統(tǒng)由一組面向任務(wù)、服務(wù)于不同對象的子系統(tǒng)構(gòu)成每個(gè)子系統(tǒng)可獨(dú)立運(yùn)作并能提供相對獨(dú)立功能整個(gè)系統(tǒng)通過各獨(dú)立系統(tǒng)間交互來實(shí)現(xiàn)全局任務(wù)系統(tǒng)2系統(tǒng)1系統(tǒng)4系統(tǒng)3系統(tǒng)n軟件形態(tài)-分布式異構(gòu)系統(tǒng)擁有大量形式多樣、地理或者邏輯上是分布的,分散部署在互聯(lián)網(wǎng)上的軟件實(shí)體軟件實(shí)體的分布性是必須的,因?yàn)樵絹碓蕉嗟膽?yīng)用本身就是分布的,軟件實(shí)體的分布性有助于提高軟件系統(tǒng)的可靠性和安全性構(gòu)成軟件系統(tǒng)的軟件實(shí)體通常是異構(gòu)的,異構(gòu)性是一種必然軟件形態(tài)-動(dòng)態(tài)演化系統(tǒng)系統(tǒng)的邊界和需求的不確定性和持續(xù)演變性動(dòng)態(tài)開放的特點(diǎn)軟件系統(tǒng)需要根據(jù)外部環(huán)境的變化而不斷地調(diào)整自身,包括系統(tǒng)的體系結(jié)構(gòu)和交互協(xié)作等等,進(jìn)而表現(xiàn)出持續(xù)演化的特點(diǎn)系統(tǒng)的運(yùn)維和系統(tǒng)的運(yùn)行需要交織在一起城市交通管理系統(tǒng)銀行服務(wù)信息系統(tǒng)醫(yī)療保證信息系統(tǒng)作戰(zhàn)指揮控制系統(tǒng)……軟件形態(tài)-系統(tǒng)聯(lián)盟大規(guī)模復(fù)雜信息技術(shù)系統(tǒng)是由大量相對獨(dú)立、自我控制和管理的系統(tǒng)組裝而成—系統(tǒng)聯(lián)盟分屬不同的組織,并由他們來管理共同工作和相互共存并非一開始就設(shè)計(jì)好,而是演化而成聯(lián)盟動(dòng)態(tài)變化開發(fā)系統(tǒng)聯(lián)盟需要采用社會(huì)技術(shù)觀點(diǎn),借助系統(tǒng)工程的方法軟件形態(tài)-生態(tài)系統(tǒng)“運(yùn)行”生態(tài)軟件的運(yùn)行需要依靠“生態(tài)”的支撐從計(jì)算和物理設(shè)備、社會(huì)系統(tǒng)到OS和運(yùn)行環(huán)境“演化”生態(tài)軟件的演化基于特定的“生態(tài)”支撐從最初的“源頭”到最新“版本”“人員”生態(tài)涉及到大量、開放的介入人員使用者、開發(fā)者、運(yùn)維者等生態(tài):共同環(huán)境+諸多要素+獨(dú)立演化+相互依存
4.4軟件系統(tǒng)的規(guī)模規(guī)模的表現(xiàn)及變化構(gòu)成軟件系統(tǒng)的代碼行數(shù)量、軟件運(yùn)行時(shí)的進(jìn)程和線程以及它們之間的交互數(shù)量、軟件需處理的數(shù)據(jù)量、軟件連接的各類設(shè)備和人員數(shù)量等不斷增加軟件規(guī)模示例WindowsXP有3500萬行代碼量,WindowsVista有5000萬行代碼量,Windows7的代碼量大約是7000萬行寶馬7系的軟件總量超過了2億行,特斯拉S的內(nèi)嵌軟件代碼行總量超過4億行,空客A380中的軟件代碼行總量超過了10億行F-35中80%左右的系統(tǒng)功能由軟件來實(shí)現(xiàn),軟件代碼量約為800萬行軟件應(yīng)用的拓展及深化高性能計(jì)算信息物理系統(tǒng)智能機(jī)器人云計(jì)算健康醫(yī)療城市交通軍事信息系統(tǒng)航空航天……4.5我國軟件產(chǎn)業(yè)的成就2020年,軟件產(chǎn)業(yè)規(guī)模達(dá)8.2萬億元人民幣,與2000年相比增長138.3倍,占全球軟件產(chǎn)業(yè)的比重將近24%,占國內(nèi)生產(chǎn)總值的比重已經(jīng)達(dá)到8.03%
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國激光雕刻軟件項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國AI開發(fā)平臺項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國金融移動(dòng)應(yīng)用項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國計(jì)算機(jī)輔助翻譯(CAT)系統(tǒng)項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國骨科材料項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國高檔牛羊肉項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國動(dòng)態(tài)應(yīng)用程序安全測試軟件項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 中國3D購物項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 量子動(dòng)力學(xué)在生物醫(yī)學(xué)中的應(yīng)用研究-洞察闡釋
- 樂理樂理試題及答案
- 《現(xiàn)代齒軌交通設(shè)計(jì)標(biāo)準(zhǔn)》
- 船舶敬港與港口作業(yè)考核試卷
- 禁毒情報(bào)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- DB11T 1946-2021 智慧工地評價(jià)標(biāo)準(zhǔn)
- 門窗更換承包合同
- 污水管道工程施工組織設(shè)計(jì)
- 職業(yè)教育專業(yè)教學(xué)資源庫建設(shè)工作方案和技術(shù)要求
- DB14T-苜蓿草顆粒生產(chǎn)技術(shù)規(guī)程
- 2024至2030年中國番茄行業(yè)研究及市場投資決策報(bào)告
- “職業(yè)健康達(dá)人”競賽考試題庫500題(含答案)
- DL∕T 2553-2022 電力接地系統(tǒng)土壤電阻率、接地阻抗和地表電位測量技術(shù)導(dǎo)則
評論
0/150
提交評論