結對項目之需求分析與原型設計

結對項目之需求分析與原型設計

031402317 李佳愷

031402511 黃家俊

這是我們兩個人第一次合作,雖然結對是棟哥幫我們分配的,并且一開始我們就認識,但是也很開心有這個機會能一起合作完成任務。

  • 初步分工我負責隨筆,家俊負責原型設計

  • 以下是原型設計完成后我們一起完善細節的照片

需求分析

在閱讀《構建之法》以及分析了客戶的現實困擾之后,下面我們將提出我們項目的NABCD模型。

N(Need)

  • 客戶需要簡化信息收集的過程
  • 客戶需要能夠實現學生與老師之間的雙向選擇
  • 每個學生必須被分配到有且只有一個導師
  • 盡量減少學生被分到非志愿的老師的情況

A(Approach)

我們決定開發一個安卓端的導師選擇系統,首先代碼的學習可以配合接下去我們各自小組的項目,并且能更有效率更有質量地完成這個系統。

  • 學生和導師都可以登錄這個系統,實現學生選擇導師或者導師選擇學生
  • 學生和導師可以在系統上完善自己的個人信息
  • 學生和導師可以在系統上了解自己想要的導師或者學生的信息
  • 學生選擇導師的時候需要填寫五個志愿,老師在選擇學生的時候,根據學生的志愿,志愿靠前的老師優先選擇學生
  • 登錄系統后學生和老師都可以看到最新的教務處的通知,有助于學生和導師了解學校最新的動態

B(Benefit)

  • 簡化信息收集的過程,系統直接統計學生的導師選擇情況并直接反饋給導師
  • 學生導師之間可以互相了解,個人信息的完善可以向對方體現個人的優點
  • 系統操作簡單,功能實用

C(Competitors)

優勢:功能具有針對性,為廣大師生服務,提高學生與導師之間的交互

劣勢:功能不夠豐富,在提供學生與導師互選的服務之后,容易失去價值

