軟件工程期末速成--附帶幾道題

軟件工程中的各種設計

瀑布模型:

定義:將軟件生存周期的各項活動規定為依照固定順序連接的若干階段工作,形如瀑布流水,最終得到軟件產品

系統流程圖:系統流程圖是描繪物理系統的傳統工具,它的基本思想是用圖形符號以黑盒子形式描繪系統里面的每一個部件(程序、文件、數據庫、表格、人工過程等)?

數據流圖:DFD是一種描述邏輯模型的圖形工具,表示數據在系統內的變化。圖中沒有任何具體的物理元素,只是描繪信息在系統中流動和處理的情況。DFD從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的移動變換過程。它由數據流、加工、文件和數據流的源點和終點構成。?

數據字典:是一種描述邏輯模型的工具。它對于數據流圖中所出現的所有被命名的圖形元素作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。DD的內容包括:圖形元素的名字、別名或編號、分類、描述、定義、位置等。?

ER圖:學過數據庫的應該都知道這個東西

ERD描繪了系統的數據關系。分析實體聯系圖有助于對業務或系統數據組成的理解和交互,并暗示產品將有必要包含一個數據庫。ER模型三要素有:數據對象屬性和聯系

?狀態轉換圖:

狀態轉換圖簡稱狀態圖。通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。它由1個初態/初始狀態、0-N個終態/最終狀態和若干個中間狀態組成

層次方框圖

?用屬性結構的一系列多層次的矩形框描述數據的層級結構

IPO圖:定義:輸入、處理、輸出圖的簡稱

層次圖

層次圖(也稱H圖)是在總體設計階段最常使用的圖形工具之一,它常用于描繪軟件的層次結構。矩形代表一個模塊,連線表示調用關系,適于在自頂向下設計軟件的過程中使用;與層次方框圖類似?

HIPO圖

IBM公司發明的“層次圖加輸入/處理/輸出圖”的縮寫;為了能使HIPO圖具有可跟蹤性,在H圖例除了最頂層的方框之外,每個方框都加了編號:和H圖中的每個方框相對應,有一張IPO圖描述這個方框代表的模塊的處理過程。IPO圖能夠方便地描述數據輸入、數據處理和數據輸出之間的關系。

結構圖?

一個方框/矩形代表一個模塊,箭頭連線/直線表示調用關系,帶有注釋的箭頭表示模塊調用過程中來回傳遞的信息?

程序流程圖:

N-S圖:

其主要特點包括:

1]功能域明確;

2]不可以隨意轉移;

3]容易確定局部和全局數據的作用域;

4]容易表達嵌套關系

判定表

某數據流圖的加工需要依賴于多個邏輯條件的取值,就是說完成這一加工的一組動作是由于某一組條件取值的組合而引發的。這時使用判定表來描述比較合適。判定表通常由四部分組成,即:條件樁、操作樁、條件條目和操作條目。

判定樹:判定表的變種

用例圖:

用例圖是被稱為參與者的外部用戶所能觀察到的系統功能概念的模型圖;用例是系統中的一個功能單元,可以描述為參與者與系統之間的一次交互作用;用例圖的用途是列出系統中的用例和參與者,并顯示哪個參與者參與了哪個用例的執行?

活動圖:

活動圖描述了活動發生的順序。其圖形表示規則如下:

?圓角矩形表示方框中的活動;

?矩形表示工作流影響的對象;

?實心圓表示工作流開始的開始狀態;

?雙層圓表示工作流結束的結束狀態;

?菱形表示決策點;

?垂直甬道表示工作流中的不同參與者及相關活動

順序圖:

順序圖表示對象之間傳遞消息的時間順序

垂直線表示一個對象的生命周期

箭頭表示信息

協作圖

§協作圖對在一次交互中有意義的對象和對象間的鏈建模

類圖:以類為中心組織起來的圖形,用以表示軟件系統中各類之間的相互關系

連線表示類的關系

狀態圖:

狀態圖是一個類對象所經歷的所有歷程的模型圖。狀態圖有對象的各個狀態和連接這些狀態的變遷組成

部署圖:

用來描述位于節點實例上的運行組件的安排,描述系統的實際物理結構?

軟件工程中的一些基本概念?

可行性研究報告的一般格式:GB8567-88

軟件危機是指軟件開發和維護中存在的一系列問題。它主要面臨的問題是: 進展難衡量、質量難評估、管理難控制。

