軟件工程---1.概述

軟件的特征

  1. 抽象: 不可觸摸,邏輯實體,可記錄,但看不到
  2. 復制成本低:不受物質材料的限制,不受物理定律或加工過程的制約,與開發成本相比,復制成本很低無折舊、受硬件制約、未完全擺脫手工工藝開發費用高
    • 軟件是開發出來的,不是制造出來的
    • 軟件可能被“廢棄”,但不會“用壞”
    • 軟件大部分是定制的,而不是裝配的

軟件復雜度

  1. 計數復雜度
  2. 管理復雜度

IEEE對軟件的定義

軟件是計算機程序、規程以及運行計算機系統可能需要的相關文檔和數據。

  1. 計算機程序是計算機設備可以接受的一系列指令和說明,為計算機執行提供所需的功能和性能。
  2. 數據是事實、概念或指令的結構化表示,能夠被計算機設備接收、理解或處理。
  3. 文檔是描述程序研制過程、方法及使用的圖文材料

IEEE 對軟件工程的定義

軟件工程是:

  1. 將系統化的、規范的、可量化的方法應用于軟件的開發、運行和維護,即將工程化方法應用于軟件。
  2. 對(1)中所述方法的研究。

什么是軟件工程

  • 軟件工程是一項建模活動
  • 軟件工程是一項解決問題活動
  • 軟件工程是一項受事物基本原理指導的活動、

什么是建模

  • 對系統抽象的表示,可以了解未知的系統和領域。

為什么需要建模

  • 系統太大、太小、太復雜或體驗代價太高時,需要模型。

應用域模型

從用戶角度去描述的系統

解答域模型

從開發者的角度去描述的系統,評估具體實現時不同的方案

面向對象的方法將應用域建模和解答域建模合二為一,
面向對象方法的思想:解答域模型就是從應用域模型轉化過來的。
采用UML對應用域及解答域建模,然后將其轉化為具體實現

軟件工程概念

在這里插入圖片描述

功能性需求

系統必須支持功能的規格說明

非功能性需求

是對系統運行的一些約束,指導著系統如何去實現

軟件工程開發活動

  1. 需求獲取
  2. 分析
  3. 系統設計
  4. 對象設計
  5. 實現
  6. 測試

在這里插入圖片描述

需求獲取

客戶和開發者定義系統目標,其結果是使用參與者和用 例來描述系統,包括功能性需求和非功能性需求
在這里插入圖片描述

分析

將需求分析中產生的用例轉化順序圖和狀態圖
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

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

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

相關文章

軟件工程---2.軟件過程

三個模型 瀑布模型增量模型集成和配置模型 沒有適用于所有不同類型軟件開發的過程模型。 瀑布模型 需求定義系統和軟件的設計實現與單元測試集成與系統測試運行與維護 瀑布模型的特征 從上一項活動中接受該項活動的工作成果(工作產品),作…

軟件工程---3.敏捷軟件開發

敏捷軟件開發 極限編程(XP, Beck1999)Scrum方法(Schwaber and Beedle 2001)DSDM方法(Stapleton 2003) 敏捷軟件的開發宣言 個體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合…

軟件工程---4.需求工程

需求工程定義 找出、分析、文檔化并且檢查需求的過程被稱為需求工程 需求的兩個描述層次 用戶需求,指高層的抽象需求。使用自然語言、圖形描述需求。系統需求,指底層的詳細需求。使用系統需求文檔(有時被稱為功能規格說明)應該…

軟件工程---5.系統建模

