软工网络15团队作业3——需求分析与设计

时间:2021-04-16 16:53:48

Deadline:

2018-4-15 10:00PM,以提交至班级博客时间为准。
根据以下要求,写一篇随笔,并完成《需求规格说明书》


需求分析

软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。

  1. 访问软件项目的真实用户(至少10个),确保软件真正体现用户的需求,为软件最终可用奠定基础。
  2. 参考《软件需求规格说明书》国标规范文本,撰写对应项目的软件需求规格说明书。提供《需求规格说明书》的Git链接。
    • 除形式上满足规范文本要求外,整体内容必须围绕项目实质展开,对所要开发的项目确保尽力做到清晰完整准确。
    • 使用一致的图形符号和文字描述内容。
    • 所有的缩写须事先定义。
    • 需要有一个目录,word排版样式规范美观,图文并茂,通篇文档有一个统一的样式风格。
    • 将自己置于读者的立场——如果对软件项目不熟悉的人员,通过阅读这份文档,能否完全读懂软件要做什么。
  3. NABCD 写作,视频
    • 请同学们把自己项目的NABCD 都写出来。
    • 列成详细的条目,用具体的事实和分析说明。
    • 请分析自己项目的杀手功能是什么?参考教材的第8章:功能分析的四个象限
    • 把这些要点都组合成为一段话 -- 当你要向别人兜售你的项目的时候, 你通常只有很短的时间 (电梯演说),能否自然而有条理地把项目说清楚? 请用你产品中实际的元素代替 <> 中的抽象概念。
         各位领导/投资人/用户/合作伙伴:我们的产品 <foo> 是为了解决 <目标用户> 的痛苦, 他们需要 <Need>,但是现有的方案并没有很好地解决这些需求,我们有独特的办法 <Approach>,它能给用户带来好处 <Benefit>,远远超过目前市场上的竞争对手 <Competitor>。 同时,我们有高效率的 <Delivery> 方法,能很快地让大部分用户知道我们的产品,并进一步传播。
      [附加题]把上面的这段话录制为视频,上传到视频网站,并把链接发到团队博客上。
  4. 团队协作,加强分工,需要描述每个成员的具体分工及占整个文档任务的工作量比例。

参考

原型设计

原型设计能够在表现层将设计合成一个逻辑整体,用户能和你一起看到未来交互的软件蓝图、功能和效果,获得较真实的感受,在不断讨论的基础上完善未来的设计思想。因此,原型设计能起到有效沟通的作用,漂亮,直观的原型图更是让人赏心悦目。

  1. 不要等到所有代码写好之后再去验证需求,请用设计工具描述用户界面和需求。
  2. 原型设计不仅要考虑主要功能的页面排布,同时也要考虑用户实际操作中的问题,提前为用户考虑得当并征求用户意见
  3. 系统是必须可运行的,可实际使用的——请抱着这样的同理心去考虑系统。
  4. 给目标用户展现原型,与目标用户进一步沟通理解需求。

原型工具参考

如果是设计原型,采用专门的原型设计工具,能够事半功倍,工具参考:

作业参考

原型设计界面简洁,用户体验极佳。分工比例部分的泳道图十分清楚地展示了各个同学的工作任务,Github上数十次Commit也展示了他们和谐的团队协作。

任务分解WBS

一个团队项目要在一段时间内完成诸多任务,满足用户需求,实现团队目标,从哪里入手?
WBS(Work Breakdown Structure)即工作分解结构,是根据项目目标把工作分解成许多层次分明的、可交付成果的工作任务,然后用逻辑图形或树形结构表示出来。

  1. 请给出团队项目的WBS;
  2. 团队成员估计各自任务所需时间
  3. 参考:http://www.cnblogs.com/zhengrui0452/p/6653964.html

编码规范

根据结对编程的经验,大家已经意识到编码规范的重要性。
讨论制定团队的编码规范,满足代码风格规范和代码设计规范(参考书第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html

系统设计

在设计阶段,我们要清楚:软件是怎么解决这些需求的?
一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。

  1. 如何才能最大限度地实现这些需求,这就是架构设计要解决的问题。请给出系统的架构设计
  2. 完成团队项目的数据库设计,并在随笔中提供相应ER图(如果必要)

参考


评分基准

  • 按时交 - 有分(详细评分细则见下表)
  • 晚交 - 0分
  • 迟交两周以上 - 倒扣本次作业分数
  • 抄袭 - 倒扣本次作业分数
  • 如对分数有意见,只给一次向助教申诉的机会
评分内容 评分项 分值 备注
需求分析 访问用户 5 + 5 (i)如果是原有项目需要在博客中展示采访文档,需要有每位用户的采访反馈,不少于10人(ii)如果是新项目需要给出用户调研的证据,如调查问卷需要给出问卷链接和统计结果,不少于10人,基础分5分,有照片或视频显示了用户调研过程的可以再加5分!
给出需求规格说明书的git链接 10 a-e每项2分
给出项目的NABCD 10 要有具体的事实和分析,每条2分
给出项目的杀手功能 2
将NABCD要点组织成一段话 5
附加题 把上面的这段话录制为视频,上传到视频网站,并把链接发到团队博客上 5
原型设计 请用设计工具描述用户界面和需求 10 在博客上给出原型设计的结果和原型设计用到的工具,需要图文并茂
任务分解WBS 给出团队项目的WBS 5
团队成员估计各自任务所需时间 3
编码规范 制定团队的编码规范,给出Git链接 5 满足代码风格规范和代码设计规范
系统设计 给出系统的架构设计 5
完成团队项目的数据库设计,并在随笔中提供相应ER图 5 如果所选项目不需要涉及数据库那么不需要做这一项,但是要给出不需要数据库的支持理由
其他 排版 3
评论区回复 [-5, 5]
团队的分工 5
成员的完成情况 2
个人的感受 10