结对名单:031402224 彭巍 031402233 郑扬涛

一、一个老师的迫切需求――选择和分配毕设导师之烦恼

选择和分配本科毕设导师的现状:
系负责人下发导师候选名单(excel或word形式)给该方向的所有学生,每个学生报五个平行志愿提交给年级负责人,年级方向负责人在某个截止时间点之前负责汇总该方向所有学生的填报志愿,发给系负责人。系负责人通过一种复杂而说不清道不明的人工排序和安排算法,统一给每个学生分配导师。人工分配的规则现有这些:
1.每个学生最终必须被分配到有且仅有一个导师;
2.每个老师最多带不超过8个学生;
3.某些热门老师受大多数学生共同选择而溢出时,考虑学生绩点优先;
4.每个老师分配的学生数尽可能平均;除非老师主动向系负责人声明自己带的学生数希望是0――8中的某个数值或某个区间,那么尽可能满足老师的需求;
5.在最后情况下,某些同学可能被分配到非他五个志愿的老师。 这样的情况希望越少越好。
现状的困扰是:流程很传统复杂繁琐不透明。过程也很繁琐,年级负责人手动收集汇总,系负责人手动分发调整。老师只有被动分配到学生。大多学生也只能被动分配到老师。每个老师对于期望的学生数不同,不能做到满足各自心愿。学生也不太了解老师的课题选择和研究方向。稀里糊涂,不可言说,就分完了,为后续毕设的指导留下很多困扰和隐患。

二、需求分析(NABCD模型)


1、N(Need,需求)

1、信息收集与发放流程复杂。系负责人需要将导师名单手动下发至学生,然后学生提交的志愿要人工逐级向上汇总。为了简化流程,提高信息化程度,最好可以有一套系统能够代替人工操作。
2、导师的主动权不大。导师只能被动的分配到学生。如果今年导师由于某些原因不能带太多的学生,而系里又强制分配一定数量的学生,则造成不必要的困扰。因此,导师在该系统中需要有一定的主动权,比如可以声明自己所带的学生数,能够主动选择学生等。
3、学生与导师之间相互不了解。如果导师在之前是有给自己上过课的,那么还好说,但是也有相当多的导师是第一次接触,完全不了解。导师对学生也存在相同的情况。因此,在系统中学生与导师之间应该能相互查看个人信息,学生简历,教师研究方向,联系方式等等(来源于教务处和学院提供的信息)。
4、分配方式、流程、结果不透明。“系负责人通过一种复杂而说不清道不明的人工排序和安排算法,统一给每个学生分配导师”,会不会给人一种钦定的感觉...因此,需要将分配流程透明化,同时分配结束后结果需要进行公示。


2、A(Approach,做法)

我们选择开发APP客户端,用户是学生和老师,用户是直接生成不用注册,类似教务处,账号是学号/工号,密码是身份证后六位。主要思路类似教务处选课,学生先在某段时间填写志愿(没到截止日期可以修改),然后老师选择学生,最后若是还有学生没有分配到导师可以用以前的算法进行分配。

学生模块的功能:
1.学生可以查看有哪些导师(可以分类查看),及其个人信息,并选择。
2.可以查看自己选了哪些导师并退选(在截止日期前)。
3.若被某个导师选中则会收到提示消息。
4.编辑个人信息。

老师模块功能:
1.导师可以查看选择自己的学生及其个人信息,并选择。
2.可以查看自己选中了哪些学生。
3.编辑个人信息。


3、B(Benefit,好处)

1、信息分发与收集实现信息化。学生登录系统后,能够查看各个方向导师的信息,填报志愿只需要在APP中勾选即可。无需进行Excel的汇总,减少时间成本和出错几率。
2、提高导师选择的主动权。导师能够在个人信息中编辑期望的学生数。同时可以查看有哪些学生选了自己,再根据学生的其他信息可以决定是否选择该学生。
3、实现导师方向的分类索引。学生可以根据自己的兴趣,很方便地选择适合自己的方向,了解到该方向有哪些导师在做研究。
4、促进师生之间的了解。在列表中可以很方便地查看学生或者导师的信息。