從不同視角對系統建模 外部視角,上下文模型,對系統上下文或環境建模交互視角,交互模型(功能模型),對系統與參與者或系統內構件之間的交互建模結構視角,結構模型(靜態模型&#xff0…

軟件工程---6.體系結構設計

體系結構模型是什么? 體系結構模型,該模型描述系統如何被組織為一組相互通信的構件 體系結構分類 小體系結構關注單個程序的體系結構。在這個層次上,我們關注單個的程序是如何補分解為構件的。大體系結構關注包括其他系統、程序和程序構件…

【劍指offer】_06 變態跳臺階

題目描述 一只青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 解題思路 鏈接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 關于本題,前提是…

【劍指offer】_07 矩形覆蓋

題目描述 我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? 解題思路 依舊是斐波那契數列 2n的大矩形,和n個21的小矩形 其中target*2為大矩陣的大小 有以下幾種情形…

軟件工程---07.設計與實現

軟件設計和軟件實現 軟件設計是一個創造性的活動,在此活動中需要基于客戶需求識別軟件構件及其關系。軟件實現是將設計實現為一個程序的過程 為開發一個系統設計,你需要 理解并定義上下文模型以及系統的外部交互設計系統體系結構識別系統中的主要對象…

軟件工程---08.軟件測試

測試 測試的正向思維(確認測試) 向開發人員和客戶展示軟件滿足其需求測試的逆向思維(缺陷測試)找出可能導致軟件行為不正確原因。測試是更廣闊的軟件確認和驗證( Verification and Validation; V & V)過程的一部分。驗證和確…

軟件工程---15.軟件復用

復用的圖(牢記) 軟件復用的好處 開發加速有效的專家利用提高可依賴性降低開發成本降低過程風險符合標準 軟件復用的缺點 創建,維護以及使用一個構件庫查找,理解以及適配可復用構件維護成本增加缺少工具支持“不是在這里發明的”綜合癥 應用框架 現在…

軟件工程---16.基于構件的軟件工程

CBSE CBSE是定義、實現、集成或組裝松散耦合的獨立構件成為系統的過程。 基于構件的軟件工程的要素有: 完全由接口進行規格說明的獨立構件。構件標準使構件集成變得更為容易。中間件為構件集成提供軟件支持。開發過程適合基于構件的軟件工程。 CBSE的設計原則 構件是獨立的…

軟件工程---17.分布式軟件工程

分布式系統的5個優點 資源共享開放性并發性可伸縮性容錯性 分布式計算中必須考慮的設計問題 透明性:隱藏底層分布 開放性 可伸縮性 三個維度 規模:又分為增強擴展(單挑),增加擴展(群毆)分布可靠性 信息安全性 主要防止以下類型的攻擊 攔…

軟件工程---18.面向服務的軟件工程

什么是Web服務 一個松耦合、可復用的軟件構件,封裝了離散的功能,該功能是分布式的并且可以被程序訪問。Web服務是通過標準互聯網和基于XML的協議被訪問的服務。 服務和軟件構件之間的一個重要的區別是 服務應該總是獨立的和松耦合的Web 服務沒有“請求…

【劍指offer】_08.數值的整數次方

題目描述 給定一個double類型的浮點數base和int類型的整數exponent。求base的exponent次方。 保證base和exponent不同時為0 解題思路 首先一個數的任意次方,這個數有可能是負數和正數和零,然后次方也有可能是負數和正數和零 當這個數是零時&#xff…

【劍指offer】_09二叉搜索樹的后序遍歷序列

題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的后序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 解題思路 比如下面的這棵二叉搜索樹 它的后序遍歷為0214369875; 我們設當前根節點為root; 第一次…

【劍指offer】_10二叉樹和為某一路徑值

題目描述 輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 解題思路 要求一路徑的和,那么必然終止條件為葉子結點,從根結點出發…

【劍指offer】_11整數中1出現的次數

題目描述 求出1~13的整數中1出現的次數,并算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對于后面問題他就沒轍了。ACMer希望你們幫幫他,并把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的…

【劍指offer】_12 數組中的逆序對

題目描述 在數組中的兩個數字,如果前面一個數字大于后面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。并將P對1000000007取模的結果輸出。 即輸出P%1000000007 解題思路 劍指offer的解法 看到這個題目&#xff0…

詳解Linux下通過yum安裝Mariadb/MySQL數據庫(騰訊云也適用)

1. 安裝Mariadb 安裝命令 yum -y install mariadb mariadb-server安裝完成MariaDB,首先啟動MariaDB systemctl start mariadb設置開機啟動 systemctl enable mariadbMariaDB的相關簡單配置 此命令進入到配置相關界面 mysql_secure_installation首先是設置密碼…

【劍指offer】_13 圓圈中最后的數

題目描述 年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。HF作為牛客的資深元老,自然也準備了一些小游戲。其中,有個游戲是這樣的:首先,讓小朋友們圍成一個大圈。然后,他隨機指定一個數m,讓編號為0的小朋友開始報數。每次喊到m-1的那個小朋友要出列唱…