軟件工程:軟件需求

簡介

本篇博客記錄了我在軟件工程學習過程中關于軟件需求與面向對象基礎知識的學習體會和要點總結。博客共分為三個關卡內容:第1關圍繞“軟件需求”的定義、分類及分析過程展開,讓我清晰地理解了功能性需求、非功能性需求與約束條件的區別;第2關深入探討了如何構思有創意的軟件需求,包括技術、思想、素材和用戶視角的多維思考;第3關則介紹了面向對象軟件工程的基本思想、產生背景及核心概念,如類、對象、繼承、多態、消息傳遞等。通過這三關的系統學習,我不僅夯實了軟件開發中前期需求分析的基礎,還初步理解了面向對象建模與設計的邏輯,對后續學習UML、用例建模等內容產生了濃厚興趣。本文旨在梳理知識點,加深理解,供今后復習與項目實踐參考。

第1關:軟件需求

任務描述

本關任務:了解軟件需求的內涵和軟件需求分析的任務,掌握軟件需求的分類,完成相應的選擇題。

相關知識

何為軟件需求

獲取和分析軟件需求是軟件開發的前提,只有明確了軟件需求,后續的軟件設計與建模、代碼編寫與測試等軟件開發活動才有基礎和依據,因而需求獲取和分析在整個軟件開發過程中發揮著前導性、關鍵性的作用。

軟件需求是指軟件系統的利益相關者對軟件系統的功能、質量等方面,以及軟件系統在運行環境、資源消耗、提交進度等方面的期望和要求。具體表現為兩個方面:

(1)功能性需求

用戶對軟件系統能夠完成何種功能以及在某些場景下軟件系統能夠展現何種外部可見行為或效果的要求。

(2)非功能性需求

用戶對軟件系統的質量屬性、運行環境、資源約束、外部接口等方面的要求,包括:運行性能、可靠性、易用性、安全性、對外接口、可維護性等等。

軟件需求通常來自于軟件系統的利益相關者,在空巢老人智能看護系統中,利益相關者為老人及家屬,他們提出了具體需求;但是軟件工程師也可代表用戶來構思和提出需求,比如微信、12306 等 app,是由軟件工程師代表用戶提出需求。

軟件需求的類別

軟件需求的類別可以分為三類:

功能(Functional)

能夠完成的功能及在某些場景下可展現的外部可見行為或效果。示例:自主跟隨老人、獲取老人圖像和視頻信息、檢測老人是否摔倒等;

非功能(Non-Functional)

軟件系統在質量屬性、運行環境、資源約束、外部接口等要求。示例:性能、可靠性、易用性、安全性、接口、可維護性等;

約束(Constraint)

成本、進度、技術選型、標準和規范等要求。示例:如成本不能超出 50 萬元,要求半年內交付使用等等。

軟件需求分析的任務和過程

軟件需求獲取和分析的任務是,通過與用戶的溝通和交互,獲得用戶關于軟件系統的期望和要求,即軟件需求;在此基礎上對軟件需求進行建模和分析,產生準確、一致、直觀、可視化的軟件需求模型,并在此基礎上形成規范化的軟件需求文檔。軟件需求獲取和分析的過程如圖 1 所示,它包含以下三項軟件開發活動。

圖1 軟件需求分析的過程

作答要求

根據相關知識,按照要求完成右側選擇題任務。作答完畢,通過點擊“測評”,可以驗證答案的正確性。

題目

  • 1、

    軟件需求的類別不包含以下哪類?

    A、

    功能性

    B、

    可靠性

    C、

    非功能性

    D、

    約束

答案

B

思考

案例分析:12306訂票系統的需求分類

  • 功能性需求:用戶可以注冊、登錄、查詢車票、預訂車票、在線支付、取消訂單等。

  • 非功能性需求:系統需支持高并發訪問(春運期間)、提供良好的界面交互體驗、安全性保障(如短信驗證碼、實名認證)、操作簡單易懂。

  • 約束性需求:系統必須接入國家支付平臺、每天凌晨進行系統維護、部署在政府指定數據中心,開發周期不得超過6個月。

軟件需求規格說明書(SRS)模板結構簡要

  1. 引言:描述項目背景、目標、術語解釋

  2. 總體描述:系統環境、用戶特征、約束條件

  3. 功能需求:詳細列出系統必須具備的功能模塊

  4. 非功能需求:性能、安全性、可維護性等

  5. 外部接口:數據庫、硬件、軟件等接口描述

  6. 附錄:相關參考資料、術語表等