4、C(Competitors,竞争)

各个学校每年都会有学生面临导师分配的问题,因此导师分配系统的需求空间还挺大的。

我们的优势:
1、移动端APP操作简单方便。
2、实现导师方向的分类索引。
3、学生与导师获取信息便利。

我们的劣势:
1、APP用户粘性不强,本科四年只用一次,用完就卸载了。
2、未提供评价导师功能,无法查看他人对该导师的看法。
3、用户交互、UI等有待改进。


5、D(Delivery,推广)

推广的话,可以先安利给数计学院下一届的学弟学妹试用,有了一定的用户基础后,再不断完善界面、功能,然后逐步推广到全校。

三、原型设计

原型模型设计工具:MockingBot(墨刀)

推荐扫描下方二维码进行在线体验原型 或 点击我 进行跳转:

登录模块

Figure 1. 登录界面

学生模块

1.学生可以查看有哪些导师(可以分类查看),及其个人信息,并选择。

Figure 2. 导师列表                             Figure 3. 选择导师                             Figure 4. 已选择后
Figure 5. 导师详情                             Figure 6. 分类索引

2.可以查看自己选了哪些导师并退选(在截止日期前)。

Figure 7. 志愿列表                             Figure 8. 退选志愿                             Figure 9. 已退选后

3.若被某个导师选中则会收到提示消息。


Figure 10. 消息界面

4.编辑个人信息。


Figure 11. 个人信息

导师模块

1.导师可以查看选择自己的学生及其个人信息,并选择。

Figure 12. 学生列表                             Figure 13. 学生信息
Figure 14. 选择学生                             Figure 15. 已选择后

2.可以查看自己选中了哪些学生。


Figure 16. 中选学生

3.编辑个人信息。


Figure 17. 教师信息

结对交流过程


Figure 18. 讨论原型草稿

Figure 19. 设计登录界面

Figure 20. 设计学生首页

四、效能分析和PSP表格

效能分析

流程 花费时间
需求分析(画原型草稿) 45min
熟悉原型工具 40min
开发原型 3.5h
改进完善 35min
文档(博客) 3h

PSP表格

PSP Personal Software Process Stages 计划时间
Planning 计划 45天
Estimate 估计这个任务需要多少时间 45天
Development 开发 30天
Analysis 需求分析 3天
Design Spec 生成设计文档 1天
Design Review 设计复审 1天
Coding Standard 代码规范 1天
Design 具体设计 3天
Coding 具体编码 30天
Code Review 代码复审 3天
Test 测试 7天
Reporting 报告 1天
Test Report 测试报告 1天
Size Measurement 计算工作量 1天
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 1天

五、小结

阅读完构建之法的相关内容后才意识到一个程序员要关注的事情不仅仅只有编码、测试,用户的需求和体验同样重要。之前没画过原型图,画的过程中才发现把需求变成功能是要考虑很多细节,还要考虑实现的可行性。学习完NABCD模型之后,对需求分析有了初步的了解,并在此次的结对编程中进行了实践。在这次实践中学到了很多的知识,更重要的是我们知道了一个程序员该如何评估发展自己。

六、附件

本次博客的PDF版:点击查看

转载于:https://www.cnblogs.com/vvxyz/p/5882995.html