軟件工程是指開發、運行、維護、修復軟件的系統方法

軟件工程的中心課題是控制復雜性

目前使用得最廣泛的兩種軟件工程方法學:傳統方法學、面向對象方法學。

成本估計

代碼行,任務分解技術

效益的度量方法

貨幣的時間價值,投資回收期,純收入

需求分析的具體任務包括

確定綜合需求

分析數據需求

導出邏輯模型

修正開發計劃

驗證分析正確性

編寫需求說明書

軟件的綜合需求

功能需求,性能需求,可靠性和可用性,出錯處理,接口需求,約束

需求獲取方法

訪談,面向數據流自頂向下求精,應用規格說明

需求分析階段用到的模型

數據流圖(DFD):用于建立功能模型

實體-聯系圖(ERD):用于建立數據模型

類圖:用于建立結構模型

時序圖:用于建立行為模型

狀態圖:用于建立行為模型

協作圖:用于建立行為模型

總體設計的兩個階段

系統設計確定系統的具體實現方案

結構設計確定軟件結構

系統設計包括:設想供選擇的方案,選取合理的方案,推薦最佳方案

結構設計:功能分解,設計軟件結構,設計數據庫,制定測試計劃

對象模型

對象模型是對對象及其關系的映射,描述了系統的靜態結構。通常使用統 一建模語言 (UML) 的類圖來建立對象模型。

軟件生命周期劃分

軟件定義:可行性研究和計劃,需求分析

開發期:總體設計,詳細設計,編碼實現,集成測試

軟件維護:確認測試,使用和維護

耦合和內聚

耦合用于衡量不同模塊之間相互依賴的緊密程度,越低越好。應該追求「松 散耦合」的系統。

耦合設計原則: ? 多用數據耦合 ? 少用控制耦合 ? 限制公共耦合

內聚用于衡量一個模塊內部各元素彼此結合的緊密程度,越高越好

內聚設計原則: ? 力求高內聚 ? 可用中內聚 ? 避免低內聚

軟件工程的七條基本原理:

1.用分階段的生命周期計劃嚴格管理;

2.堅持進行階段評審;

3.實行嚴格的產品控制;

4.采用現代程序設計技術;

5.結果應能夠清楚地審查;

6.開發小組的人員應少而精;

7.承認不斷改進軟件工程實踐的必要性。

軟件生存期的階段劃分

面向對象的方法學

可行性分析

包含三個方面:技術可行性,經濟可行性,操作可行性

可行性研究過程

各種需求分析方法所應遵循的準則

需求分析的具體任務

系統結構特征可歸納為兩種經典形式

變化型結構和事務型結構

數據流圖可分為兩種類型

變換性數據流和事務型數據流

劃分等價類的原理

各種覆蓋

語句覆蓋:使程序中每個語句至少執行一次;

判定覆蓋(分支覆蓋):使每個判定的真假分支都至少執行一次;

?條件覆蓋:使每個判定的每個條件的可能取值至少執行一次;

?判定/條件覆蓋:選取足夠多的測試用例,使判斷中的每個條件的所有可能取值至少執行一次。選取足夠多的測試用例,同時每個判斷本身的所有可能判斷結果至少執行一次;

?條件組合覆蓋:使每個判斷表達式中條件的各種可能組合至少出現一次。

選擇題

軟件工程產生的直接原因是軟件危機。在20世紀60年代末期,隨著計算機硬件的快速發展和應用需求的劇增,軟件開發過程中出現了一系列嚴重問題:軟件開發成本超支、進度延遲、質量低下、維護困難等。這些問題集中體現為"軟件危機"。為了解決這場危機,人們開始研究用工程化的方法來開發軟件,由此誕生了軟件工程這門學科。

針對學生成績范圍0-100的黑盒測試等價類劃分,應該劃分為3個等價類:

1. 有效等價類(1-100分): 表示正常的成績范圍
2. 無效等價類1(小于0分): 表示異常的負分情況
3. 無效等價類2(大于100分): 表示超出滿分的異常情況

IPO圖(Input Process Output)是一種程序流程圖,主要由輸入框(Input)、處理框(Process)和輸出框(Output)這三個基本組成部分構成。?

