1. 程式人生 > >第三組(geomystory)修改後的需求分析

第三組(geomystory)修改後的需求分析

這就是 回首 線性 技術 角色 sof 環境 傳播 增加

學習了軟件工程之後,我們只是大致了解了編寫大型軟件需要軟件工程,否則就會遇到“軟件危機”,具體的軟件危機是什麽,我們卻不甚了解。大家熟悉軟件工程經典的秋千圖,它介紹了軟件開發中個各種問題,看的時候不免覺得好笑,但是當你的軟件足夠大,這些問題就會出現在你的面前。

技術分享

因為生產實習著重培養開發過程,軟件工程是不可或缺的,現在我們進行到了需求分析這一步。於是我們依樣畫葫蘆,按照老師提供的框架,分析(猜測)用戶需求,實際采訪用戶,使用NABCD框架進行系統分析。

驀然回首,需求分析之前還有兩步:

  1.問題確立——既然是開放性問題,各組隨機選題,我們來做個遊戲吧,模仿“‘歐幾裏得’”這款幾何遊戲就很不錯,炫酷的文本編輯器沒有太多可以實現的而且不太好玩,別的遊戲都不好玩或者可能不好做,投票通過;

  2.可行性分析——uwp中是可以用unity技術的,c#手寫一個幾何引擎應該也不難,可行;

在問題確立上與可行性分析之中,埋藏了一個很大的坑,不過相信我們有能力來解決這個問題,那麽不用回頭了,專心做需求分析吧。

我們的需求分析都做完了,才想起需求分析到底要做什麽:設計人員根據需求設計軟件的界面、功能、接口,實現人員要根據需求實現自己心目中的設計,假設不會過度需求分析的情況下,需求分析至少能保證我們的秋千盡可能的接近用戶心中的那個輪胎。不過,如果沒有“歐幾裏得”這款遊戲,我們能保證小組中的每個成員心中都有同一個“哈姆雷特”嗎?能保證新加入成員時,他的心中也是這個“geomystery”嗎?

綜合以上考慮,我們將會把需求分析精細化,將我們這款軟件的基礎更加牢固,不過既然選擇了極限編程模型,整體的文檔體量會縮小一些,希望可以構建等比例縮小的軟件工程金字塔。

需求分析正文:

需求從用戶開始,遊戲是人類的天性,每個人都喜歡玩遊戲,遊戲吸引人的地方在於不同的遊戲有不同的樂趣,李如意驚險刺激,持續反饋,虛擬成就等等,我們做的這款遊戲,最終的目的就是吸引人(開發者的希望)和好玩(用戶的最求)。

因為我們並沒有被某個公司委托,所以我們自身也客串用戶。

N(Need, 需求)

·與老師探討的過程中,出現了第一個需求:學習是不是也能像遊戲一樣吸引人。如果能把遊戲和學習結合起來,比如在遊戲中加入“即時反饋”系統,這也涉及到定位問題,我們的軟件到底是一款遊戲軟件,還是一款學習軟件,最終的討論結果是,遊戲(加上學習元素)。

·解密類遊戲是一個吸引人的遊戲類別,當然,解密遊戲也有很多種,大家可以找到很多“密室逃脫”“偵探”小遊戲,“古墓麗影”中的勞拉在探險的過程中也需要解決很多謎題,前一段時間風靡手機端的遊戲“紀念碑谷”總給人一種柳暗花明之感,我們也可以制造一款解謎遊戲。

·時間有限是開發人員的限制,大家都不想去編劇本,不想寫角色扮演類遊戲(RPG)解謎劇本,可以考慮純粹一些的解謎。就像“寶石迷陣”“鱷魚洗澡”遊戲一樣,創造一個環境,純粹的解謎,這樣可以把時間專註於編碼開發而不是編劇。

·幾何相對於物理類容易許多,不需要物理學中力學那樣復雜的遊戲引擎支持,定義一個坐標系,畫直線圓,滿足條件(例如玩家畫出了一個圓的圓心,必須是推理畫出來的,而不是隨便畫出來的)就可以過關。闖關!對,闖關類遊戲,達成條件就能過關。

·有些玩家喜歡容易上手的關卡,有些玩家喜歡困難的挑戰,這就是用戶調研環節G用戶提到的“難易比例適中”,合理的關卡設計能讓用戶玩的開心,增加遊戲“黏度”。

·各個遊戲總是有奇奇怪怪的成就系統,甚至掃雷也有:

技術分享

成就系統有魔力,這是公認的,我們的軟件也要有成就系統。

