福州大学软件工程实践结对编程作业(需求分析与原型设计)

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2020
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2020/homework/11224
这个作业的目标 学用NABCD模型进行需求分析、软件原型的设计、团队协作配合
学号 031802642 、031802343

时间预算

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 100 100
Estimate 估计这个任务需要多少时间 600 600
Development 开发
Analysis 需求分析 (包括学习新技术) 100 100
Design Spec 生成设计文档 100 100
Design Review 设计复审 60 60
Coding Standard 代码规范 (为目前的开发制定合适的规范)
Design 具体设计 500 500
Coding 具体编码
Code Review 代码复审 0 0
Test 测试(自我测试,修改代码,提交修改) 50 50
Reporting 报告 30 30
Test Report 测试报告
Size Measurement 计算工作量 60 60
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 60
合计 1000 1000

1 问题重述

1.1客户现实困扰

学长学姐去哪儿——了解实验室或社团历史上的那些学长学姐们的去向和现状
了解实验室学长们去向的现状:
除了实验室群里长期潜水或偶尔冒泡的学长、导师口中的零星去向、临近的学长,似乎就无法了解了。
好久以前的没见过的学长们,去了哪里。这不仅仅是?是否?选择这个实验室的依据之一,还是今后找工作的内推的重要支柱。
可惜现状就不是很明确和了解,知晓的渠道也很有限。
学长们其实也很想了解学弟们现在在做什么研究,有没有什么擅长的技能,比如会某个研究方向
或数学建模技能的,也很希望能帮忙协助内推,比如这位学长,就只能给我发消息,也无法有效传递
另外,建一个实验室群,也不是很方便,因为在群里,你也不好意思经常问:学长们,你们在哪啊。
甚至,等你工作了,和你同一个公司或一个组的同事,可能就是实验室同门,你们都相见不相识,多遗憾。

1.2具体问题

请你和对友设计一套信息化的解决方案,兼顾实用性、有效性、安全性、隐私性、封闭性。
可以是一个软件、APP或小程序,不仅仅包含主要界面和功能的原型,
还需要描述不同角色用户,如何注册、添加、删除、认证加入等,从使用频率、使用便利度
使用有效性等角度出发,考虑如何维护该系统,如何确保安全性、隐私性、时效性和相对封闭性等,
可以是软件化的方式实现上述特点,也可以依赖流程制度实现上述特性。但无论哪一种,都需要你们通过原型图、流程图、文字化方案来描述。
清晰呈现一套也许你们也需要、客户也需要的完美的解决方案。

2 问题分析

基于NABCD模型

  • N (Need,需求)

    • 了解实验室或社团历史上的那些学长学姐们的去向和现状。
    • 当代社会,信息日新月异,每个由于没有专门的app联系不同级之间的成员,导致学长学姐想了解学弟学妹以及帮助内推等,成为一个问题。
  • A (Approach,做法)

    • 设计专门的学长学姐去哪儿app,构建实验室社区。
    • 首先,通过用户注册,进行一定的信息采集,并给用户提供一定数量的勾选标签,如兴趣爱好,研究方向等等;
    • 之后,生成个人用户界面,在此,可以对个人信息进行完善,考虑到以人为本的原则,用户可以设置相应隐藏选项;
    • 接着,以实验室导师为核心,构造人际关系网,提供不同成员之间的聊天窗口,以及相应寻找相关成员的搜索功能;
    • 最后,构造社区页面,在这里,任意成员可以分享随笔博客、提出相关学术问题亦或者近期内推消息,
    • 并且系统会根据用户兴趣与技术,进行每日推送,推送点赞数较高的博客以及用户兴趣的竞赛、期刊、论文等信息。
  • B (Benefit,好处)

    • 不同用户通过简单操作,不仅可以获取自己的需求,更可以将该app变科研学习生活的利器。
    • 一方面扩展知识,另一方面扩展人际圈,寻找志同道合的好友。
    • 对于学弟学妹:展示自己,获取内推信息,先人一步
    • 对于学长学姐:更好地了解学弟学妹,寻找能力强的后浪
    • 对于导师:获取学生的最新消息,加强师生交流,更好的管理实验室
  • C (Competition,竞争)

    • 优势:整合实验室资源,将用户的科研、学习、生活联系起来,构造社区,满足用户需求。
    • 劣势:社区需要一定的积累,也需要相关科研平台的支持。软件与数据库之间需要兼容。
  • D (Delivery,推广)

    • 将该app指定为实验室专用app,每个人都用起来,加入实验室就得注册,那么用户量就上来了
    • 将app推广给学生,布置相关作业,积累用户量
    • 待app成熟后,在不同高校之间宣传,最终成为一个大的社区

