隨著課程的推進,我們的專案到了設計建模階段,小結如下。
隨後,老師具體講解了我們在設計建模時需要用到的思想、方法等,比如抽象、解耦、協議的設計、如何設計模組/元件等,更進一步,老師還闡述了區分子系統的方法如基於資料流的、基於控制的方法等。因為有解耦、子系統和元件等組成部分,所以在乙個系統中定義協議是很有必要的,老師講解了協議的設計原則和方法。最終的目標是整個系統要實現高內聚低耦合的效果。然後老師介紹了contract的概念,最後老師介紹了ocl表示式進一步規範我們的設計模型。
在學習完理論知識後,我們正式進入設計建模階段。首先我們小組一起復盤了需求建模中的主要問題和改進,明確了以核心業務為中心的建模和開發模式,也就是圍繞著乙個專案的完整生命週期去細化業務中的每乙個流程,再由這些具體的業務流程推導出我們需要怎樣的設計模型。在上次的設計建模階段,我們主要提出了qa角色的引入、里程碑模組的增加和策略系統的提出,這是我們設計建模需要圍繞的重點業務。當然,我們還需要兼顧設計建模的原則和整個系統層面的考慮,所以我們先開了個共享文件,共同協商出了具有我們共識的專案的生命週期,在這期間我們經歷了若干次討論。當專案的生命週期確定後,我們進行了專案分工,具體分工為將整個系統劃分為4個模組,分別是使用者管理模組、專案管理模組、里程碑管理模組、策略管理模組,其中,里程碑管理模組是從專案管理模組解耦出來的單獨模組,其主要功能是對專案的分階段交付過程進行控制,這是對專案管理模組的解耦,策略管理模組則集中了整個系統中的所有策略,包括專案推薦策略、開發者推薦策略等,我負責系統的整體架構和元件圖部分,系統的整體架構如圖所示。
圍繞該系統架構,我設計了系統的元件圖如下:
當然,在這期間我們進行了很多次溝通,力爭對專案的具體細節認知一致,保證系統功能模組不衝突,實現高內聚低耦合的設計原則。
在設計建模完成後,我們在課堂上進行了展示和講解,老師對我們設計建模整體上較為肯定,在模型圖的規範性上、策略管理的具體細節上提出了進一步的要求和建議。隨後我們完成了小組互評,對其他小組的建議和疑問進行了解答和改進,提交了對於小組互評的反饋,舉例如下:
個人階段小結
typedef void context int main 標頭檔案 include 函式原型 int pthread mutex init pthread mutex t restrict mutex,const pthread mutexattr t restrict attr pthread ...
StoneAgeDict現階段設計小結
今天和zy結隊程式設計了一天,討論了很多問題。主要是圍繞詞庫的開放式 實時的基本特性討論的。下面是對這兩個特性的基本描述 註冊使用者可以在查詢出來的詞彙中提交自己的詞彙解釋。這個解釋將被遞交到詞庫審核組,由審核組的工作人員審核這個提交。例如,使用者daniel查詢了beyond這個詞彙,但是對這個詞...
個人部落格設計記錄
一 使用的中介軟體 1.koa 2.koa static 實現靜態資源伺服器 3.koa bodyparse 實現body的解析,主要是post請求資料的解析 4.koa logger 控制台日誌中介軟體 5.koa session minimal 適用於koa2 的session中介軟體,提供儲存...