這個作業屬於哪個課程 | 課程鏈接 |
---|---|
這個作業要求在哪里 | 作業要求 |
團隊名稱 | 朋友 代打了解一下 |
這個作業的目標 | 需求分析&系統設計 |
一.團隊成員的姓名學號列表
學號 |
姓名 |
特長 |
---|---|---|
061126 | 黃天兵 | 團隊隊長,善長C++,Java,整個團隊中代碼量最多,是團隊的核心人物。 |
061127 | 黃震 | 擅長C和C++,團隊中發揮了重要的作用,個人能力極強。 |
061128 | 賈鴻椋 | 多面手,擅長C和C++,java,代碼量多,知識面廣,小團隊的種子選手。 |
061129 | 賈青虎 | 了解C以及C++,代碼量較少,點子比較多,負責部分測試,以及界面設計。 |
061130 | 蔣磊 | 個人能力極強,負責項目測試,軟件需求分析,並且創新能力比較強。 |
二.擬開發項目簡介
在此感謝所有參考文獻
https://www.msra.cn/zh-cn/news/features/golden-number-game
https://www.cnblogs.com/xinz/archive/2011/08/08/2130505.html
https://blog.csdn.net/qq_32454537/article/details/78115826
1.游戲介紹:“黃金點游戲”
黃金點游戲是一個數字小游戲,其游戲規則是:N個同學(N通常大於10),每人寫一個0~100之間的有理數(不包括0或100),交給裁判,裁判算出所有數字的平均值,然后乘以0.618(所謂黃金分割常數),得到G值。提交的數字最靠近G(取絕對值)的同學得到N分,離G最遠的同學得到-2分,其他同學得0分。玩了幾天以后,大家發現了一些很有意思的現象,比如黃金點再逐漸地往下移動.
2.團隊對於游戲的看法以及我們的感悟
我們對於這個游戲的最深刻的看法可以用我們對這個游戲的第二名稱來詮釋 那就是“創新的時機.”據我們了解,這個游戲的最早的記錄實踐是經濟學家Richard Thaler在1997年通過英國《金融時報》給讀者出的一道題目。當時沒有用黃金點,而是2/3這個分數。當時玩這個游戲的大多是top N的大學生或者IT從業人員,數學基礎都是足夠扎實的,都是一些智商極高的人員。我們從大數據分析的結果看出,雖然多次游戲之間沒有任何聯系,是概率中的獨立事件,但是前一次游戲的G—number給了所有參與者一個強大的暗示,以后游戲的G—number一定會向下走。下面是清華2008年秋季2學期一個叫“貝爺”的TA給連續12次游戲做的記錄,從趨勢看,數值會逼近於0,但是變化也不是一帆風順的,每次觸底之后,就會小小反彈一下。
對於這個游戲我們幾個人有不同的領悟和不同的看法 大體分為以下幾點
(1)贏者通吃
根據游戲的規定,第一名得到全部的分數,第二名一直到倒數第二名的得分都是0分,最后一名還要倒扣分。IT行業就是類似於此的游戲環境,無論第二名或者后面的人有多少亮點發光點,第一名永遠是最吃香的。
(2)微弱的優勢
一個小團體,或者一個小社會的社會共識從來不是最激進的,每個個體發出自己看似隨機的聲音,它的進步是緩慢的,有時還要倒退一下,如果只看微博 朋友圈 知乎上的發言,我們可能會覺得德先生和賽先生早已是國人的共識;如果只參加最前沿的科技展覽會,我們可能會覺得明天我們就都會用人工嵌入智能芯片同時會同步電子書郵件微博微信再加GPS和雲計算。但其實,作為一個社會整體,進步是沒有那么快的。那些成功的企業或者集團只是比大眾的平均值先走了一小步,就是這一小步,讓大部分人看到了產品的“相對優勢”從而覺得這很科技,這很前沿。但其實,這些商品可能遠沒有大家想的那么成功,而只是他發行的時間和發行的時機恰巧滿足了大眾的需求,所以我們說這種產品成功在了時機上。
3.總結與感悟
所以對我們團隊來說,也許這就是一次普普通通的作業中的一個任務需求,一個簡單的黃金點游戲。但其實,游戲隨簡,意味深長。我們認為,開發游戲固然很重要,完成項目需求作業也固然重要,但能從項目開發的過程中感悟到更深層次的東西,獲取一些IT行業以及延展到其它領域的一些專業知識,對我們團隊的每一個人來說都是一種成長,都是一種經驗以及事業上的豐富,所以我們要用心做好此次團隊項目,爭取收獲更多寶貴的東西。
三.典型用戶及用戶故事
1.典型用戶
用戶1:蔣磊
特點:以編程為生的程序員,是計算機科學與技術專業出身。熟悉多門編程語言,比較關注算法和程序的效能、內存泄漏等問題。在日常生活中多擅長運用C語言完成大大小小的項目,最適合寫一組函數實現高效的數據存儲和搜索。也會寫一些額外的用戶GUI界面開發以及連接控件的行為代碼。而且,平常喜歡網路游戲並且很關注電子產品方面的消息,對IT產業了解也較多。最重要的:單身可撩。
用戶故事(story)1:
日常生活中很喜歡經典的游戲,例如:馬里奧之類的冒險游戲。並且希望通過一些簡單但不失韻味的游戲來感受生活的趣味,體驗一些深刻的東西,所以在生活中經常會去尋找一些小游戲一些小程序或者觀看主播等很多方式來體驗經典永流傳的游戲模式,感受不同尋常的游戲體驗,渴望能收獲意想不到的驚喜。
用戶2:賈鴻椋
特點:表面簡簡單單,生活簡朴,實則內心世界富含萬水千山。同樣是一名以編程為主業的程序員,是計算機科學與技術專業出身的大學生。平日喜歡看很多編程語言的書籍,書架上擺滿了Essential C++等類似的書籍。另外,個人非常喜歡攝影,對數碼電子產品也很關注,平日里喜歡看b站瀏覽許多相關信息。最重要的:你看不透。
用戶故事(story)2:
數碼產品是他的第二副業,除了日常完成學習任務之外,他還喜歡用相機走遍成都的街頭巷里,記錄最朴實無華的川氏生活。因此,他很希望通過一些細小細微的生活細節以及小游戲或者一些零散的文字來感受生活獨特的魅力。希望體驗以小見大的獨特體驗感。並且,日常博覽群書的他也喜歡瀏覽很多科技網站,對大大小小的軟件開發流程有一定程度的理解,所以他自己的IT觀念也有自己很深刻的理解並渴望不斷的增進自己的見識增加自己的專業認知。
用戶3:Mort
特點:不是計算機專業出身的人員,有自己的主業,編程以及計算機對他來說只曾聽聞,而且計算機更多的是用於完成自己日常生活中的一些娛樂需求。平常生活中喜歡運動和健身,對自己的生活沒有非常嚴格的體制要求,喜歡隨心所欲的生活。主要學習石油工程一類的學科,平常會瀏覽很多的相關書籍以及網頁以獲取專業知識。
用戶故事(story)3:
平常會玩很多游戲,大到網絡游戲和網頁游戲,小到手機上的各種小游戲以及電腦自帶的很多小游戲。希望多接觸一些有意義的游戲,而不是單純的為了滿足娛樂需求的去玩游戲,想體驗一些更有價值的游戲設計和游戲觀念,從而獲得更幫的游戲體驗。
四.項目的主要功能
1.基礎功能
游戲的基本功能就是輸入輸入能夠正確無誤的運行。基本操作就是一個用戶進入到自己的用戶界面,然后開始游戲。通過輸入一個0~100之間的有理數,完成自己的任務。當多個用戶都輸入完稱自己的數據后,系統會算出所有數字的平均值然后乘以黃金分割數,得到第一輪的G值。然后統計每一名用戶的得分,然后進行下一輪游戲。
(1)接收用戶傳入的數據
(2)根據規則 處理數據
(3)輸出G值
2.拓展功能
(1)統計所有輸入輸出的數據,並形成一個矩形信息統計表,從而反應一些問題,利於我們的進一步分析
(2)記錄用戶自己的游戲記錄,設計“排行榜”用來展示每個用戶的得分情況。
(3)給程序設計GUI交互界面,盡可能地美化程序的運行過程,設計多個界面的交織網絡從而使程序不失單調顯得更加完整。
五.概要設計(軟件體系結構以及主要業務模塊描述)
1.軟件體系結構
2.主要業務模塊描述
(1)用戶模塊
用戶模塊主要是以GUI界面呈現的。在多個界面的交互中,用戶即可以選擇游戲的模式如雙人模式、三人模式等,也可以查看自己當前的游戲分數。游戲的進行也主要是在該界面中,用戶在每一輪游戲中傳輸給程序一個數值然后最后可以查看自己的得分詳情與自己給出的值與“黃金點G值”的差異。
功能描述:實現游戲的全部過程;可查看自己當前得分與G值走向。
接口描述:輸入:模式選擇、用戶輸入的數據。輸出:每一輪游戲的G值;每個用戶每輪的得分;G值得整體走向。
(2)開發者模塊
開發者模塊和用戶模塊不同之處在於開發者可以看到更加詳細的G值走向圖以及每一輪游戲G值得走向,最重要的開發者還能看到G值得變化趨勢分析圖。設計此模塊得目的就是為了開發者能夠更清晰得了解到黃金點游戲的意義所在,背后隱藏的東西能更清晰得發現,也能根據情況及時的調整游戲規則。
功能描述:查看G值走向趨勢圖
接口描述:輸出:每一輪的G值以及總體的G值走向趨勢圖。
六.初步開發計划
1.任務分配
學號 |
姓名 |
任務安排 |
---|---|---|
061126 | 黃天兵 | 程序核心代碼開發人員,主要負責書寫用戶GUI界面部分代碼以及后期維護。 |
061127 | 黃震 | 開發者界面代碼開發,主要負責書寫開發者模塊的G圖導出數據分析部分以及后期維護。 |
061128 | 賈鴻椋 | 功能需求分析人員,主要負責程序各個模塊功能細化分析,給編碼人員提供詳細的規格說明書。 |
061129 | 賈青虎 | 程序開放后負責界面美化設計,精通ps技術,每一個gui交互界面的美化工作都由其完成。 |
061130 | 蔣磊 | 負責網絡相關資源搜集,答辯環節准備,在各個模塊的工作中均貢獻一份力,是整體的完善者。 |
2.時間安排
時間 |
任務 |
---|---|
二、三周 | 完成全部模塊的開發工作,基本程序可以運行,G圖趨勢不作硬性要求。 |
四、五周 | 設計GUI界面,完成界面間聯系優化,界面的美化設計等等。 |
六、七周 | 完善G圖的趨勢分析,測試程序,進行后期代碼維護工作。 |