福州大学软件工程实践结对编程作业(需求分析与原型设计)
这个作业属于哪个课程 | 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模型进行简单的软件需求分析
- 两人结对,省力不少,哈哈哈哈(抱住了大佬的大腿)
- 原型的可视化,可以促进甲乙双方的沟通
- 设计较为容易,实现的话,估计难