走在架構(gòu)師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術(shù),軟件架構(gòu),領(lǐng)域建模,IT 項(xiàng)目管理 Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks
          前言
                 最近應(yīng) P2P 課程的要求,組織了六個(gè)同學(xué)開發(fā)取名為 NesQQ  的小系統(tǒng)。等開發(fā)完, 會(huì)把他共享,供初學(xué)者學(xué)習(xí),現(xiàn)在只把開發(fā)控制文件共享。傳統(tǒng)的項(xiàng)目會(huì)有啟動(dòng),開發(fā),實(shí)施,收尾的過程,而在這個(gè)項(xiàng)目中,結(jié)合實(shí)際,只做了個(gè)控制文件,俗話說麻雀雖小五臟俱全。感謝所有參與這個(gè)項(xiàng)目的人員,你們已經(jīng)開始 Open Source 的第一步。關(guān)注 Java, 關(guān)注開源。
                第二次會(huì)議記錄
                    1. 時(shí)間
                        2007-10-24 星期三
                    2. 地點(diǎn)
                        501 教室
                    3. 參加人員
                        XXX 小組全部成員
                    4.主要內(nèi)容
                        4.1 討論參考文檔內(nèi)容
                        4.2 討論需求
                        4.3 確認(rèn) 2007-10-28 再次開會(huì)
                第三次會(huì)議記錄
                       時(shí)間:2007-10-31
                       地點(diǎn):227 寢室
                     1. 近一周的進(jìn)展情況
                     2. 進(jìn)一步明確需求
                     3. 討論設(shè)計(jì)實(shí)現(xiàn)(每個(gè)人都發(fā)表意見)
                     4. 分工及協(xié)助方式(沒有時(shí)間限制,但會(huì)有里程碑和緩沖時(shí)間)
                     5. 相關(guān)經(jīng)驗(yàn)介紹 (每個(gè)人都發(fā)言, show yourself)
          正文
           

          案卷號(hào)

          01

          版本號(hào)

          1.0

          日期

          2007-10-17

           

           

           

           

          <通訊系統(tǒng)NesQQ>

          小組開發(fā)參考文檔

           

           

                                                                          者:          汪保杰          

                                                                      完成日期:         2007-10-17             

                                                                      人:                               

                                                                      簽收日期:                               

           

                    修改情況記錄:

          版本號(hào)

          修改批準(zhǔn)人

          修改人

          安裝日期

          簽收人

            

           


          小組開發(fā)參考文檔

          引言

          1 編寫目的

          2 范圍

          3 參考文件

          4 溝通方式

          5 技術(shù)與工具

          6 WBS (人員分配,進(jìn)度計(jì)劃)

          7 用例模型

          8分析與設(shè)計(jì)

          9 參考界面

          10測試

          11 公開演示

          12 項(xiàng)目總結(jié)


          引言

          這個(gè)學(xué)期我們上了網(wǎng)絡(luò)課,學(xué)習(xí)了 TCP/IP 協(xié)議,也看了林老師發(fā)給我們的 winsock 代碼,我們對(duì) socket 編程有了一定的了解,但這還不夠。故此,學(xué)校組織了一些專題講座,也組織同學(xué)以組為單位開發(fā)關(guān)于 socket 方面的小系統(tǒng),小組最多 6 個(gè)人。

          小組人員: 彭東石,周鑫,李鵬,龍曉泉,鄺月娟, 汪保杰(組長)

          人員簡單介紹:

                    彭東石: 擅長硬件,在深圳工作兩年, 熟悉語言 C++, 做過team leader pdongshi@foxmail.com

                    周鑫:   擅長軟件開發(fā),原軟件學(xué)院學(xué)生,目前在公司做項(xiàng)目. 熟悉 C#,Java 語言zhouxin830723@163.com

                    李鵬:   擅長軟件開發(fā), 熟悉 Java 語言.lipeng82@126.com

                    龍曉泉: 擅長軟件開發(fā), 熟悉 Java 語言.lxq5270@163.com

                    鄺月娟: 擅長軟件開發(fā), 熟悉 Java 語言.kyjnihao@yahoo.com.cn

          汪保杰: 擅長軟件開發(fā), 在深圳工作3年多,熟悉 C++, Java,做過系統(tǒng)分析員 wbjeasygo@163.com

               開發(fā)方式:

                  先給大家一開源的 Demo 一下,大家以他為開發(fā)模板完成開發(fā)工作。

                  大家盡量用網(wǎng)絡(luò)資源學(xué)習(xí)。

          1 編寫目的

              為了明確小組系統(tǒng)開發(fā)范圍以及開發(fā)注意事項(xiàng),同時(shí)也叫部分沒有參與過系統(tǒng)開發(fā)的同學(xué)了解軟件開發(fā)過程是一個(gè)什么樣的過程,本次開發(fā),一是要從中學(xué)習(xí)技術(shù),二是要學(xué)習(xí)如何管理一個(gè)項(xiàng)目,尤其是處于我們這種模式的項(xiàng)目(人很分散,部分人不能上手開發(fā))。這對(duì)大家都是一個(gè)挑戰(zhàn)。

          關(guān)于開發(fā)相關(guān)的文檔合并在這一個(gè)文檔里,供開發(fā)時(shí)參考。同時(shí)此文檔也作為一個(gè)交流平臺(tái)。

          目的很明確,希望大家能從這次開發(fā)中學(xué)到些東西,可能不只是開發(fā)哦!

          2 范圍

          A   軟件名稱:簡易通訊系統(tǒng) NesQQ

          B   軟件功能

               分兩個(gè)層次 (兩次迭代完成,至少完成第一層次功能)

          1.             基本的 p2p交流

          包括登陸模塊,管理好友模塊, 群功能模塊,特定好友聊天模塊

                          2.     文件共享,視頻,語音功能

                      

          3 參考文件

          Thinking in java

          Java 編程規(guī)范》

          Java 1.5 API

          Java 高級(jí)編程》

          Swing , SWT,JFace編程》

          4 溝通方式

          1. 每天利用課余時(shí)間交流

          2. 每個(gè)星期開個(gè)小會(huì)

          3. QQ 群為我們的即時(shí)通訊工具, 必要時(shí)可以用 Email

          5 技術(shù)與工具

          1. Java 語言 (1.5), 開發(fā)工具 eclipse 3.2

          2. 數(shù)據(jù)存貯可以考慮 DB(sqlserver).

          3. 建模工具用 StarUML , PowerDesigner

          6 WBS (人員分配,進(jìn)度計(jì)劃)

          1. 簡易通訊系統(tǒng) NesQQ

           1.1.前期準(zhǔn)備

              1.1.1 需求確認(rèn) (OK,(ALL))

              1.1.2 分析設(shè)計(jì) (OK,(ALL))

           1.2. 第一次迭代

              1.2.0. 數(shù)據(jù)中心模塊 (保杰)

             1.2.1. 登陸模塊 (東石)

             1.2.2. 用戶管理模塊

                 1.2.2.1 好友查詢(小泉)

                 1.2.2.2 用戶注冊(cè)(月娟)

                 1.2.2.3 查看所有聊天記錄(小泉)

                 1.2.2.4 組功能模塊(保杰)

             1.2.3. Socket 封裝 (周鑫)

              1.2.4. 聊天模塊 (周鑫)

              1.2.5. 主界面模塊(李鵬)

              1.2.6. 服務(wù)器模塊(取消)

           1.3. 第二次迭代 (目前不考慮)

              1.3.1. 文件共享

              1.3.2. 視頻
           
          1.3.3. 語音

           1.4. 第三次迭代

               1.4.1. 功能完善,界面美化( ALL)
               1.4.2. 驗(yàn)收測試(ALL)



          ALL: 所有人

          PS: 鑒于實(shí)際情況,小組開發(fā)沒有時(shí)間限制,但會(huì)有里程碑和緩沖時(shí)間.


          進(jìn)度計(jì)劃:

          191011周,截止到 2007-11-16 完成基本功能,11周星期五第一次集成

             第一次集成里程碑

          212 周,截止到2007-11-23,星期五,功能完善,美化

          313 周的星期一,二,三,四 最終集成,測試,美化

             最終集成里程碑

          413 周的星期五 準(zhǔn)備報(bào)告

          514 周為緩沖時(shí)間(可進(jìn)一步完成其他功能)

             報(bào)告里程碑

          7 用例模型

          1. 參與者: 注冊(cè)用戶

          2. 注冊(cè)用戶

           2.1. 登陸和注冊(cè)

          用例名稱

          登陸和注冊(cè)

          用例目標(biāo)

          提供用戶登陸系統(tǒng)和注冊(cè)界面

          參與者

          注冊(cè)用戶

          前置條件

          輸入

          ID編號(hào) (登陸時(shí)用)

          姓名

          口令

          Email

          性別

          UserIP

          服務(wù)端口號(hào)

          操作

          輸入ID,Password 登陸,

          輸入相關(guān)信息注冊(cè)ID

          輸出

          登陸: 成功進(jìn)入主界面

                失敗彈出警告信息

          注冊(cè): 成功彈出成功信息

                失敗彈出警告信息

          后置條件

          2.2. 好友管理

          用例名稱

          好友管理

          用例目標(biāo)

          提供好友的管理(增加,刪除)

          參與者

          注冊(cè)用戶

          前置條件

          已經(jīng)登陸系統(tǒng)

          輸入

          增加:

              好友 ID

              群組 (將好友添加到哪個(gè)組中)

          刪除:

              在主界面右鍵單擊刪除

          操作

          輸出

          好友以 Tree 結(jié)構(gòu)顯示

          如:

          同學(xué):

              張三

              李四

          同事:

          老師:

          后置條件

          2.3. 組管理

          用例名稱

          組管理

          用例目標(biāo)

          提供組的 CURD

          參與者

          注冊(cè)用戶

          前置條件

          已經(jīng)登陸系統(tǒng)

          輸入

          組名稱

          組描述

          建立者

          組下面的好友

          操作

          輸出

          Tree 型結(jié)構(gòu)顯示

          如:

          同學(xué)

              張三

              李四

          同事:

          老師:

          后置條件

          2.4.  查看聊天記錄

          用例名稱

          查看聊天記錄

          用例目標(biāo)

          查看和某個(gè)好友聊天的記錄

          參與者

          注冊(cè)用戶

          前置條件

          輸入

          好友ID編號(hào)

          操作

          輸出

          顯示記錄

             時(shí)間

          好友

             內(nèi)容  

          后置條件

          2.5.       客戶模塊

          用例名稱

          客戶模塊

          用例目標(biāo)

          提供向好友發(fā)送信息

          參與者

          注冊(cè)用戶

          前置條件

          已經(jīng)登陸系統(tǒng)

          輸入

          好友名字

          信息內(nèi)容

          信息發(fā)送時(shí)間

          操作

          輸出

          成功與否

          后置條件

          2.6.       信息保存

          用例名稱

          信息保存

          用例目標(biāo)

          當(dāng)好友不在線時(shí),將所發(fā)信息保存在數(shù)據(jù)中心

          操作

          Schedule Thread 負(fù)責(zé)信息再發(fā)送。

          輸入

          信息發(fā)送者

          信息接受者

          消息內(nèi)容

          消息創(chuàng)建時(shí)間

          8分析與設(shè)計(jì)

          數(shù)據(jù)庫設(shè)計(jì):

           用戶數(shù)據(jù)模型

          屬性名稱

          英文名

          類型

          備注

          編號(hào)

          ID

          NUMBER(10)

          自動(dòng)生成

          姓名

          User Name

          NVARCHAR(50)

          用戶名稱

          口令

          Password

          NVARCHAR(16)

          要限制密碼長度

          Email

          Email

          NVARCHAR(50)

          前端要驗(yàn)證 Email 是否有效。

          IP地址

          UserIP

          NVARCHAR(20)

          自動(dòng)獲取IP 地址

          服務(wù)端口號(hào)

          ServicePort

          NUMBER(5)

          提供默認(rèn)值

          分組模型

          屬性名稱

          英文名

          類型

          備注

          ID

          Id

          NUMBER(10)

          自動(dòng)編號(hào)

          組名稱

          Name

          NVARCHAR(20)

          限制大小

          建立者

          UserId

          NUMBER(10)

          建立日期

          CreateDate

          Date

           用戶和組的關(guān)系模型 (Many to Many)

          屬性名稱

          英文名

          類型

          備注

          ID

          Group Id

          NUMBER(10)

          自動(dòng)編號(hào)

          用戶ID

          User Id

          NUMBER(10)

          自動(dòng)編號(hào)

          信息數(shù)據(jù)模型

          屬性名稱

          英文名

          類型

          備注

          信息 ID

          Id

          NUMBER(10)

          自動(dòng)編號(hào)

          發(fā)送者

          Sender

          NUMBER(10)

          消息內(nèi)容

          Content

          NVARCHAR(255)

          限制大小

          創(chuàng)建時(shí)間

          CreateDate

          Date

          信息和接受用戶的關(guān)系 (one to many) 目前先實(shí)現(xiàn)單用戶發(fā)信

          屬性名稱

          英文名

          類型

          備注

          信息 ID

          message Id

          NUMBER(10)

          自動(dòng)編號(hào)

          用戶ID

          User Id

          NUMBER(10)

          自動(dòng)編號(hào)

          數(shù)據(jù)庫名稱 nesQQ

          用戶名/密碼 nesQQ/nesQQ

          系統(tǒng)設(shè)計(jì):

             物理結(jié)構(gòu)圖:

              
          概要設(shè)計(jì):

                  基于 P2P 思想,每個(gè) Peer 實(shí)現(xiàn) clientServer 兩個(gè)功能。對(duì)應(yīng)兩個(gè)端口。

                    一個(gè)端口負(fù)責(zé)服務(wù),一個(gè)端口負(fù)責(zé)發(fā)送消息。

                  當(dāng)好友不在線時(shí),將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)中心(Client 端有專門的線程負(fù)責(zé)重發(fā))

                 (目前好友不在線,不能聊天)

          9 參考界面(參考)

          1登陸界面
           

            2. 其他

          10測試

          單元測試:

              在提交代碼時(shí)必須保證已經(jīng)進(jìn)行過完整的單元測試。可以考慮用 JUnit 自動(dòng)測試或者是用界面驅(qū)動(dòng)測試.

          集成測試:

              大家確保將完整的 Source code 提交給我,由我進(jìn)行集成,等測試 ok 之后,在將新的 Source code 轉(zhuǎn)給大家 (簡單的協(xié)作實(shí)現(xiàn)軟件的配置管理)

          組內(nèi)驗(yàn)收:

              開會(huì)演示,當(dāng)前成果.

          11 公開演示

          項(xiàng)目提交,相關(guān)文檔制作 (演示 ppt) 由組長負(fù)責(zé),其他事項(xiàng)由東石組織.

          12 項(xiàng)目總結(jié)

          附錄:

          對(duì)于需求不明確和需求變更多的應(yīng)對(duì)措施主要有:

          1.快速原型-盡快給用戶一個(gè)快速原型啟發(fā)用戶的需求。

          2.增量迭代-整個(gè)開發(fā)中遵循增量迭代的思路,加強(qiáng)各階段與用戶的溝通,對(duì)各個(gè)功能逐步完善本文轉(zhuǎn)自項(xiàng)目

          3.架構(gòu)考慮可擴(kuò)展性-架構(gòu)和設(shè)計(jì)都要考慮是為變更而設(shè)計(jì),而不僅僅是滿足當(dāng)前需求。

          4.需求開發(fā)-需求人員不僅僅是描述清楚用戶需求,而更多的應(yīng)該是去開發(fā)用戶需求,去挖掘用戶的潛在需求。

          通信協(xié)議表

           





          本博客為學(xué)習(xí)交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請(qǐng)注明出處,如有版權(quán)問題請(qǐng)及時(shí)通知。由于博客時(shí)間倉促,錯(cuò)誤之處敬請(qǐng)諒解,有任何意見可給我留言,愿共同學(xué)習(xí)進(jìn)步。
          posted on 2007-11-07 15:36 Jack.Wang 閱讀(5482) 評(píng)論(24)  編輯  收藏 所屬分類: 項(xiàng)目管理

          Feedback

          # re: NesQQ 項(xiàng)目控制文件分享 2007-11-07 15:53 BeanSoft
          朋友路過請(qǐng)留言

          支持一下! C++ 開發(fā)?  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2007-11-07 15:58 Maggie
          支持支持!!  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2007-11-07 21:11 yz
          早就想開發(fā)一個(gè)類似通信的軟件了!是基于JAVA開發(fā)的吧!苦于沒有時(shí)間,現(xiàn)在在做項(xiàng)目開發(fā)!  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2007-11-08 10:43 CoderDream
          支持分享!  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享[未登錄] 2007-11-08 16:55 L2
          不錯(cuò)!
          一看你們的需求知道是“練過”的。
          關(guān)注!!!  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2007-11-09 08:51 astamei
          一看就知道是軟件工程出身。
          是吧?


          其他相關(guān)專業(yè) 一般對(duì)文檔的要求沒有這么高。
            回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2007-12-14 09:25 yz
          這篇文章放了這么久,我都來過幾次了,怎么不見發(fā)布出來?難道是在作秀??  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2008-08-03 18:47 李陪陪
          我要  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享[未登錄] 2008-08-17 11:20 每一天
          支持^^等待^^  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2008-10-12 12:08 f
          請(qǐng)發(fā)布  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2009-02-28 04:38 gfg
          sfgsfgsdfg
            回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2009-05-16 09:12 秦毛
          可以給我發(fā)份NES版的QQ嗎?mygoodatall@163.com 先謝謝樓主了!!!  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享[未登錄] 2009-05-28 02:24 cheng
          下載軟件  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2009-06-04 15:51 caoguoqing
          371658746@qq.com 可以給我發(fā)個(gè)嗎?(*^__^*) 嘻嘻…… 謝謝啦  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2009-08-09 23:13 李特
          可以給我發(fā)份NES版的QQ嗎?saiter001@163.com麻煩你了樓主  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2009-10-05 10:03 韓亞東
          可以給我發(fā)份NES版的QQ嗎?1136988397  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享[未登錄] 2009-12-20 09:34 天天
          還有這軟件啊  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2010-01-08 01:41 5566
          可以給我發(fā)份NES版的QQ嗎  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2010-03-12 16:50 LIXUFENG
          gei w yi ge y ouxiang 497353042@qq.com  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2010-09-05 10:57 覺得糊精
          @cheng
            回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享[未登錄] 2010-12-21 22:53
          一直都再找nes的QQ,把NES版的QQ給我一份唄!
          mimi100703@126.com  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2011-03-17 07:33 l1003200@qq.com
          @BeanSoft
          一點(diǎn)也不方便  回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2011-03-17 07:34 l1003200@qq.com
          e   回復(fù)  更多評(píng)論
            

          # re: NesQQ 項(xiàng)目控制文件分享 2011-03-17 07:34 l1003200@qq.com
          不真么方便  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 安龙县| 古田县| 霍邱县| 正蓝旗| 桐乡市| 新田县| 柞水县| 永城市| 苍梧县| 商洛市| 塘沽区| 额济纳旗| 方山县| 永兴县| 舒兰市| 仁化县| 聂拉木县| 泾源县| 新巴尔虎右旗| 盐城市| 土默特左旗| 武川县| 绥中县| 高台县| 读书| 铜梁县| 枝江市| 灵宝市| 杭锦后旗| 马山县| 石城县| 丰原市| 泾川县| 扬州市| 高要市| 玛纳斯县| 博爱县| 江孜县| 潞城市| 扶沟县| 威信县|