在軟件維護的類型中,完善性維護專門針對用戶提出的新功能需求或對現有功能的改進建議,對軟件進行功能擴充和完善的維護活動,所以C選項是正確答案。

分析其他選項:
A. 預防性維護:是為了預防軟件出現故障而進行的維護活動,主要包括代碼重構、性能優化等,并非針對用戶新功能需求。

B. 適應性維護:是為了使軟件適應新的運行環境(如硬件、操作系統等變化)而進行的修改,重點在于環境適應性,而不是功能改進。

D. 糾錯性維護:是針對軟件運行中發現的錯誤進行修復的維護活動,目的是糾正軟件缺陷,而不是添加新功能。?

軟件工程的基本要素包括方法、工具和( A )。

A.?過程????????B.?軟件系統?? C.?硬件環境?????????D.?人員

在需求階段,反映需求過程本身質量的可度量屬性應該是功能點的可追蹤性和實現過程的穩定性

系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。

黑盒測試:
- 不考慮程序內部邏輯結構,只關注軟件的外部表現
- 測試用例基于需求規格說明書設計
- 驗證軟件功能是否符合用戶需求
- 主要由測試人員執行

白盒測試:
- 需要了解程序內部邏輯結構和代碼實現
- 測試用例基于代碼覆蓋設計
- 驗證內部運行機制是否正確
- 主要由開發人員執行

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

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

相關文章

免費分享50本web全棧學習電子書

最近搞到一套非常不錯的 Web 全棧電子書合集,整整 50 本,都是epub電子書格式,相當贊!作為一個被期末大作業和項目 ddl 追著跑的大學生,這套書真的救我狗命! 剛接觸 Web 開發的時候,我天天對著空…

嵌入式學習筆記——day26

文件操作(續)目錄操作 一、文件操作 1. lseek lseek 是一個用于在文件中移動文件指針的系統調用,通常用于在文件描述符所指向的文件中定位讀取或寫入的位置。它允許程序在文件中隨機訪問數據,而不是只能順序讀取或寫入。 off_t …

LINUX安裝運行jeelowcode前端項目

參考 JeeLowCode低代碼社區,JeeLowCode低代碼開發平臺,JeeLowCode低代碼開發框架,快速啟動(VUE) 安裝node 18 LINUX安裝node/nodejs_linux安裝node 安裝到哪-CSDN博客 安裝PNPM LINUX安裝PNPM-CSDN博客 下載 git clone https://gitcode.com/jeelo…

【Redis】基本架構

1. 單線程模型 現在開啟了三個redis-cli客戶端同時執行命令。 客戶端1設置一個字符串鍵值對: 127.0.0.1:6379> set hello world客戶端2對counter做自增操作: 127.0.0.1:6379> incr counter客戶端3對counter做自增操作: 127.0.0.1:…

[yolov11改進系列]基于yolov11的修改檢測頭為自適應特征融合模塊為ASFFHead檢測頭的python源碼+訓練源碼

【自適應空間特征融合模塊ASFF介紹】 ASFF(Adaptive Spatial Feature Fusion)是一種自適應特征融合策略,旨在解決目標檢測中不同尺度特征之間的沖突和不一致性。 ? 基本概念和原理 ASFF通過學習每個尺度特征的自適應融合權重&#xff0c…

機器學習——支持向量機SVM

機器學習——支持向量機 一、介紹1.概述1.1 概念1.2 SVM的優缺點 2.硬間隔2.1 求解間隔2.2 對偶問題 3.軟間隔3.1 松馳變量3.2 對偶問題 4.核函數4.1 概念4.2 常見的核函數 二、代碼實戰1.實驗要求2.具體實現2.1 詞匯表加載2.2 郵件預處理函數2.3詞索引轉換為特征向量2.4 SVM 模…

Python 科學計算有哪些提高運算速度的技巧

在科學計算中提高 Python 運算速度的核心技巧包括:使用 NumPy 向量化操作、利用 Numba 加速函數、調用 C/C 擴展模塊、應用多線程/多進程并行計算、使用 GPU 加速計算。其中,使用 NumPy 向量化是最基礎且見效最快的優化方式。NumPy 利用底層 C 實現高效的…

React+Antd全局加載遮罩工具

下面是全局加載遮罩工具,功能:提供show和showWithDelay/hide方法用于顯示/延時顯示/隱藏遮罩,它還提供loading屬性返回是否正在loading。通常用于耗時較長的操作,比如遠端api調用。 如何用它,下面是個例子&#xff0c…

【機器學習基礎】機器學習入門核心算法:GBDT(Gradient Boosting Decision Tree)

機器學習入門核心算法:GBDT(Gradient Boosting Decision Tree) 1. 算法邏輯2. 算法原理與數學推導2.1 目標函數2.2 負梯度計算2.3 決策樹擬合2.4 葉子權重計算2.5 模型更新 3. 模型評估評估指標防止過擬合 4. 應用案例4.1 金融風控4.2 推薦系…

水墨色調中國風PPT模版分享

水墨色調中國風PPT模版分享:水墨中國風PPT模版https://pan.quark.cn/s/4368c537b1d2 第一套PPT模版?:主題是“愛蓮說”,水墨風格封面。核心視覺是綠色蓮蓬、白鶴、紅色印章,文字有“愛蓮說”等。適用文學或傳統文化類演示。 ?第…

PBX、IP PBX、FXO 、FXS 、VOIP、SIP 的概念解析以及關系

PBX(Private Branch Exchange) 概念 :PBX 是專用交換機,是一種在企業或組織內部使用的電話交換系統。它允許內部用戶之間以及內部用戶與外部公共電話網絡(PSTN)之間進行通信。例如,在一個大型企…

LabVIEW雙光子熒光成像軟件開發

雙光子熒光成像技術在抑郁小鼠腦內丙二醛(MDA)和甲醛(FA)檢測中的軟件開發,基于 LabVIEW 平臺構建從硬件控制、數據采集到圖像處理的全流程系統。結合 5734 FPGA 實現實時圖像處理,突出雙光子成像的深度開發…

OSI模型中的網絡協議

一、電子郵件協議:從SMTP到MIME的擴展 電子郵件系統的核心協議包括SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol)和IMAP(Internet Message Access Protocol),但…

流程自動化引擎:讓業務自己奔跑

在當今競爭激烈的商業環境中,企業面臨著快速變化的市場需求、日益復雜的業務流程以及不斷增長的運營成本。如何優化業務流程、提升效率并降低成本,成為企業持續發展的關鍵問題。 流程自動化引擎(Process Automation Engine)作為一…

DNS解析過程以及使用的協議名稱

DNS(Domain Name System 域名系統)解析是一個分層查詢的過程 1.本地緩存查詢階段 先檢查瀏覽器自身的DNS緩存 接著檢查操作系統的DNS緩存 最后檢查本地 hosts 文件 2.本地DNS服務器查詢階段 先向本地DNS服務器查詢,協議是 DNS over UDP&a…

思澈科技助力Keep Watch Pilot 1:重新定義智能運動手表體驗

——以創新芯片技術,打造長續航、高性能的隨身運動教練 作為智能穿戴領域的核心技術支持者,思澈科技攜手Keep共同推出全新智能運動手表Keep Watch Pilot 1。該產品搭載思澈科技自主研發的SF32LB557芯片,在高性能顯示、超長續航與精準運動監測…

github actions入門指南

GitHub Actions 是 GitHub 提供的持續集成和持續交付(CI/CD)平臺,允許開發者自動化軟件工作流程(如構建、測試、部署)。以下是詳細介紹: 一、核心概念 Workflow(工作流程) 持續集成的…

Pytorch中一些重要的經典操作和簡單講解

Pytorch中一些重要的經典操作和簡單講解: 形狀變換操作 reshape() / view() import torchx torch.randn(2, 3, 4) print(f"原始形狀: {x.shape}")# reshape可以處理非連續張量 y x.reshape(6, 4) print(f"reshape后: {y.shape}")# view要求…

ubuntu下nginx

我用的是ubuntu22 配置文件的準確位置 靜態網頁的存放位置 放大看到在靜態文件部署的配置路徑 該路徑下面有一個default文件查看 針對上圖的解析如下: 找到root /var/www/html 我嘗試把自己的一個index文件設置為默認,復制到/var/www/html下 ctrl加…

Git使用手冊保姆級教程

Git 使用手冊 一、Git 簡介與安裝 什么是Git? ? Git 是一個分布式版本控制系統,用于跟蹤文件變化,支持多人協作開發。 安裝步驟 ? Windows:通過 Git官網 下載安裝包,按默認配置安裝即可。 ? macOS&#xff1a…