D(Delivery

通過與教務處之間的合作,可以在學生和老師直接推廣開來

原型設計

在經過NABCD模型的建立以及一些細節的討論之后,我們開始著手于原型的設計

  1. 原型工具:MockingBot

  2. 原型模型:

  • 登錄:學生通過學號,導師通過教職工號登錄導師選擇系統

  • 在學生選擇導師的界面當中,導師信息里面列出學生可以選擇的所有導師,并且可以點擊導師的姓名欄了解導師詳細地信息

    在導師詳細信息當中,有統計了當前選擇該位導師的學生人數

  • 在導師選擇學生的界面當中,學生信息里面列出所有選擇該位導師的學生,也可以點擊學生的姓名欄了解學生詳細的信息,包括成績排名

  • 學生在個人選擇當中填寫自己的五個志愿,在第一欄我的分配結果中了解自己的導師分配結果

  • 導師在選擇詳情當中了解自己的學生選擇結果

  • 學生可以在個人中心完善自己的個人資料,導師也是如此

  • 設置中心,可以設置是否開啟推送

PSP

PSP
計劃估計需要3周時間
開發需求分析:簡化雙發互選的過程,減少系負責人的工作量,提高效率
生成設計文檔:PDF
設計復審:兩個人共同討論,一步一步完善
代碼規范:格式整齊,變量名詞化
具體設計:界面設計、數據庫設計、代碼邏輯設計等等
具體編碼:Java
代碼復審:小組內部一起審核
測試:黑白盒測試
記錄用時利用課余時間,大概2-3周左右的時間
測試報告根據黑白盒的測試結果寫測試報告
計算工作量多利用課余時間應該可以完成
事后總結
過程改進計劃

小結

第一次接觸到原型設計,一開始是懵逼的,完全不知道怎么入手,這時候隊友提供了很大的幫助,完成了大部分原型設計的工作,并且教會了我怎么去做原型設計,自然我接受了博客的工作,但是里面需求分析也是我們共同分析的結果,所以結對讓我認識到團隊合作的重要性。然而這是大學第一次接觸項目,博客的內容以及原型設計都存在很多需要改進的地方,而我們盡力而為。第二次軟工實踐的作業就讓我覺得受益匪淺。

結對項目之需求分析和原型設計PDF文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250627.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250627.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250627.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

javaEE項目部署方式

1、手動部署 2、自動化部署 “自動化”的具體體現:向版本庫提交新的代碼后,應運服務器上自動部署 轉載于:https://www.cnblogs.com/zyc-blogs/p/9674606.html

vue --- 2.0數據的響應式的一種實現

初識: 實際上是通過Object.defineProperty()方法來實現的talk is cheap, show your code let obj {}; Object.defineProperty(obj, name, {get(){return document.querySelector(#name).innerHTML;},set(newVal){document.querySelector(#name).innerHTML val;} })// 注1: …

心得開始之路

本人是大四實習狗,現在最大的問題是什么? 一:實力不夠 二:人又懶 開始以為就做做運維,學學服務器就可以了,但是現在才發現,嗯,不會開發的運維什么都不算。 現在開始學習Python自動運…

結對編程作業——畢設導師智能匹配

結對編程作業——畢設導師智能匹配 031402317 李佳愷031402511 黃家俊 問題描述及要求 輸入30個老師(包含帶學生數的要求的上限,單個數值,在[0,8]內),100個學生(包含績點信息),每…

內置函數二

內置函數: 1.lambda 匿名函數 lambda 參數:返回值 例    resultlambda x,y:xy sresult(x3,y4) print(s) 2.sorted 排序 sorted(iterable, keyfunc, reverseTurn/False) 例    lst [1, 8, 18, 19, 97, 12, 3] lst.sort() lst自帶的排序功能  l2 sorted(lst) 排序…

vue --- 2.0響應式補充

補充: 數組的響應式 // 對數組的方法進行重寫 // 1. 不能影響本來的方法 // 2. 調用的時候可以找到它 let odlArrayPrototype Array.prototype; let proto Object.create(odlArrayPrototype); // 繼承 [push,shift,unshift].forEach(method >{proto[method] function(){…

OptaPlanner - 把example運行起來(運行并淺析Cloud balancing)

經過上面篇長篇大論的理論之后,在開始講解Optaplanner相關基本概念及用法之前,我們先把他們提供的示例運行起來,好先讓大家看看它是如何工作的。OptaPlanner的優點不僅僅是提供詳細豐富的文檔 ,還為各種應用場景提供豐富的示例&am…

es6 --- 使用proxy對數據進行劫持

說明: 數據劫持,簡單的說就是在對數據進行操作(增刪改查)時,觸發的函數下面想通過使用以下的形式來使用: let proxy reactive({ name:lz }); proxy.name; // 獲取 proxy.name 栗子; // 設置 delete proxy.name; // 刪除解決方案: proxy函數的2個參數第一個參數: 接收一…

Java8-如何構建一個Stream

Stream的創建方式有很多種&#xff0c;除了最常見的集合創建&#xff0c;還有其他幾種方式。 List轉Stream List繼承自Collection接口&#xff0c;而Collection提供了stream()方法。 List<Integer> list Lists.newArrayList(1, 2, 3); Stream<Integer> stream li…

軟件產品案例分析

軟件產品案例分析 第一部分&#xff1a; 評測&#xff1a; 上手體驗&#xff1a; 說實話&#xff0c;在老師布置這個作業之前我確實不知道有K米這個APP&#xff0c;我想這是很少去KTV的原因吧。。。不過在接到這個作業后&#xff0c;我就去百度了普及了一下這個app的相關知識。…

java/android 做題中整理的碎片小貼士(12)

1、edittext中設置最長字數&#xff0c;可在xml中加入android:maxLength"10"&#xff0c;可在java代碼中加入editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 2、edittext監聽軟鍵盤delete按鍵&#xff1a; Et.setOnKeyListener(new Vi…

POJ2777(線段樹裸題)

題目&#xff1a;http://poj.org/problem?id2777 別忘了各地的return&#xff1b; 有可能輸入的L<R&#xff0c;手動swap&#xff1b; 似乎是多組輸入&#xff1f; pushup和pushdown的位置。 &#xff08;原來pushup只有一行&#xff09; 要開四倍數組。是這種寫法的原因吧…

vue --- 2.0 編譯的實現

初識 假設html中有如下dom: <div id"app"><!-- 插值綁定 --><p>{{name}}</p><!-- 指令解析 --><p l-text"name"></p><p>{{age}}</p><p>{{doubleAge}}</p><!-- 雙向綁定實現 -->…

個人作業收官——軟件工程實踐總結

一、回望與展望 1.1 對比現在和開學初博客開篇的課程目標和期待 當初的目標&#xff1a; 提升團隊合作的能力能夠學習到開發的一系列流程&#xff0c;以及如何寫高質量的代碼加強自己的編碼能力&#xff0c;以及編碼習慣熟悉不同平臺的開發過程 如今&#xff1a; 基本的目標都…

sklearn中SVM調參說明

寫在前面 之前只停留在理論上&#xff0c;沒有實際沉下心去調參&#xff0c;實際去做了后&#xff0c;發現調參是個大工程&#xff08;玄學&#xff09;。于是這篇來總結一下sklearn中svm的參數說明以及調參經驗。方便以后查詢和回憶。 常用核函數 1.linear核函數: K(xi,xj)xTi…

TZOJ 3030 Courses(二分圖匹配)

描述 Consider a group of N students and P courses. Each student visits zero, one or more than one courses. Your task is to determine whether it is possible to form a committee of exactly P students that satisfies simultaneously the conditions: every stude…

vue --- configureWebpack模擬后臺數據

初識 使用vue/cli搭建的項目可以在vue.config.js中,模擬一個后臺(express寫法)vue.config.js configureWebpack: {devServer: {// 模擬后臺服務器 express寫法before(app) {app.get(/api/login, function(req, res) {const { username, passwd } req.query;console.log(user…

TCP和UDP的優缺點及區別

轉自&#xff1a;http://www.cnblogs.com/xiaomayizoe/p/5258754.html TCP的優點&#xff1a; 可靠&#xff0c;穩定 TCP的可靠體現在TCP在傳遞數據之前&#xff0c;會有三次握手來建立連接&#xff0c;而且在數據傳遞時&#xff0c;有確認、窗口、重傳、擁塞控制機制&#xff…

e.getMessage 為空NULL

e.getMessage 為空NULL 在日常代碼中免不了要try catch 切忌用try catch 去try 整個方法。 在對象操作之前盡量寫上if 空判斷。 反例&#xff1a; public void send(){ try{ 代碼1&#xff1a;獲取對象 代碼2&#xff1a;操作代碼1 代碼3&#xff1a;操作代碼2 代碼4&#xff1…