軟件工程學習筆記《四》需求分析

文章目錄

  • 軟件工程學習筆記《目錄》
  • 需求工程師
    • 當代的需求工程師需要具備的能力
    • 當代的需求工程師需要努力的方向
    • 當代的需求工程師需要注意的錯誤
  • 需求的定義
  • 需求目標
  • 需求分析的實質
  • 需求分析的關鍵
    • 應該涵蓋的內容?
  • 需求規約(作為較客觀的參照)
    • 單個需求項的質量
    • 整個需求集合的質量
  • 需求分析
    • 產品/過程
    • 產品需求
    • 需求分類的合理使用
    • 需求之間存在重疊
  • 需求獲取方式
    • 面談
    • 問卷
    • 群體誘導
    • 參與調查
    • 文檔分析
    • 會議
    • 頭腦風暴
    • 需求討論會
    • 情景分析
    • 概念建模
    • 競爭性需求分析
    • A/B測試
  • 如何選擇需求方案?
  • 如何撰寫需求文檔?
    • 軟件需求規格說明
    • 需求文檔的組織形式
    • 規格說明SRS的風格
    • 撰寫原則實例

軟件工程學習筆記《目錄》

軟件工程學習筆記《目錄》

需求工程師

當代的需求工程師需要具備的能力

  • 分析問題和解決問題的能力
  • 人際溝通及交流的能力
  • 軟件工程師知識和技能
  • 應用領域有關知識
  • 書面語言組織和表達能力

當代的需求工程師需要努力的方向

  • 識別錯誤假設
  • 確保一致性
  • 提升依從性
  • 減少彼此誤解
  • 提升支持速度和效率
  • 提升客戶滿意度
  • 撰寫優質文檔

當代的需求工程師需要注意的錯誤

  • 干擾
  • 沉默
  • 過度規約
  • 矛盾
  • 含糊
  • 向前引用
  • 不切實際與一廂情愿

需求的定義

需求是人們要解決的某個問題或達到某種目的的需要,是系統或其組成部分為滿足某種書面規定(合同,標準,規范等)所要具備的能力。需求將作為系統開發,測試,驗收,提交的正是文檔依據。

需求目標

對產品及其與環境的交互進行更深入的了解,識別系統需求,設計軟件體系結構,建立需求與體系結構組件的關聯,在體系結構設計實現過程中進一步識別矛盾沖突,并通過干系人之間的協調磋商解決問題。

需求分析的實質

概念建模——選擇常用的建模語言,進行功能建模和信息建模

需求分析的關鍵

體系結構設計與需求分配

應該涵蓋的內容?

  • 為什么設計該系統
  • 由誰使用
  • 要做什么
  • 系統要涉及哪些信息
  • 對解決方案有什么額外限制
  • 如何使用該系統
  • 質量需達到什么程度

需求規約(作為較客觀的參照)

單個需求項的質量

  • 準確
  • 正確
  • 可行
  • 可證

整個需求集合的質量

  • 顯示
  • 精確
  • 全面
  • 一致

需求分析

產品/過程

  • 產品需求
  • 過程需求

產品需求

  • 功能性需求
  • 非功能性需求

