找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3084|回復: 0
打印 上一主題 下一主題
收起左側

軟件系統(tǒng)設計的一般思路

[復制鏈接]
跳轉到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-21 15:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近有學弟問我,拿到一個軟件需求,但是卻不知道怎么才能更好地架構好整個系統(tǒng),在此,我簡單地根據我的經驗介紹一下我是怎么設計一個軟件系統(tǒng)的吧。當然,這只是我的一個簡單的思路而已,真正涉及到一個大的軟件項目,可能還要復雜很多很多。

要設計一個面向對象的系統(tǒng),建議遵循如下思路:  


1. 調研,完成一份詳細的需求文檔

(1)系統(tǒng)要實現什么功能
(2)性能上有什么特別的要求
(3)哪些是技術難點,可以的話對技術難點首先測試攻關

2. 確定系統(tǒng)的運行環(huán)境

(1)系統(tǒng)運行的操作系統(tǒng):widows,linux,unix等
(2)使用何種編程語言:c/c++,java,C# 等
(3)使用何種界面交互環(huán)境:console,MFC,WTL等等
(4) 需要使用哪些第三方庫:如 openCV,STL,Boost等

3. 劃分系統(tǒng)模塊,設計總體框圖
   
(1)整個系統(tǒng)從大的方向來劃分的話,可以分為哪幾個模塊,每個模塊又可以繼續(xù)劃分為哪幾個小模塊。
(2)每個模塊的提供的功能是什么
(3)模塊之間怎么交互

4. 分析模塊的需求,抽象出實現模塊功能的各個類

(1)本模塊可以設計哪些類,哪些類是作為本模塊對外的接口?
(2)模塊內部的類之間怎么交互?模塊間的類之間怎么交互?
(3)類的設計時,需要考慮是否可以通過繼承、組合等方式簡化設計
(4)畫出簡單的UML設計圖

5. 設計每個類的屬性和方法
   
(1)每個類有哪些成員變量?提供哪些功能函數?
(2)哪些功能通過繼承獲取,哪些功能需要用到重載,哪些功能需要利用多態(tài)?   
(3)完成類的頭文件的定義

6. 實現每個類的功能及集成測試
   
(1) 編碼實現每個類的功能
(2) 根據前面的設計,完成類之間的交互代碼,實現系統(tǒng)所需要的功能
(3)集成和測試,優(yōu)化代碼,修改bug
   

好了,就簡單地寫這么些了,僅僅提供一個思路,希望對新手有用。當然,具體情況還是要具體分析的,順祝大家學習順利。有任何疑問或者建議歡迎留言或者來信lujun.hust@gmail.com交流,或者關注我的新浪微博@盧_俊 獲取最新的文章和資訊。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表