第2關:軟件需求構思和創意

任務描述

本關任務:了解構思軟件需求的背景以及什么是有創意的軟件需求,掌握如何構思有創意的軟件需求,完成相應的選擇題。

相關知識

構思軟件需求

在軟件開發時,常常會遇到這樣的問題:

想開發一個軟件系統,但是沒有明確的利益相關者;

有明確利益相關者,但是找不到這樣的用戶能夠提供需求。

比如微信、QQ 在開發時,雖然有明確的利益相關者,但是用戶其實也不清楚自己的需求,不能夠提出明確的需求。

這時候需要軟件開發人員擔任用戶的角色,構思和導出待開發軟件系統的需求,微信軟件系統的需求就是由微信開發團隊提出的。

正是在這樣的背景下,產生了構思軟件需求,具體內容為:明確軟件系統欲解決的應用問題及其潛在的用戶,通過對相關應用領域的調研和分析以及與軟件系統目標用戶的溝通和交流,明確用戶的期望和要求,獲取軟件系統的需求。在某些情況下(如暫時找不到合適的目標用戶),軟件開發人員可代表用戶來構思軟件系統的需求。該活動的輸出是用自然語言描述的軟件需求。

構思有創意的軟件需求

在構思軟件需求時,需要有創意,才能帶來價值:

創意帶來新產品

創意帶來用戶

創意帶來市場和利潤

創意帶來發展

那么什么樣的需求才有創意?

創意基于欲解決的問題,產生基于計算機軟件的解決方法,能夠展示有價值、獨特性、新穎性、有效性等特征。

有創意軟件的特點通常有以下幾點:

創意來自于欲解決的新穎問題(Needs)

創意來自于解決問題的獨特方式(Approach)

創意來自于給用戶帶來的好處(Benefits)

創意來自于你強于對手(Competitors)

空巢老人智能看護系統屬于有創意的軟件需求,因為其符合以下兩點特征:

欲解決的問題有價值。看護老人已經成為一個全社會迫切解決的問題,對老人、家屬、醫院等都有實際的需求;

解決方法的新穎性和獨特性。傳統上人們需要依靠保姆、家人等來看護老人,現在通過計算機軟件以及相應的信息系統(包括機器人和智能手機等)來解決這一問題。

如何構思和創意軟件需求

想要構思有創意的軟件需求,可以從如下幾個方面著手:

突發奇想,奇思妙想。根據用戶的新期望或者不經意的討論,發現新的問題和應用;

技術層面的創意。利用新技術,或者集成和綜合多項技術來解決問題;

互聯網大眾的想法。根據開源社區中大眾的建議和問題,拓展思路;

思想。思維活躍,思路開放,開闊視野,不拘泥于現實;

素材。既要留意當前學習、生活和工作中的方方面面,并從中尋找有意義、有價值的應用問題和需求,也要著眼于未來構思未來的問題及需求;

方法。既要了解和掌握現有問題的解決方法和手段,也要敢于現象如何借助于以計算機軟件為核心的信息系統來解決問題;

開展調研分析,切忌拍腦袋憑空想問題。查詢文獻資料,了解狀況需求,分析已有技術和產品,掌握現有方式方法,形成對問題及解決方法理解和判斷,做到有理有據,進行縝密論證;

不斷反復論證,切忌不切實際的想象。構思須進行反復的思考、推敲、研究和論證,放棄不現實不切實際問題,深化有價值、有意義、可實現的問題;

尋求有意義、有價值的問題。確保所提出的問題有現實意義,對用戶有價值。

持續深化、改進和提高。進行反復討論,尋求創意點,發現潛在問題,調整關注點,不斷進行權衡和折中,分析可行性等等。

構思有創意的軟件需求,最終產生的的軟件制品為:

軟件需求構思和創意文檔(文檔)
軟件需求模型(模型)
軟件需求規格說明書(文檔)

作答要求

根據相關知識,按照要求完成右側選擇題任務。作答完畢,通過點擊“測評”,可以驗證答案的正確性。

題目

  • 1、

    有創意軟件的特點通常有哪些?

    A、

    創意來自于欲解決的新穎問題

    B、

    創意來自于解決問題的獨特方式

    C、

    創意來自于給用戶帶來的好處

    D、

    創意來自于你強于對手

答案

ABCD

思考