结对项目之需求分析与原型设计相关推荐

  1. 第六次作业:结对项目之需求分析与原型设计

    结对成员:3018.3019 结对设计过程 调查问卷结果 问题一:遇到困难时,您常到哪个网站寻找解决问题的方法?(选择题) 问题二:除了第一题提到的网站外,您还听过或者使用过其他网站解决问题嘛?请举例 ...

  2. 结对项目之需求分析与原型设计(导师选择)

    成员 031402330 吴宇轩 031402327 肖承志 项目名称:选择和分配本科毕设导师 项目来源: 大四的学生需要进行本科毕业设计,每个学生都会被分配到一个导师进行毕设指导,而每个导师的时间精 ...

  3. 结对项目之需求分析与原型设计(选择和分配本科毕设导师)

    成员 031402330 吴宇轩 031402327 肖承志 项目名称:选择和分配本科毕设导师 项目来源: 大四的学生需要进行本科毕业设计,每个学生都会被分配到一个导师进行毕设指导,而每个导师的时间精 ...

  4. 第二次作业——结对项目之需求分析与原型设计

    031402606 贺翎 031402340 牛妍辉 一.又一个老师的迫切需求--- 选择和分配本科毕设导师之烦恼 首先,让我们一起来看一下客户的现实困扰系负责人下发导师候选名单(excel或word ...

  5. 结队项目之需求分析与原型设计

    结队项目之需求分析与原型设计 结对者:3011 卢凯欣    3034 戚景晓 一.需求分析(NABCD模型) 1.N(Need,需求) 游戏玩家可以以游客的身份游览游戏界面. 玩家可以注册登录,在玩 ...

  6. 结对项目之需求分析与原型模型设计

    任课计划系统需求分析 结对人员:031302513 .031302523 阅读<构件之法>,大致了解了NABCD模型的大致过程: 即N(Need需求),A(Approach做法),B(Be ...

  7. 结对作业之需求分析与原型设计

    1.结对成员:苏咏梅(3025).王纯(3020) 2.项目:Crazy在线英语学习 3.需求分析(NABCD模型) N(Need,需求):了解用户需求. 作为国际通用语言---英语,在很多重要场合上 ...

  8. 【作业二】结对项目之需求分析与原型模型设计

    031302517 031302319 一.一个老师的迫切需求--开课报课之繁琐 首先,先来看下客户的现实困扰: 开课计划书以群发邮件的形式发给所有老师.每个老师收到邮件后,在规定的截止时间之前,要将 ...

  9. 03.福大本科生毕设导师双向选择系统_需求分析和原型设计

    031402508 洪佳铭 031402516 黄瑞钰 需求分析和原型设计pdf 一.需求分析 1.N(Need,需求) 分配过程繁琐:以往都是通过系负责人对各班收集来的信息进行汇总,再通过某种复杂的 ...

最新文章

  1. 2022-2028年中国煤制甲醇产业投资分析及前景预测报告
  2. 如何让AI机器人的对话更加自然?
  3. 【noi 2.5_8465】马走日(dfs)
  4. 哔哩哔哩服务器在哪个文件夹,哔哩哔哩缓存在哪个文件夹 具体操作步骤
  5. 蓝书4.1-4.4 树状数组、RMQ问题、线段树、倍增求LCA
  6. 关于文字邮件日文乱码的问题
  7. Ubuntu12.04安装中文字体,解决导出图片乱码
  8. python笔记之函数参数(缺省参数,命名参数,不定长参数)
  9. python调用ansysworkbench_Workbench通过Python设定材料参数
  10. 为什么用jdbc插入数据为空_为什么气象数据推荐用 ModelWhale 处理
  11. 第一节 如何用Go实现单链表
  12. 怎样快速学习shell语言
  13. vs2017官方下载路径
  14. 微信小程序:强大的多功能图片处理器
  15. 投影仪融合、拼接处理系统
  16. 为什么说期货交易者依靠程序化交易系统接口才能获得成功
  17. 构建Lua解释器Part8:构建完整的语法分析器(下)
  18. java全栈系列之JavaSE--数组的使用025
  19. javascript 编码转换
  20. android 浏览器 useragent,各种浏览器UserAgent一览表(桌面+移动)

热门文章

  1. Cesium源码编译过程
  2. 给CenOS7虚拟机扩容
  3. photoshop切片的取消操作
  4. 10张Gif动图让你弄懂递归等概念
  5. Spring Cloud Kubernetes容器化实践
  6. Mysql:增加用户和密码,赋予权限
  7. 框架:Spring的自动装配
  8. python里的os模块_python中os模块再回顾
  9. matlab程序崩溃怎么解决,跪求matlab达人帮我看看程序,我实在是要崩溃了......
  10. 弱电工程数据中心计算机房内布线