3 原型模型的建立

以下模型均基于墨刀

3.1注册及用户展示界面

3.1.1注册页面及登录页面

考虑到注册页面的简洁,我们只考虑了以下选项,并强制要求实名注册并使用注册通行码(使用之后则会之间加入该实验室的社区以及群聊)。
在注册页面之后,将跳出勾选菜单。
菜单内容包括:兴趣,技能,需求等,用户可在提供的选项中进行勾选,亦可以自定义选项。原型如下:

3.1.2个人页面

在注册之后,将形成个人页面。此页面从上到下依次为头像框、兴趣标签、个人信息、个人社区动态。
用户可根据需求,自行更改页面设置。原型如下:

任意时刻点开一个人的头像,便会显示所点之人的个人页面。

3.2app内容

通过注册以及个人信息的设置,我们正式进入app。app页面分为三块:社区动态、消息、个人设置。原型如下:

接下来,我们将按照从左到右的顺序依次介绍app的内容

3.2.1社区动态

在该页面中,我们将根据用户的兴趣及需求推送相关文章(后台通过用户标签及日常浏览记录智能推送)。
其中包括:招聘启事、内推、竞赛通知、优质论文、问答博客、个人随笔等。
并且用户可根据自己的需求检索相应信息,并进行信息的筛选或查看他人展示的信息。原型如下:

3.2.2消息页面

消息页面显示当前用户与联系人之间的聊天页面以及实验室的群聊。

在该页面的右上角有两项功能:联系人以及搜索
1.联系人
该页面包括导师、学长学姐、学弟学妹、以及非本实验室的其他好友。原型如下:

2.搜索
通过该项功能,可以通过app账号、姓名、电话等信息检索一个人。
或者可以通过标签信息,模糊搜索多个人,当搜索多人时,将按照个人的影响力进行排序。
影响力由个人发送动态的质量以及技能的高低进行评定,由系统自动生成。原型如下:

3.2.3个人设置页面

用户通过该页面可进行各项设置。包括头像,个人信息,个性设置等。原型如下:

我们介绍隐私设置一栏。通过该功能,用户可设置个人哪些信息是公开的,哪些信息是私密的,亦或者是仅实验室成员可见。

3.3补充功能

我们考虑到用户可能会丢失密码,故我们添加找回密码的功能,原型如下:

3.4功能细节

细节1

当生成个人页面时,会生成个人标签。用户可自行添加或删除。
系统进行搜索时,将会利用这些标签信息

细节2

系统会按时向用户推送,论文截稿日期、竞赛日期等实时消息

细节3

当用户在进行模糊搜索相关人员时,将会出现多人。系统会按照技能熟练度,将用户进行排序
红色代表熟练、黄色代表一般、绿色代表较差

4 功能简述

  • 导师: 可利用该app,实现以下功能

    • 定期推送优质论文,以及各项重要信息,包括截稿日期,竞赛日期等等
    • 方便联系各个成员,包括当前的学生以及以前的学生
    • 了解各个成员的当前动态
    • 通过社区的分享,展示实验室的成果
    • 设置实验室成果的隐藏与分享
  • 成员: 成员可利用该app,实现以下功能

    • 发表个人需求,求职、内推等
    • 展示个人技能
    • 方便联系导师、学长学姐、学弟学妹
    • 了解实验室其他人
    • 及时清楚各项事务的ddl

5 app功能流程图

6 结对照片

7 github提交记录

7 总结体会

  • 学会了墨刀进行简单原型的设计
  • 学会用NABCD模型进行简单的软件需求分析
  • 两人结对,省力不少,哈哈哈哈(抱住了大佬的大腿)
  • 原型的可视化,可以促进甲乙双方的沟通
  • 设计较为容易,实现的话,估计难
posted @ 2020-09-29 02:13  郑孙健  阅读(252)  评论(3编辑  收藏  举报