創意案例:校園跑腿服務平臺

  • 背景問題:學生經常忙于上課或天氣不便出門

  • 創意功能:拍照下單(上傳代辦清單)、地圖智能派單、訂單跟蹤、微信通知提醒

  • 受眾用戶:高校學生、宿舍管理員

  • 非功能性亮點:支持微信小程序、實時定位追蹤、評分機制增加信任度

?用戶調研與需求來源

  • 設計一份調研問卷(可用問卷星):

    • “您是否經常因天氣、課程原因需要他人幫忙代買物品?”

    • “您更傾向于通過什么方式發出代辦請求?”

第3關:面向對象軟件工程基礎

任務描述

本關任務:了解面向對象軟件工程的產生背景及基本思想,掌握面向對象的基本概念,完成相應的選擇題。

相關知識

產生背景

在面向對象軟件工程產生之前,人們通常采用結構化軟件工程的方法來開發軟件。結構軟件工程包括結構化需求分析、結構化軟件設計、結構化程序設計等。具體內容如下:

結構化需求分析采用諸如數據流圖等技術來表示和分析軟件需求;

結構化軟件設計采用層次圖、模塊圖等技術來描述軟件設計模型;

結構化程序設計則借助于過程、函數等程序設計機制及相應的語言(如C、Pascal等)來編寫程序代碼。

結構化軟件工程采用不同的模型、語言、機制等來描述軟件需求、建立設計模型、構造程序代碼,這就意味著軟件開發的不同階段需要采用不同的抽象來對軟件系統進行建模,從而建立起基于不同抽象的軟件模型,任何的軟件開發活動(無論是需求分析、軟件設計還是程序設計)都需要解決不同模型之間的轉換和精化問題,無疑這極大增加了軟件開發的復雜性,難以應對大規模、復雜軟件系統的開發。存在的問題及局限如下:

問題模型(即需求模型,如數據流圖)與現實世界不一致,導致需求模型不自然、不直觀、難以理解;

解模型(即設計實現模型,如模塊圖)與問題模型不一致,導致需要進行轉換,帶來開發的復雜性;

模塊粒度較小,封裝程度不高,可重用性不好。

因此,對軟件工程提出了新的要求:

用貼近現實世界的抽象來表示軟件系統的需求,建立起更為自然和直觀的需求模型。

采用相同的抽象來表示問題模型和解模型。減少從需求到設計的概念鴻溝,縮減問題空間與解空間的距離;實現自然、平穩過渡,簡化在二者間架設“橋梁”的工作。

提供更大粒度的封裝,以更好地支持軟件重用,更好地體現模塊化、高內聚度低耦合度、信息隱藏原則。

在這樣的背景下,面向對象軟件工程應運而生,以解決結構化軟件工程的內在不足和存在的局限。

面向對象軟件工程的基本思想

面向對象軟件工程認為,無論是現實世界(應用問題)還是計算機世界(軟件系統),它們都是由多樣化的對象所構成的,這些對象之間通過一系列的交互來展示行為、實現功能和提供服務。軟件開發人員可以面向對象軟件工程所提供的對象、類、屬性、操作、消息、繼承等概念來表示現實世界的應用,從而建立起軟件需求模型,描述軟件系統的需求,也可來表示計算機世界的軟件系統,從而建立起軟件模型,描述軟件系統的解決方案。

面向對象分析

將軟件系統的需求,尤其是功能性需求,表征為問題域中對象的方法以及它們之間的協作,也即借助于面向對象軟件工程所提供的核心概念來表示應用系統的組成、功能、行為等等,進而建立起軟件系統的需求模型。

例如,通過對象、類等來描述和分析應用系統的構成,借助類的方法來描述和分析應用系統的行為,利用消息機制來分析多個對象之間如何通過協作來提供功能和服務。一般地,面向對象分析將產生若干基于面向對象概念的軟件需求模型,如用例模型、交互模型、分析類模型等等。

面向對象設計

根據面向對象的需求模型,結合編程實現的約束與限制(如所采用的面向對象程序設計語言等),對目標軟件系統進行設計,給出實現軟件需求的解決方案。面向對象的軟件設計仍然借助于面向對象核心概念,從不同層次、不同的視點描述軟件設計模型。

例如,目標軟件系統整體上由哪些子系統、構件和包等構成,每個子系統和構件內部包含哪些類、每個類封裝了哪些屬性和方法、不同對象之間如何通過消息傳遞來進行協同,從而來實現軟件系統的功能等等。不同于結構化軟件設計,面向對象設計是通過對面向對象需求模型進行不斷精化(而非模型轉換)而得到的。一般地,面向對象設計將產生若干軟件設計模型,如軟件體系結構模型、軟構件模型、設計類模型、交互和協作模型、狀態模型等等。

