• 结对项目之需求分析与原型设计


    031402402 曹鑫杰
    031402428 鄢继仁

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

    一、需求分析------(NABCD模型)

    N(Need,需求)

    • 信息收集繁琐:系负责人下发导师候选名单,每个学生填报完提交给年级负责人,再汇总发给系负责 人,过程繁琐。
    • 学生获取信息有限:学生了解导师具体信息的渠道有限,给填报志愿造成了困扰。
    • 导师无法选择学生:导师往往只能被动分配到学生,对学生的期望人数也各不相同。
    • 分配结果可能不理想:系负责人通过一种复杂而说不清道不明的人工排序和安排算法,统一给每个学生分配导师,结果可能不理想。

    A(Approach,做法)

    我们觉得采用APP的方式来实现。

    • 同学使用学号注册登录,查看导师信息,填写5个梯度志愿的导师。
    • 老师使用相应的账号登陆,填写自己期望的学生人数区间,查看填报了自己的学生的信息以及完成选择
    • 最后再由后台完成分配。

    B(Benefit,好处)

    • 省去了人工收集信息的过程。
    • 学生更方便了解导师课题选择和研究方向。
    • 导师可以了解学生,设定期望的学生人数。
    • 学生和老师能双向选择,兼顾了双方的意愿。
      C(Competitors,竞争)
    • 优势:app端方便灵活,后期可以增加更多功能,本身还可作为一个版块附在其他app上。
    • 劣势:需要下载,且使用一次后就没用了。

    D(Delivery,推广)

    • 课附在其他APP上(福大教务通、福大易班),作为一小个功能。

     
     


    原型设计

    通过NABCD方法分析后,我们做出如下原型:

    1、原型设计工具:Mockplus
    2、Mackdown工具:stack editor

    登录界面分为学生和老师。

    学生端主页,填报5个梯度志愿

    学生可查看导师信息

    设置界面,消息通知可推送中选,留言等消息

    教师端主页,可查看填报自己的学生

    教师可查看学生具体信息,可以主动选择学生(但不是最终结果)

    教师可设置自己希望的学生人数区间(默认0-8)

    最后结果由后台分配,具体过程如下
    1.第一次分配,为互相选中的情况。针对多个老师选择同一个学生,按学生梯度志愿优先分配。老师只能选择填报志愿为自己的学生,所以不会产生冲突;同时也因为老师选择学生时有人数限制(自己设定的学生人数),所以也不会存在老师所收学生超过上限。
    2.第二次分配,剩下学生都为没有老师选择他的情况。先视所有学生的志愿为平行志愿,对于每个人数未满的老师,将选择他的学生按绩点降序排序,绩点高的优先分配。如果产生一个学生可以分配给多个老师的情况,再按照学生自己的梯度志愿优先分配。
    3.第三次分配,不考虑老师设定的人数上限,尽可能平均的分配剩下的学生给各个老师。


    ###效能分析 ![](http://images2015.cnblogs.com/blog/1022672/201609/1022672-20160918211501010-406035469.png)

    断断续续花费了将近10个小时,效率略低。

    PSP

    PSP
    计划 估计这个任务需要4周的时间
    开发
    需求分析:简化信息收集和整理;实现老师学生双向选择
    生成设计文档:博客 pdf
    设计复审:先确定必要功能,再逐步细化讨论各个细节
    代码规范:花括号换行、缩进4个空格、变量尽量名词化、条例清楚、写好注释
    具体设计:界面设计,算法设计,数据库设计等
    具体编码:Java
    代码复审:结对编程时,一人编程,另一人复审
    测试:黑白盒
    记录用时 课余时间,四周左右
    测试报告 边做边测试,根据黑白盒测试写测试报告
    计算工作量 两人*4周
    事后总结 边做边总结,将开发过程中所遇问题和解决方法记录下来
    过程改进计划

    **小结:**

    通过阅读《构建之法》,明白项目开发过程中,每个人的重点工作不相同,不可随意替换,书中用足球赛形象比喻了这一过程。正是因为这样,软件工程实现困难且常常延期。在开发过程中,需要多沟通,在结对编程中,仅仅两个人就有许多分歧,一定要先解决分歧再往下,不然常常导致中途返回重新讨论。比如对于后台互选算法,我们当时产生了分歧,导致后来原型设计的时候各个功能不断出现冲突。完成这次作业感触挺多的,发现软件工程不编码的部分要比编码的复杂得多了,今后还要多多努力。

    PDF:https://files.cnblogs.com/files/Shepard-y/结对项目之需求分析与原型设计.pdf

  • 相关阅读:
    windows 7鼠标右键另存为没有桌面选项
    我心目中的Asp.net核心对象
    谈谈C# 4.0新特性“缺省参数”的实现
    C#正则表达式
    Request[]与Request.Params[]
    智力题
    SQL Server类型与C#类型对应关系
    UPdatepanel 的 优点 缺点
    细说 Request[]与Request.Params[]
    display:block 前后会换行
  • 原文地址:https://www.cnblogs.com/cccddd/p/5883202.html
Copyright © 2020-2023  润新知