软件工程课程实践-需求规格说明书
1.引言
1.1編寫目的
需求規格說明書是指在研究用戶要求的基礎上,完成可行性分析和投資效益分析以后,由軟件工程師或分析員編寫的說明書。它詳細定義了信息流和界面,功能需求,設計要求和限制,測試準則和質量保證要求。它的作用是作為用戶和軟件開發人員達成的技術協議書,作為著手進行設計工作的基礎和依據,系統開發完成以后,為產品的驗收提供了依據。
本需求的編寫時為了研究利用數據庫做個人基金管理系統軟件的開發途徑和應用方法。同時它也是進行項目策劃、概要設計和詳細的基礎,是維護人員進行內部維護,信息更新,驗收和測試的依據。
1.2項目背景
本項目的名稱:基金管理系統。
隨著當今社會的快速發展,人們的生活日益美好。在吃穿無憂的情況下,人們逐漸注重個人理財,其中基金就是理財產品的一種。基金的收益平穩,風險較低,受到了大多數人的青睞,但是大部分的消費者并不懂專業數據管理與分析,對個人基金也沒有合理的規劃。本系統的開發由此而來,用于解決基金用戶日常的基金管理和數據分析,讓用戶可以合理規劃自己的基金。
1.3定義
HTML: HTML的全稱為超文本標記語言,是一種標記語言。它包括一系列標簽.通過這些標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動畫、聲音、表格、鏈接等。
CSS: CSS為HTML標記語言提供了一種樣式描述,定義了其中元素的顯示方式。CSS在Web設計領域是一個突破。利用它可以實現修改一個小的樣式更新與之相關的所有頁面元素。
JavaScript:JavaScript(簡稱“JS”) 是一種具有函數優先的輕量級,解釋型或即時編譯型的編程語言。雖然它是作為開發Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環境中,JavaScript 基于原型編程、多范式的動態腳本語言,并且支持面向對象、命令式和聲明式(如函數式編程)風格。
SpringBoot:Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
MySQL:MySQL是一個關系型數據庫管理系統。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。
Mybatis:目前為止最為簡單的持久層框架之一,小巧并且簡單易學。mybatis本身專注于SQL語句本身。它將SQL語句寫在xml文件之中,幾乎是徹底將程序代碼與SQL語句隔離開,耦合度相當低。因此在SQL語句的編寫上它相當的靈活。可以隨時根據業務的要求變更SQL語 句而不需要動源程序。
1.4參考資料
- 項目經核準的計劃任務書、合同或上級機關的批文
- 項目開發計劃
2.任務概述
2.1目標
⑴數據表格和統計圖表結合分析,方便用戶管理個人基金;
⑵提高信息的準確性和信息的安全;
⑶改進管理和服務;
⑷良好的人機交互界面,操作簡便。
2.2運行環境
- 軟件環境:Windows?10系統
- 開發工具:
前端框架與開發工具: HTML,JavaScript,Jquery,Semantic,Apache ECharts,WebStrom
后端框架與開發工具:Spring boot,Mybatis,IDEA
數據庫技術與開發工具:MySQl,Navicat
- 該基金管理系統采用BS結構,采用semantic+Springboot+MyBatis技術框架進行開發與搭建的。
2.3條件與限制
必須在保證各硬件設備.軟件系統齊備的情況下,資金充足,人員齊備,各方面互相配合,齊心協力,共同完成。
3.數據描述
3.1靜態數據
- 基金市場:(基金代碼,日期,基金簡稱,單位凈值,日增長率)
- 投資者表:(用戶ID號,郵箱,性別,電話,年齡,密碼,昵稱,屬性,血型)
- 個人基金:(編號,用戶ID號,擁有時間,基金代碼,基金名稱,擁有時凈值,擁有份額)
- 購入交易:(編號,用戶ID號,基金代碼,購入時間,購入凈值,購入份額)。
- 拋售交易:(編號,用戶ID號,基金代碼,購入時間,購入凈值,拋售時間,拋售凈值,盈利,拋售份額)
- 密保信息:(用戶ID號,問題1編號,問題1答案,問題2編號,問題2答案,問題3編號,問題3答案)
3.2動態數據
- 輸入數據:
- 用戶注冊信息表單
- 用戶登錄信息表單
- 修改個人信息
- 當日基金查詢請求
- 過往基金情況按日查詢請求
- 過往基金情況按代碼查詢請求
- 過往基金情況按簡稱查詢請求
- 基金購買請求
- 基金拋售請求
- 用戶購買記錄查詢
- 用戶拋售記錄查詢
- 用戶基金情況查詢
- 輸出數據:
- 用戶注冊結果
- 用戶登錄結果
- 修改個人信息結果
- 當日基金查詢請求結果
- 過往基金情況按日查詢請求結果
- 過往基金情況按代碼查詢請求結果
- 過往基金情況按簡稱查詢請求結果
- 基金購買請求結果
- 基金拋售請求結果
- 用戶購買記錄查詢結果
- 用戶拋售記錄查詢結果
- 用戶基金情況查詢結果
3.3數據庫介紹
- 數據庫名稱:MySQL
- 數據庫類型:關系型數據庫管理系統
- 數據庫介紹:
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB?公司開發,屬于?Oracle?旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在?WEB?應用方面,MySQL是最好的?RDBMS?(Relational Database Management System,關系數據庫管理系統) 應用軟件之一。
MySQL是一種關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網站的開發都選擇 MySQL 作為網站數據庫。
3.4數據詞典
- 注冊請求=用戶名+密碼
- 注冊結果=[注冊成功|用戶名已被使用|密碼長度不足]
- 登錄結果=[登錄成功|用戶不存在|密碼錯誤]
- 登錄信息=用戶名+密碼
- 修改個人信息 = 用戶ID號+郵箱+性別+電話+年齡+昵稱+屬性+血型
- 修改個人信息結果 = [修改成功|修改失敗|服務器出問題]
- 當日基金查詢 = 日期
- 當日基金查詢結果 = {基金代碼+日期+基金簡稱+單位凈值+日增長率}
- 以往基金按日查詢 = 日期
- 以往基金按日查詢結果 = {基金代碼+日期+基金簡稱+單位凈值+日增長率}
- 以往基金按代碼查詢 = 基金代碼
- 以往基金按代碼查詢結果 = {基金代碼+日期+基金簡稱+單位凈值+日增長率}
- 以往基金按簡稱查詢 = 基金簡稱
- 以往基金按簡稱查詢結果 = {基金代碼+日期+基金簡稱+單位凈值+日增長率}
- 基金購買請求 = 用戶ID + 基金代碼 + 購買日期 + 購買份額
- 基金購買結果 = [購買成功|購買失敗|服務器出現問題]
- 基金拋售請求 = 用戶ID + 基金代碼 + 拋售日期 + 拋售份額
- 用戶購買記錄查詢 = 用戶ID
- 用戶購買記錄查詢結果 = {基金代碼+購入時間+購入凈值+購入份額}
- 用戶拋售記錄查詢 = 用戶ID
- 用戶拋售記錄查詢結果 = {基金代碼+購入時間+購入凈值+拋售時間+拋售凈值+盈利+拋售份額}
- 用戶基金情況查詢 = 用戶ID
- 用戶基金情況查詢結果 = {擁有時間+基金代碼+基金名稱+擁有時凈值+擁有份額}
3.5數據采集
4.功能需求
4.1功能劃分
?
4.2功能描述
| 序號 | 功能 | 功能說明 | 備注 |
| 1 | 用戶注冊 | 用戶可以在注冊界面,通過表單驗證注冊個人的用戶賬號 | |
| 2 | 用戶登錄 | 用戶使用注冊的賬號進行用戶的登錄操作 | |
| 3 | 用戶信息的展示與修改 | 在用戶管理功能模塊,用戶可以看到數據庫已有的用戶的相關信息,并且可以編輯個人的信息 | |
| 4 | 用戶安全管理 | 這里完善的安全中心,我們可以通過原密碼修改密碼,郵箱修改密碼,設置密保問題,通過密保問題修改密碼 | |
| 5 | 用戶注銷登錄 | 這里可以注銷我們的賬號,切換別的賬號。 | |
| 6 | 每日基金查詢功能 | 我們可以通過基金代碼進行精確地查詢,查看基金的各項指標 | |
| 7 | 每日基金排序功能 | 我們這里加入了基金的表格的排序功能,我們可以根據各個字段進行排序 | |
| 8 | 每日基金購買功能 | 用戶的基金購買,在我們選中我們想要購買的基金后,我們購買相應的份額。 | |
| 9 | 過往基金的按日查詢功能 | 我們可以選擇過往的日期,查詢當天所有基金的各個字段的狀況 | |
| 10 | 過往基金的按類查詢功能 | 我們可以輸入基金的代碼,查詢該基金直至今日的所有情況 | |
| 11 | 過往基金的簡稱查詢功能 | 我們可以輸入基金的簡稱,查詢該基金直至今日的所有情況 | |
| 12 | 基金查詢的所有功能的圖標展示 | 以上三種過往基金信息的查詢,我們加入了可視化圖表的方式,方便用戶觀察和對比 | |
| 13 | 基金管理的拋售功能 | 在該模塊我們可以進行基金的拋售,我們可以根據盈利情況進行基金的拋售,選擇拋售的份額,這里我們對用戶份額的拋售進行了限制,如不可超過已擁有的份額,不可為小數或者非正數。 | |
| 14 | 基金管理的查詢功能 | 用戶可以查詢自己所擁有的某一種基金的情況 | |
| 15 | 購買記錄功能 | 在該模塊我們加入用戶功能記錄的記錄功能,方便用戶查詢 | |
| 16 | 拋售記錄 | 這里我們可以看到我們拋售的記錄,其拋售時間精切到分秒,也可以看到我們拋售的份額,拋售時的凈值以及盈利情況。 | |
| 17 | 基金統計的圖標分析 | 這里我們結合可視化圖形的形式,進行數據的展示,這里我們分為三張圖表,基金統計表,通過餅狀圖的展示,我們可以看到各項基金份額占比。盈利統計表,這里我們可以看到已盈虧,持倉盈虧,總盈虧的各項數據對比與展示。收支統計表,這里我們可以看到我們已收入,待收入,總收入,總支出等數據的顯示和對比。 |
4.3 用況圖
5.性能需求
5.1數據精確度
該軟件的輸入、輸出數據精度的要求是要準確無誤的,不可以出現不符合軟件設計數據標準的數據,可能包括傳輸過程中的精度不能發生變化。具體的數據精度如下表所示:
| 數據名稱 | 數據精度要求 |
| 單位凈值 | 小數(保留小數點后三位) |
| 日增長率 | 百分數(保留小數點后兩位) |
| 日期 | YYYY-MM-DD (日期精確到天) |
| 購買或拋售時間 | 精確到分鐘數 |
| 購買或者拋售份額 | 正整數 |
| 盈虧 | 小數點后兩位 |
5.2時間特性
- 響應時間不能太慢,影響用戶的使用,大約在4ms-8ms之間
- 更新處理時間:必須可以對所錄入的數據快速的處理,及時地更新數據,保證數據的可靠性
5.3適應性
滿足運行環境在允許操作系統之間的安全轉換和與其他應用軟件的獨立運行要求。
6.運行需求
6.1用戶界面
- 易理解性:
界面上呈現的所有元素,包括文本信息、數據表示、狀態呈現、菜單、按鈕、超鏈接等,應貼近用戶的業務領域,并且具有簡潔、明確、自然、直觀等特性;界面中屏幕(sereen)之間的跳轉關系應簡單、自然。
- 易操作性:
用戶對軟件系統的命令可以通過簡單、直觀的方式來完成;為提高用戶的工作效率,界面應盡量減少用戶的操作次數和輸人信息量。
- 靈敏性:
界面必須在合理的時間內對用戶操作做出響應,對耗時較長的內部處理過程必須提供及時的進度反饋,保持用戶與界面間的不間斷的雙向溝通。
- 一致性:
為降低用戶的記憶負擔,界面應在整個軟件系統范圍內保持顯示風格、操作方式的一致性并符合業界規范(例如用 Cul+C 快捷鍵來實現復制功能)。
- 容錯性:
界面設計應以降低用戶的誤操作機率為目標,但必須容忍用戶的誤操作,即對所有可能造成損害的動作,必須在用戶確認后才進行;允許用戶對盡可能多的界面操作反悔(undo):在用戶誤操作后系統具備適當的恢復能力。
- 人性化:
在適當的時機出現用戶怡好需要的幫助信息或建議:在任何情況下用戶均能簡易地理解軟件系統的當前狀態和響應信息,并能清晰地了解自己的操作行為的前因后果,不致因界面跳轉而迷失;界面的布局和色彩應使用戶感覺舒適、自然。
6.2軟件接口
前后端數據傳送以及服務器和瀏覽器的數據傳輸,數據流量有一定的限制,但不可過小
6.3故障處理
- 將用戶所在界面強制返回到主界面
- 分功能查找定位故障點
- 修復故障
- 重新引導界面
- 通知用戶故障修復
7.其它需求
- 適應性:?當需求發生某些變化時,該軟件對這些變化的適應能,如操作方式上的變化,運行環境的變化,同其他軟件的接口的變化等等。
- 可維護性:系統易于維護,開發文檔完整,源代碼注釋清晰合規
- 安全保密:對于用戶的私密信息進行安全的加密,對于后端維護人員不可見
- 可移植行:采用移植性較好的代碼以及框架進行開發
總結
以上是生活随笔為你收集整理的软件工程课程实践-需求规格说明书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样在excel表格中画斜线并打字_一日
- 下一篇: C++和Rust_后端程序员一定要看的语