面向對象編碼

根據軟件設計模型,采用特定的面向對象程序設計語言(如 C++、Java、Python 等等),編寫目標軟件系統的程序代碼。軟件設計模型中的相關設計元素將直接用程序設計語言所提供的編程元素和機制來加以實現。

面向對象的基本概念

面向對象軟件工程提供了一組有別于結構化軟件工程的概念和抽象來支持系統的分析、建模、設計、實現和測試。具體地,這些概念描述如下。

對象(Object)

它是對現實世界和計算機世界中個體、事物或者實體的抽象表示。例如,可以用對象表示應用領域的一個事物(如NAO機器人),也可以用它來表示在計算機軟件中的某個運行元素或單元(如運行實例)。每個對象都有其屬性和操作。屬性表示對象性質,屬性的值定義了對象的狀態;操作也稱方法,表示對象所能提供的服務,它定義了對象的行為。一般地,對象的屬性只能由該對象的操作來存取或修改。

類(Class)

顧名思義,類是一種分類和組織機制。它是對一組具有相同特征對象的抽象。通俗地講,通過類可以對不同的對象進行分類,將具有相同特征的對象組織為一類。所謂的相同特征是指具有相同的屬性和方法。每個類都封裝了屬性和方法。對象是類的實例,類是創建對象的模板,也即可以根據類模板來創建一個個具體、具有多樣狀態的對象。基于某個類創建一個對象后,那么該對象就具有這個類所封裝的屬性和方法。相比較而言,類是靜態和抽象的,對象是動態和具體的。

消息(Message)

消息是對象間進行通信的手段,也是一個對象與另一個對象進行交互和協作的方式。一個對象通過向另一個對象發送消息,從而來請求相應的服務。當一個對象發送消息時,它需要描述清楚接收方對象的名稱以及所請求方法的名稱及參數。對象之間的消息可以是同步消息,即請求者對象需要等待響應者對象的處理結果;也可以是異步消息,即請求者對象發出消息后繼續自己工作,無需等待響應者對象返回結果。

繼承(Inheritance)

繼承描述了類與類之間的一般與特殊關系。它本質上是對現實世界不同實體間遺傳關系的一種直觀表示,也是對計算機軟件中不同類進行層次化組織的一種機制。一個類(稱之為子類)可以通過繼承關系來共享另一個類(稱之為父類)的屬性和方法,從而實現子類對父類屬性和方法的重用。當然,子類在共享父類屬性和方法的同時,也可以擁有自己獨有的屬性和方法。繼承既可以表現為單重繼承,即一個子類至多繼承一個父類,也可以表現為多重繼承,即一個子類可以繼承多個父類。

多態(Polymorphism)

多態是針對方法而言的,它是指同一個方法作用于不同的對象上可以有不同的解釋,并產生不同的執行結果。換句話說,同一個方法雖然其操作名稱和接口定義形式相同,但是該方法在不同對象上的實現形態不一樣。因此,當一個對象給若干個對象發送相同的消息時,每個消息接收方對象將根據自己所屬類中定義的這個方法去執行,從而產生不同的結果。

覆蓋(Override)

一個子類可以通過繼承來獲得父類的屬性和方法。然而,子類也可以在自己的類中增加或者重新定義所繼承的屬性和方法,從而用新定義的屬性和方法來覆蓋所繼承的、來自父類中的屬性或方法。示例代碼如下:

public class A{String name;public String getValue(){return “Value is:” + name;} ? ? ? ? ? ??}
public class B extends A {String address;public String getValue () {return “Value is:” + address; ? ?}}


可以看出,子類 B 重新定義所繼承的方法 getValue。

重載(Overload)

一個類中允許有多個名稱相同但是參數不同的方法。由于這些方法在具體的參數數目及類型上有所區別,因而系統將根據接收到消息的實參來引用不同的方法。示例代碼如下:

Public class A {int age;String name;public void setValue(int agePara){age = agePara;?}public void setValue(String namePara){name = namePara;}
}
關聯(Association)


關聯描述了類與類之間的關系,它具有多種形式,如聚合(Aggregation)、組合(Composition)等等。聚合和組合均刻畫了類與類之間的部分-整體關系,即部分類的對象是整體類對象的組成部分,或者說整體類對象由部分類對象所組成。相比較而言,聚合描述的是一種簡單的整體部分關系,而組合刻畫的是一種更為特殊的整體部分特殊關系,它更加強調整體類對象和部分類對象之間的共生關系。

