这种管理系统应该是每个毕设答辩中老师最讨厌的类型了,但我觉得这并不意味着这是一个完全体现不出技术含量的题目(除非你是完全抄的或者就是买的),相反这是一个”五脏俱全“的问题,你要做的是更具体、更能满足实际的需求 。
好,到目前为止,我们已经解决了一个看似无从下手的问题,描述了将要使用它的用户,并从这种系统中了解了他们的基本需求(或期望) 。那么是什么方法帮助我们解决的问题呢——带入角色 。
这就好比是您听相声的时候,常常听到的是我(于谦)父母的故事,这代入感一下子就让您想象到并沉浸在故事当中了 。做一名产品经理也是需要有这种能力的,当带入到使用者的角色时,你将会把这个角色与实际生活联系起来,紧接着你就会开始思考“我”要的是在什么场景下的什么东西 。
因此同理心or带入感是成为一个优秀的产品经理所必须的 。
这个时候基本的技术基础又该上场了,我们需要把用户的需求转化为技术需求:主要是在pc web端、基于某个简单易用的框架、敏捷开发、可能需要手机端小程序(另外加钱)、做好数据冗余备份、代码要向后兼容等等 。
可能具体的需求还需要与各个老师与学生认真沟通和交流,最后得出一份完整的需求分析文档 。
接下来就要开始动手推进项目了 。另一个问题随之而来–确定功能开发的优先顺序 。
我们可以把定制化作为程序的核心亮点,那么我们应该上来就开始实现那些这个实验室单独需求的功能么?或者说一个相声演员上来就该练他的成名节目么?我想不是的,至少我是从贯口学起的,我可没上来就”抽烟、喝酒、烫头“ 。
我们要从整个程序的基础,也就是那些最基本的功能开始入手 。
也就是说我们现在有了一个基本的mvc架构下的程序,用户与视图交互,控制器控制视图的跳转以及数据的处理,再通过模型与数据库 。
文章插图
视角再放大一点,用户在浏览器上操作,如果不涉及太多细节,查询将转到该服务的服务器,服务器根据相应的请求做出处理,并且调用数据库中的数据并做出相关操作 。最后服务器把处理后的结果返回到客户端并呈现在浏览器上 。
文章插图
至此,我们有了一个基本的管理系统,可供少数人使用 。接下来我们将着眼于定制化的需求和可扩展和兼容性的开发上来 。到目前为止,我使用的技术术语非常有限 。更多的是概念性的 。让我们看看是否可以保持这种方式到最后 。
假设你调研时发现,以往老师组织手底下学生开会总会遇到,不同学院的学生时间冲突的问题 。那么你的程序是不是可以根据实验室学生的课程表,计算出每周可以大家一块开会的时间 。
接着这个思路往下想,学生的课程表信息如何获得?学生自己填写么?可不可以通过识别校园卡,自动从教务系统里读出他的课程表,是不是其他的基本信息也可以一并读出 。省的学生新注册时磨磨唧唧自己要填写一大堆了 。
或者说,你发现以往老师报销经费,总是各种出问题,流程繁琐,能不能优化一下流程,绝大部分放在线上,等线上审批合格了,再去财务那盖章签字等等 。
我们可以暂时脱离一下这个实际问题,想一点更通用的 。如果这个程序获得了很高的认可,并开始推广起来,用户数量开始指数级递增,一台服务器能够处理负载吗?可能不够 。
就好像德云社从天桥剧场开始,当我们越来越出名时是不是要考虑更多更大的场馆了 。北京的北展,上海的梅赛德斯 看上去都是个不错的选择 。
- 库因芝有着怎样的绘画风格?他师承何人
- 有关于三教九流的版本有多少这些版本分别是什么样的
- 近代中国的简化字与繁体字之争,中国文盲率大幅下降
- 籍里柯一生创作了多少幅作品?他是怎么死的
- 秦皇汉武找了一辈子的东西,被村民捡到
- 忽必烈为何不能阻止蒙古帝国的分裂?最主要的原因是什么
- 贝德里赫middo;斯美塔那是怎样一个人?关于他的评价是怎样的
- 清朝举人的权力到底有多大为什么范进能疯掉呢
- 新自由主义的起源是什么?是怎样进一步发展的
- 叶浅予与罗彩云:覆水难收的婚恋悲剧