需求分類的合理使用

  • 關注特殊的需求特征

  • 關注需求語義特征

    • 明確指出系統必須支持的行為
    • 排序那些不可接受的系統行為
    • 明確指出系統的最好支持的行為
  • 對那些適用范圍受限的關注點和橫切關注點區別對待

  • 需求的分類主要用于為需求的抽取提供啟發式的規則

    • 避免忽略某些關鍵的需求類型
    • 通過已知矛盾的需求類型發現具體需求間的矛盾和沖突
  • 業務需求

    • 業務需求又叫業務目標:攜程旅行的業務:買飛機票;公司目標:成為認為想買飛機票首先想到的公司
  • 用戶需求

    • 有時候被稱為“用戶接口需求”,系統的用戶需求指其滿足會影響系統的用戶接收程度的需求
  • 系統需求

    • 系統需求的滿足使得系統實現預期的功能,他從用戶的角度描述系統做什么,與系統是由什么硬件和軟件實現無關。
  • 軟件設計規約

    • 系統的API需要同時支持C++和Java來讓程序員訪問系統服務
  • 軟件需求

    • 軟件需求是指關于系統中軟件部分的需求,它滿足幫助實現系統需求
  • 功能性需求

    • 又稱“行為需求”,指滿足系統需求需要提供的功能
  • 質量需求

    • 關于“提供的服務好到何種程度”的問題。訂票系統的訂票請求響應時間要小于1分鐘
  • 依從性需求

    • 指要著重描述軟件對國家法律,國際公約,社交法則,文化與政治習慣,標準等環境約束的滿足要求。兩列火車間的最小間距應滿足國際鐵路運輸安全規范中的最壞情況停車距離
  • 體系結構設計需求

    • 分布式約束:要求軟件系統組件滿足目標組織由于地理自然分布導致的對系統設備節點的分布要求,以及數據的分布式存儲與處理要求。
      例如:會議調度系統應與分布在世界各地的參會者的郵件服務系統和電子日程管理系統協同工作
    • 安裝約束:要求軟件系統能夠在目標實現環境下正常運行
      例如:會議調度系統應在微軟和IOS上
  • 設計開發約束

    • 指對軟件系統設計過程的約束,包括:開發成本,開發周期,產品特征的變化性,可維護性,可移植性,可重用性等。
      例如,動車控制軟件應在兩年內投入使用。會議日程安排系統應根據會議類型動態調整

需求之間存在重疊

  • 功能性需求與非功能性需求間的劃分并非絕對的,可能存在重疊
    • 是一個功能性需求,也是安全性需求

需求獲取方式

面談

在這里插入圖片描述

問卷

在這里插入圖片描述
在這里插入圖片描述

群體誘導

在這里插入圖片描述

參與調查

在這里插入圖片描述

文檔分析

在這里插入圖片描述

會議

在這里插入圖片描述
在這里插入圖片描述

頭腦風暴

在這里插入圖片描述

需求討論會

在這里插入圖片描述

情景分析

在這里插入圖片描述

概念建模

在這里插入圖片描述

競爭性需求分析

在這里插入圖片描述

A/B測試

在這里插入圖片描述

如何選擇需求方案?

在這里插入圖片描述

如何撰寫需求文檔?

軟件需求規格說明

在這里插入圖片描述

需求文檔的組織形式

在這里插入圖片描述

規格說明SRS的風格

在這里插入圖片描述

撰寫原則實例

在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

linux守護進程