示例

聚合關系:老師與大學

組合關系:校長與大學

作答要求

根據相關知識,按照要求完成右側選擇題任務。作答完畢,通過點擊“測評”,可以驗證答案的正確性。

題目

  • 1、

    一個類(稱之為子類)不可以通過繼承關系來共享另一個類(稱之為父類)的屬性和方法。

    A、

    B、

答案

B

思考

UML類圖實例:圖書管理系統

  • 類1:Book

    • 屬性:書名、作者、ISBN、庫存量

    • 方法:借出、歸還、查看信息

  • 類2:User

    • 屬性:用戶名、學號、借閱記錄

    • 方法:借書、還書、查詢借閱情況

  • 類3:Admin

    • 屬性:賬戶、權限等級

    • 方法:添加圖書、刪除圖書、查看庫存

類之間關系:

  • User → 借閱 → Book (關聯)

  • Admin → 管理 → Book(聚合)

面向對象核心概念代碼示例

class Book {String title;String author;void borrow() {System.out.println("已借出:" + title);}
}class Student extends User {@Overridevoid borrowBook(Book book) {System.out.println("學生借書:" + book.title);}
}

總結

通過本次關于軟件需求與面向對象軟件工程基礎的學習,我深刻認識到“需求”是整個軟件開發流程中的核心與起點。只有明確、規范地獲取并分析用戶需求,后續的設計、開發和測試才有明確的方向。特別是在第2關中,構思有創意的軟件需求讓我認識到,軟件開發不僅僅是寫代碼,更是解決實際問題的過程,需要不斷洞察用戶的潛在需求。第3關的面向對象知識為我搭建了一個認識軟件世界的新視角,理解了類與對象的映射關系,也逐漸明白了封裝、繼承、多態等原則在實際系統設計中的意義。整個學習過程內容結構清晰、邏輯緊密,為我后續學習軟件工程建模方法、面向對象分析與設計等內容打下了堅實基礎。同時,我也意識到,理論學習和實際應用需要相互結合,只有在項目中不斷實踐,才能真正掌握并應用這些知識。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916218.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916218.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916218.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MES系統是什么,有哪些特性?

MES系統是一套面向制造企業車間執行層的生產信息化管理系統。它能夠為操作人員和管理人員提供計劃的執行、跟蹤以及所有資源(包括人、設備、物料、客戶需求等)的當前狀態。通過MES系統可以對從訂單下達到產品完成的整個生產過程進行優化管理。當工廠發生…

Vue2下

六:vue-router (重要) (一). 對路由的理解 1.什么是路由 路由(Router) 是管理頁面跳轉和 URL 與視圖映射關系的機制,核心作用是:根據不同的 URL 路徑,展示對…

在 Windows 上安裝設置 MongoDB及常見問題

介紹 MongoDB 是一個開源的 NoSQL 數據庫系統,它以一種靈活的類似 JSON 的格式(稱為 BSON(二進制 JSON))存儲數據。它使用動態模式,這意味著與關系型數據庫不同,MongoDB 不需要在向數據庫添加數…

Effective C++ 條款01:視 C++ 為一個語言聯邦

Effective C 條款01:視 C 為一個語言聯邦核心思想:C 是由多個子語言組成的聯邦,每個子語言有自己的編程范式。理解這些子語言及其規則切換,是寫出高效 C 代碼的關鍵。 四個子語言及其規則: C 語言 基礎:過程…

云效CI/CD教程(PHP項目)

參考文檔 參考云效的官方文檔https://help.aliyun.com/zh/yunxiao/ 一、新建代碼庫 這是第一步,和碼云的差不多 二、配SSH密鑰 這個和碼云,github上類似,都需要,云效的SSH密鑰證書不是采用 RSA算法,而是采用了ED2…

單片機是怎么控制的

單片機作為電子系統的控制核心,通過接收外部信號、執行預設程序、驅動外部設備的方式實現控制功能,其控制過程涉及信號輸入、數據處理和指令輸出三個關鍵環節,每個環節的協同配合決定了整體控制效果。 信號輸入:獲取外部信息 單片…

deepseek本地部署,輕松實現編程自由

小伙伴們,大家好,今天我們來實現deepseek本地部署,輕松實現編程自由!安裝ollama 安裝ollama 首先我們安裝ollama 打開ollama官網,下載安裝符合自己系統的版本。 找到要安裝的模型deepseek-r1開始-運行 輸入cmd出現…