·組員C有舍友是遊戲的資深玩家,組員C受到影響也經常玩這款遊戲,給我們提供了一些額外的建議,有的關卡解法可能用戶難以想到,而闖關通常是不允許用戶跳躍的,這樣會造成用戶長久的卡在同一個地方,回想起“友商”“開心消消樂”的做法,軟件需要有可以跳過關卡的功能,或者能有一些小提示。

·政策需求,軟件需要滿足一個國家地區的法律法規,我們的軟件需要一個防沈迷系統。

·盈利系統是用戶不需要甚至討厭的,卻是遊戲開發商需要的,而我們作為軟件的實際開發者,也會受到此影響,未來可能會有免費去廣告,充值鉆石,購買過關,購買提示等功能。

A(approach, 做法)

技術上我們需要一個能表達幾何的方法,需要數學中的坐標系幾何定律,需要幾何的元素(例如點線圓),這些憑我們所學的知識可以應付,然後我們需要在計算機中實現幾何的方法,他們包括UWPC#,但是光有這個還不夠,我們發現Unity自身就可以寫UWP程序(選項中選擇提交到WINDOWS應用商店)不一定好學,DirectX可以讓我們的程序更漂亮,但是DX有大量本級實現的細節,必須使用C++,而UWP的C++實現比較復雜,所以我們的計算機圖形學還是通過C#來實現,那樣的話我們的軟件看起來可能會很“樸素”,並不吸引人。後來我們發現了NuGet中的Win2D它封裝了DX,而且可以與XAML配合,正是我們需要的。還有一些技術來實現,就是圖形計算需要解方程,而方程在計算機中的表達就是矩陣,這就意味著我們使用了線性代數。需要註意的是,交互方式設計對遊戲體驗影響很大,應該著重優化,

B(Benefit, 好處)

  • 一款遊戲,最重要的是帶給玩家快樂,我們這款遊戲關卡設計難易比例均衡,能讓人愉快的繼續玩下去;
  • 寓教於樂是很多老師的追求,本款遊戲可以實現,在遊戲的過程中用戶加深對幾何的理解,數學幾何輕輕松松拿100分;
  • 自由模式以及經典畫法演示開啟了一扇嶄新的大門,用戶可以創造保存他們喜歡的“幾何城堡”,這個圖形是用數學描述的,和矢量圖形一樣,顯而易見的好處就是放大縮小不會失真,這也算是一個小型的“幾何畫板”;
  • 技術分享

  • 軟件提供經典的幾何算法的演示,比如尺規作正十七邊形的動畫演示,讓熱愛數學,熱愛幾何的人有獨特的收獲;
  • 技術分享

C(Competitors, 競爭)

我們選擇“歐幾裏得”這款軟件作為主要的競爭對手。

技術分享

  • 未被滿足的需求:“缺個女朋友”(可以認為代表社交,聯網需求,也可以認為是客戶無理取鬧),多語言支持,登錄賬號來保存進度,老玩家鼓勵系統,歷史上懸而未決的幾何難題題庫
  • 平手:遊戲模式設計,關卡設計,合理的提示,
  • 我方優勢:跳過關卡功能,"解析幾何"功能,成就系統,計時系統,尺規作圖動畫演示
  • 我方劣勢:術語表,定理查詢,記錄保存與重現操作歷史,歷史成績查詢,模型實現以及算法優化,隱藏的第四顆星(優秀的關卡設計)
  • 對用戶無用的功能:防沈迷系統,盈利系統(廣告,充值),精力系統(變相防沈迷,實際是盈利)

D(Delivery, 推廣)

  • 這一款軟件是生產實習的作業,將會提交到WINDOWS AppStore
  • 朋友之間的推廣將會成為本遊戲的第一批用戶,這或許是我們的軟件進入AppStore排行榜的關鍵
  • 免費促銷活動,將會吸引一批嘗鮮的用戶
  • 我們沒錢打廣告

電梯演說

各位領導/投資人/合作夥伴: 我們的產品 <幾何迷城 geomystery> 是為了解決N <遊戲與學習不能兼得> 的痛苦, 他們需要C<通過遊戲打發無聊的時間,同時還能兼顧學習>, 但是現有的方案並沒有很好地解決這些需求,我們有獨特的辦法A,<例如尺規作圖實踐與遊戲闖關結合>, 它能給用戶帶來好處B,<難易結合,定義嚴格,使用戶著迷而不沈迷>, 遠遠超過競爭對手C<“歐幾裏得”>. 同時,我們有高效率的推廣D方法:<發布到商店,限時免費>,能很快地讓大部分用戶知道我們的產品,並進一步傳播。

第三組(geomystory)修改後的需求分析