先了解 linux系統中 會話的概念 會話是進程組的更高一級,多個進程組對應一個會話。 會話是一個或多個進程組的集合 創建一個會話需要注意以下5點事項: a. 調用進程不能是進程組組長, 該進程變成新會話首進程(session header&#…

python3爬蟲學習筆記

文章目錄python3的文本處理jieba庫的使用統計hamlet.txt文本中高頻詞的個數統計三國演義任務高頻次數爬蟲爬取百度首頁爬取京東某手機頁面BeautifulSoup使用request進行爬取,在使用 BeautifulSoup進行處理!擁有一個更好的排版BeautifulSoup爬取百度首頁原…

linux 線程學習初步01

線程的概念 進程與線程內核實現 通過函數clone實現的 ps -Lf pidLinux內核線程實現原理 同一個進程下的線程,共享該進程的內存區, 但是只有stack區域不共享。 線程共享資源 a.文件描述符表 b.每種信號的處理方式 c.當前工作目錄 d.用戶id和組id 線程…

python3字符串處理,高效切片

高級技巧:切片,迭代,列表,生成器 切片 L [Hello, World, !]print("-------1.一個一個取-------") print(L[0]) print(L[1]) print(L[2])print("-------2.開辟一個新列表把內容存進去-------") r [] for i…

linux線程學習初步02

殺死線程的函數 int pthread_cancel(pthread_t thread); 參數介紹&#xff1a;需要輸入的tid 返回值&#xff1a;識別返回 errno成功返回 0 被殺死的線程&#xff0c;退出狀態值為一個 #define PTHREAD_CANCELED((void *)-1)代碼案例&#xff1a; #include <stdio.h> #…

python的文件基本操作和文件指針

讀寫模式的基本操作 https://www.cnblogs.com/c-x-m/articles/7756498.html r,w,a r只讀模式【默認模式&#xff0c;文件必須存在&#xff0c;不存在則拋出異常】w只寫模式【不可讀&#xff1b;不存在則創建&#xff1b;存在則清空內容】a之追加寫模式【不可讀&#xff1b;不…

python3 將unicode轉中文

decrypted_str.encode(utf-8).decode(unicode_escape)

HTTP菜鳥教程速查手冊

HTTP協議&#xff08;HyperText Transfer Protocol&#xff0c;超文本傳輸協議&#xff09;是因特網上應用最為廣泛的一種網絡傳輸協議&#xff0c;所有的WWW文件都必須遵守這個標準。 HTTP是一個基于TCP/IP通信協議來傳遞數據&#xff08;HTML 文件, 圖片文件, 查詢結果等&am…

mysql學習筆記01-創建數據庫

創建數據庫&#xff1a; 校驗規則&#xff1a;是指表的排序規則和查詢時候的規則 utf8_general_ci 支持中文&#xff0c; 且不區分大小寫 utf8_bin 支持中文&#xff0c; 區分大小寫 比如&#xff1a; create database db3 character set utf8 collate utf8_general_ci; &…

python的Web編程

首先看一下效果 完整代碼 import socket from multiprocessing import ProcessHTML_ROOT_DIR ""def handle_client(client_socket):request_data client_socket.recv(1024)print("request data:", request_data)response_start_line "HTTP/1.0 20…

mysql 學習筆記 02創建表

表結構的創建 比如&#xff1a; create table userinfo (id int unsigned comment id號name varchar(60) comment 用戶名password char(32),birthday date ) character set utf8 engine MyISAM;comment 表示注釋的意思 不同的存儲引擎&#xff0c;創建的表的文件不一樣

mysql 學習筆記03 常用數據類型

數值類型&#xff1a; a. 整數類型&#xff1a; 注意事項&#xff1a; 舉例&#xff1a;某個整型字段 &#xff0c;不為空&#xff0c;且有默認值 create table test (age int unisigned not null default 1);zerofill的使用 b. bit類型的使用 c.小數類型 小數類型占用…

VMware的虛擬機連不上網

1.如果你發現在VMware下運行的虛擬機無法連接網絡&#xff0c;那下面的方法也許可以幫 到你。&#xff08;前提是你的物理網絡是通的&#xff09; 第一步&#xff1a;在VMware界面下 單擊“編輯“→”虛擬網絡編輯器” 第二步&#xff1a;單擊”更改設置” 獲取權限&#xff…

python三國演義人物出場統計

完整代碼 開源代碼 統計三國演義人物高頻次數 #!/usr/bin/env python # codingutf-8 #e10.4CalThreeKingdoms.py import jieba excludes {"來到","人馬","領兵","將軍","卻說","荊州","二人","…

mysql 學習筆記03修改表以及其他操作

首先創建一張表 在現有表的結構上增加字段 alter table users add image varchar(100) not null defalut comment 圖片路徑;修改某個字段的長度 alter table users modify job vachar(60) not null comment 工作;刪除某個字段 刪除sex這個字段 alter table users drop se…

統計哈姆雷特文本中高頻詞的個數

統計哈姆雷特文本中高頻詞的個數 三國演義人物出場統計 開源代碼 講解視頻 kouubuntu:~/python$ cat ClaHamlet.py #!/usr/bin/env python # codingutf-8#e10.1CalHamlet.py def getText():txt open("hamlet.txt", "r").read()txt txt.lower()for ch…

mysql 學習筆記04 insert與update語句

1.插入數據 注意事項&#xff1a; 字符和日期類型&#xff0c; 要用 單引號 括起來 insert into (), (), () 例如&#xff1a; insert into goods values(1, abc, 2.2), (2, def, 3.3);這種形式添加多條記錄 insert 語句&#xff0c;如果沒有指定字段名&#xff0c;則values …

PyCharm怎么關閉端口,解決端口占用問題

在進行web開發遇到這個問題&#xff01;

mysql 筆記05 select語句以及條件語句的使用

select語句 過濾重復語句&#xff08;distinct&#xff09; 舉例&#xff1a; 查詢學生的總分 select name, math English China as 總分 from students;在姓趙的學生總分基礎上&#xff0c; 增加60%&#xff0c; select name, round((math English China) * 1.6, 2) as …