基礎NLP | 常用工具

編輯器 PycharmVSCodeSpyderPython 自帶 ideVim 機器學習相關python框架 Pytorch 學術界寵兒,調試方便,目前的主流Tensorflow 大名鼎鼎,工程配套完善Keras 高級封裝,簡單好用,現已和Tensorflow合體Gensim 訓練詞向…

Unity3D + VR頭顯 × RTSP|RTMP播放器:構建沉浸式遠程診療系統的技術實踐

一、背景:遠程醫療邁入“沉浸式協同”的新階段 過去,遠程醫療主要依賴視頻會議系統,實現基礎的遠程問診、會診或術中指導。雖然初步解決了地域限制問題,但其單視角、平面化、缺乏沉浸感與交互性的特征,已無法滿足臨床…

海云安斬獲“智能金融創新應用“標桿案例 彰顯AI安全左移技術創新實力

近日,由中國人民銀行廣東省分行、廣東省金融管理局、廣東省政務服務和數據管理局指導,廣東省金融科技協會主辦的“智能金融 創新應用”優秀案例名單最終揭曉,海云安開發者安全助手系統項目憑借其創新的"AI安全左移"技術架構&#x…

Fluent許可與網絡安全策略

在流體動力學模擬領域,Fluent軟件因其卓越的性能和廣泛的應用而備受用戶青睞。然而,隨著網絡安全威脅的不斷增加,確保Fluent許可的安全性和合規性變得尤為重要。本文將探討Fluent許可與網絡安全策略的關系,為您提供一套有效的安全…

如何借助AI工具?打贏通信設備制造的高風險之戰?(案例分享)

你是否曾在項目管理中遇到過那種讓人心跳加速的瞬間,當一項風險突然暴露出來時,全隊似乎都屏住了呼吸?今天,我就來分享一個我親歷的項目案例,講述我們如何借助具體的AI工具,實現從數據到決策的華麗轉變&…

Web服務器(Tomcat、項目部署)

1. 簡介 1.1 什么是Web服務器 Web服務器是一個應用程序(軟件),對HTTP協議的操作進行封裝,使得程序員不必直接對協議進行操作,讓Web開發更加便捷。主要功能是"提供網上信息瀏覽服務"。 Web服務器是安裝在服…

list 介紹 及 底層

list的相關文檔:list - C Reference 一、list的介紹及使用 list中的接口比較多,此處類似,只需要掌握如何正確的使用,然后再去深入研究背后的原理,已達到可擴展的能力。以下為list中一些常見的重要接口。我們庫里的list…

HCIP MGRE實驗

一、實驗要求 1、R5為ISP,只能進行IP地址配置,其所有地址均配為公有Ip地址; 2、 R1和R5間使用PPP的PAP認證,R5為主認證方; R2與R5之間使用PPP的CHAP認證,R5為主認證方; R3與R5之間使用HDLC封裝; 3、R2、R3構建一…

基于PyTorch的多視角二維流場切片三維流場預測模型

基于PyTorch的多視角二維流場切片三維流場預測模型 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 1. 引言 計算流體動力學(CFD)在工程設計和科學研究中扮演…

全新輕量化PHP網盤搜索引擎系統源碼

內容目錄一、詳細介紹二、效果展示1.部分代碼2.效果圖展示三、學習資料下載一、詳細介紹 全新輕量化PHP網盤搜索引擎系統源碼 基于PHPMYSQL開發 一、多樣篩選功能:網站支持5類篩選功能,包括默認搜索、網盤類型、文件大小、時間排序以及網盤來源&#x…

C study notes[3]

文章目錄operatonsloopsreferencesoperatons the fundamental operators such as ,-,* in C language can be simply manipulated. int sum 5 3; // sum 8 int difference 10 - 4; // difference 6 int product 6 * 7; // product 42the operator / was left to in…

練習實踐-基礎設施-文件共享-windows和linux之間的文件共享-smb服務搭建

參考來源: 在線書籍-linux就該這么學-第12章 安裝軟件包 配置文件/etc/samba/smb.conf 運維對待配置文件的態度,非必要不增加 安裝完畢后打開Samba服務程序的主配置文件,好在參數并不多,只有37行。其中第17~22行代…

常用設計模式系列(十三)—組合模式

常用設計模式系列(十三)—組合模式 第一節 前言 hello大家好,今年已經過去了一半,年初立下的flag,不知道實現了沒有,你的flag改了多少次?無論自己的愿望是否完成,我們都應該懷揣著追…