程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 軟件系統設計思路

軟件系統設計思路

編輯:關於C語言

    最近有學弟問我,拿到一個軟件需求,但是卻不知道怎麼才能更好地架構好整個系統,在此,我簡單地根據我的經驗介紹一下我是怎麼設計一個軟件系統的吧。當然,這只是我的一個簡單的思路而已,真正涉及到一個大的軟件項目,可能還要復雜很多很多。

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

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

   1)系統要實現什麼功能

   2)性能上有什麼特別的要求

   3)哪些是技術難點,可以的話對技術難點首先測試攻關

2.  確定系統的運行環境

   1)系統運行的操作系統:widows,linux,unix等

   2)使用何種編程語言:c/c++,java,C# 等

   3)使用何種界面交互環境:console,MFC,WTL等等

   4) 需要使用哪些第三方庫:如 openCV,STL,Boost等

3.  劃分系統模塊,設計總體框圖

   1)整個系統從大的方向來劃分的話,可以分為哪幾個模塊,每個模塊又可以繼續劃分為哪幾個小模塊。

   2)每個模塊的提供的功能是什麼

   3)模塊之間怎麼交互

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

   1)本模塊可以設計哪些類,哪些類是作為本模塊對外的接口?

   2)模塊內部的類之間怎麼交互?模塊間的類之間怎麼交互?

   3)類的設計時,需要考慮是否可以通過繼承、組合等方式簡化設計

   4)畫出簡單的UML設計圖

5.   設計每個類的屬性和方法

    1)每個類有哪些成員變量?提供哪些功能函數?

    2)哪些功能通過繼承獲取,哪些功能需要用到重載,哪些功能需要利用多態?     

    3)完成類的頭文件的定義

6.   實現每個類的功能及集成測試

    1) 編碼實現每個類的功能

    2) 根據前面的設計,完成類之間的交互代碼,實現系統所需要的功能

    3)集成和測試,優化代碼,修改bug

   好了,就簡單地寫這麼些了,僅僅提供一個思路,希望對新手有用。當然,具體情況還是要具體分析的,順祝大家學習順利。O(∩_∩)O~

 

本文出自 “對影成三人” 博客,請務必保留此出處http://ticktick.blog.51cto.com/823160/697996

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved