V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cool4zbl
V2EX  ›  程序员

「请教」急需帮助的在线考试系统的设计与开发毕设

  •  
  •   cool4zbl · 2014-10-23 14:46:33 +08:00 · 4555 次点击
    这是一个创建于 3474 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是这样的,楼主正在努力自学前端技术,准备找工作。
    本科学的电子信息工程,但是相比互联网的话,对电子这块兴趣不大,所以毕设选了这么个奇葩题——
    「XX课程在线考试系统的设计与开发」。
    老师的要求:
    1. 设计并开发出一套电路分析基础课程考试系统,要求集练习、测试自动化于一体。
    2. 具有教学题库管理、考题自动生成、在线测试、自动化评分、成绩登记等功能。
    感觉很全端的样子。其实是学校那个课程组想更新他们的在线测评,顺便出了这么个题目,我看和我想找的工作挺接近的,可以认真做做增长经验。当然,和四年学的一毛钱关系都没有。
    因为那些老师也是搞电子的,自己对这个也不是很懂,所以我只能自己努力,来V2EX上请教了。

    楼主现在只懂HTML&CSS, JavaScript算是熟悉,但是还在努力深入学习中。因为自己搭过网站,算是了解Nginx的服务器端配置。数据库也不太懂,但是老师指明了一定要用数据库,因为要导入他们课程的考试题库。
    打算前端就使用 jQuery + Bootstrap,但是后端不太懂。
    所以想请教各位大神:
    1. 这个在线考试系统如何架构? 可以把它做成一个Web App吗?
    2. 在网上搜了下「在线考试系统」,一般都是很丑陋的界面,然后用的ASP.NET,或者JSP开发。
    因为用的OS X系统,不太想接触.NET和JSP。所以我可以用Node.js写后端吗?或者推荐某些Python框架?对Python的学习还是不排斥的。 实在不行就只能从零开始学PHP了。
    3. 数据库是使用MySQL还是现在有点火的MongoDB Redis?哪个比较好上手?
    4. 比较喜欢现在的新鲜的开源框架。但是最好还是要兼容到IE7。

    总之就是不使用ASP.NET、JSP和PHP,只用JS、Python以及数据库来开发这个在线考试系统难度大吗?有可行度吗?
    大概有半年的时间做这个东西,还是挺想自己认真把它做出来的。

    请各位指点,感激不尽。
    43 条回复    2014-10-24 10:55:05 +08:00
    cool4zbl
        1
    cool4zbl  
    OP
       2014-10-23 15:11:30 +08:00
    是我写的太多太啰嗦了吗?
    大家能不能给点建议?
    panlilu
        2
    panlilu  
       2014-10-23 15:23:22 +08:00   ❤️ 1
    1.想做成 Web App 最好借助一些js框架,比如 Angular、backbone 之类的。如果是这样架构就是后端提供 Api 前端 Ajax 调用,然后后端调用数据库。根据你的需求,采用 Node+MongoDB 是比较符合的。
    2.当然可以用 Node.js,Python 也很好当然其实你学习能力还可以的话应该试试 ruby。
    3.生产环境应该用 Mysql。不过你既然是做着当毕设的没有 SQL 基础从学习难度上说应该用 MongoDB。
    4.兼容 IE7?Bootstrap 都有点呛啊=、=
    vilison
        3
    vilison  
       2014-10-23 15:25:49 +08:00
    用js、python 都不错,至于难度吧,看个人能力了,这两个写还是挺爽的
    cool4zbl
        4
    cool4zbl  
    OP
       2014-10-23 16:01:40 +08:00
    @panlilu 感谢回复。
    感觉还是给自己挖了个坑哇。
    Angular backbone都是好大的库 o(╯□╰)o。
    可能差不多就是后端搭个框架然后提供API,然后调用数据库。
    为什么建议试试Ruby呢?更适合这个项目?
    其实这个系统能开发好最终还是要上线的,不过我还是先试试MongoDB吧。
    cool4zbl
        5
    cool4zbl  
    OP
       2014-10-23 16:04:04 +08:00
    @panlilu 还有PostgreSQL适合吗?
    Bootstrap兼容性居然如此低啊。。
    cool4zbl
        6
    cool4zbl  
    OP
       2014-10-23 16:04:44 +08:00
    @vilison 感谢回复。
    能不能更具体点的呢?
    Mirana
        7
    Mirana  
       2014-10-23 16:41:40 +08:00
    根据你自己的技能,nodejs+mongdb 是最合适的。。
    frankzeng
        8
    frankzeng  
       2014-10-23 16:45:08 +08:00
    你第一次做还是用php+mysql吧,可以参考的东西比较多,别把坑挖太深,不然自己出不来
    jiongjionger
        9
    jiongjionger  
       2014-10-23 16:46:56 +08:00
    就只会HTML+CSS和JS。
    个人感觉Jquery + 扣个模板,在此基础上改改 + PHP+MYSQL是最快的。
    半年时间够你学PHP+MYSQL加上做的时间了。当然PHP你可以换成python或者ruby。MYSQL就别换了,关系型都没玩过就上NOSQL太可怕。那坑太大,而且也没必要。
    cool4zbl
        10
    cool4zbl  
    OP
       2014-10-23 16:48:43 +08:00
    @frankzeng 感谢回复。但是怎么觉得用PHP+MYSQL才是坑呢,因为两者基础均为0...
    cool4zbl
        11
    cool4zbl  
    OP
       2014-10-23 16:52:10 +08:00
    @jiongjionger 感谢回复。
    那我再考虑下MySQL。。
    panlilu
        12
    panlilu  
       2014-10-23 16:53:32 +08:00
    Postgres 挺好的,但是国内感觉可以参考的东西不太多,要去啃英文的文档。
    另外 PHP+MYSQL 不是坑,经过生产环境考验的,上手也很容易;只是现在不够潮而已。
    cool4zbl
        13
    cool4zbl  
    OP
       2014-10-23 17:24:26 +08:00
    @panlilu 额,听说「nosql的架构比较容易实现复杂的文档结构,不用费心去映射成关系数据库结构」,是不是更适应这个在线考试系统的题库呢。
    blueandhack
        14
    blueandhack  
       2014-10-23 17:31:41 +08:00
    NodeJS+MongoDB+Bootstrap+jQuery
    轻松实现
    首先设计前端,然后规划一下如何做题出题,然后设计一下路由,哪些路径用来获取题目,哪些用来提交,最后着手写后端具体功能,用jQuery调取Json数据,Ajax之类的实现提交,无刷新出分,等等。
    很简单,规划好就好写了。
    frankzeng
        15
    frankzeng  
       2014-10-23 18:18:54 +08:00
    @cool4zbl 你别管那些给你推荐高大上的东西,你是做练习,不是耍花枪,你要说你会MongoDB,但不会mysql,这说出去不是笑掉牙,练习就必须从最基础做起。
    royzheng
        16
    royzheng  
       2014-10-23 18:26:12 +08:00
    php+mysql吧 资料最多了 你是要实用可用相对按你实力能在这点时间内做出的话
    或者你用nojs+mysql也是个可以的选择 资料会少点 但好处是你对js也可以练
    你连关系型数据库都不懂 搞什么nosql,有点莫名其妙的
    用jquery ui什么的也能照顾到兼容性 但仅供参考
    Comdex
        17
    Comdex  
       2014-10-23 18:48:55 +08:00
    用golang,哈哈
    cool4zbl
        18
    cool4zbl  
    OP
       2014-10-23 19:31:29 +08:00
    @Comdex 原因呢?
    skyitachi
        19
    skyitachi  
       2014-10-23 19:36:00 +08:00
    既然你想找前端的工作,node+mongodb+jquery+bootstrap,完全可以,而且半年时间肯定够,加油
    cool4zbl
        20
    cool4zbl  
    OP
       2014-10-23 19:36:35 +08:00
    @Mirana
    @blueandhack
    @frankzeng
    @royzheng
    先感谢大家回复。
    cool4zbl
        21
    cool4zbl  
    OP
       2014-10-23 19:39:19 +08:00
    @skyitachi 恩,谢谢。我本来也是考虑到以后还是要找工作,能用现成的知识练练手最好,不要再继续挖坑。
    cool4zbl
        22
    cool4zbl  
    OP
       2014-10-23 19:49:35 +08:00
    @blueandhack 谢谢,听起来还比较可取。
    Node.js要用框架吗?还有兼容性怎么样呢?
    wgdong1001
        23
    wgdong1001  
       2014-10-23 20:05:34 +08:00
    看看ruby on rails ,后端采用这个最迅速
    jox
        24
    jox  
       2014-10-23 20:13:16 +08:00
    lz可千万不要以为.NET和JSP开发出来的应用就一定难看啊,还有半年时间,却要做这种东西,还想做好,我只能说祝你好运了
    cool4zbl
        25
    cool4zbl  
    OP
       2014-10-23 20:26:11 +08:00
    @jox 恩,后来发现是只是使用.NET和JSP的有些人不会产品设计而已。
    想做好很难吗?感觉半年时间挺长的啊。
    jox
        26
    jox  
       2014-10-23 20:38:33 +08:00
    @cool4zbl 反正你试试看吧,我觉得够呛。你也别管什么这个那个的,你不是会点python什么的吗,就用那个吧,省得其他的还得重新学,毕设反正都是对付的,你可千万不要以为你做出来他们就会用啊,这种事情在网络论坛上问不出个所以然来,你要是在做的过程中遇到点啥问题,过来问还行,这样的问题让人怎么回答,你也别想着啥好看啥设计的,能弄出来就不错了。什么数据库框架之类的,你身边就一个懂一点儿的人都没有吗?你既然对这个感兴趣,没有计算机系的朋友吗?如果都没有的话,这就很蛋疼了。python的web框架特么有一大坨,A说这个好,B说那个好,其实都是扯淡的,你随便搜索一下,把每个的教程都看一遍,然后觉得哪个不错就用哪个,然后问问题也别来这里问,去python相关的网站问去,数据库软件也有一些,什么mysql,postgres的,你去看文档,觉得哪个不错就用哪个,最好身边朋友有会的那就最好,看那个朋友会啥你就用啥,这样遇到问题他好帮你。

    你一学电子的,既然对电子不感兴趣,怎么不早点开始学习相关的知识,你现在的状态在我看来就是毛都不懂,还喜欢追新技术,很难
    Comdex
        27
    Comdex  
       2014-10-23 20:50:15 +08:00
    @cool4zbl 开发的web应用跨平台,部署简单,开发和学习效率高
    11
        28
    11  
       2014-10-23 20:52:28 +08:00
    我想知道「考题自动生成」你怎么搞
    cool4zbl
        29
    cool4zbl  
    OP
       2014-10-23 21:02:02 +08:00
    @jox 额。我在其他技术论坛上也是问了的,也正在一边看文档。
    如果能有好建议当然是好的啊。
    谢谢你的提醒。之前是在准备各种出国考试,以为能做学术,但是出了点意外现在出去是不太可能了。只是对这方面的东西自己之前或多或少在自学下,数据库框架什么确实旁边人都不懂,认识的计算机系朋友都不喜欢计算机,要是有那样略大神的朋友,我想我也用不着写这么多字来这问了。
    所以我也觉得我蛮奇葩的。
    是相比于互联网,对电子兴趣不大。
    jox
        30
    jox  
       2014-10-23 21:12:48 +08:00
    lz加油吧,你先花一个星期的时间把该看的文档和相关的基础知识补一下,然后你心里大概就有谱了。要我说你这毕设就对付一下,你努力自学前端技术想找前端开发的工作那不如就多准备那方面的,额,其实前端也是不容易的

    你要实现的这些功能真的不简单,不说其他的,光说自动评分这一项,除非都是选择题,如果有填空的话就够麻烦的了,你怎么判断考生提交的答案是否正确?比如正确答案是ABC,但是A B C,A B C也可以认为是对的,这就设计到字符串处理的问题,字符串处理是很困难的
    qushiba
        31
    qushiba  
       2014-10-23 21:25:23 +08:00
    刚做完我的毕设,跟你这个差不多级别的。我用的jQuery+PHP+MYSQL, 数据交换用的JSON。我觉得没必要搞那么复杂的。另外服务器那边推荐装个Wamp之类的,就足够了,省的折腾。

    这个开发中最难的部分还是JSON的数据处理交换这些事,还有处理字符串的问题。然后放开手大胆去做,时间肯定够的。边学边做,别一上来就先啃大部头,太浪费时间。有问题多上stackflow问
    cool4zbl
        32
    cool4zbl  
    OP
       2014-10-23 22:33:25 +08:00
    @qushiba 谢谢回复。
    Wamp...好吧,之前折腾过MAMP,后来发现还是比较喜欢终端,接触到了Nginx后就忘记它了。
    我也觉得核心部分应该是JSON数据交换这块。
    只是想找到自己顺手又喜欢的框架来做还是需要多看看。
    cool4zbl
        33
    cool4zbl  
    OP
       2014-10-23 22:34:50 +08:00
    @jox 恩,感觉我在挖一个坑两个坑,然后还在决定等下跳哪个坑。。o(╯□╰)o
    那些需求如果不能完美达到还是可以稍微调整的。
    cool4zbl
        34
    cool4zbl  
    OP
       2014-10-23 22:35:08 +08:00
    @11 lz表示现在还不知道。
    lygmqkl
        35
    lygmqkl  
       2014-10-23 22:45:34 +08:00
    jQuery + php + mysql are enough for u, use ajax for request, and use json for data transfer.

    that's all u need, for front-end use bootstrap for css.

    that's all, good luck.
    jox
        36
    jox  
       2014-10-23 22:51:06 +08:00
    原来这个网站的用户还有外国人。。。。。
    cool4zbl
        37
    cool4zbl  
    OP
       2014-10-23 22:55:23 +08:00
    @jox 我也感到挺神奇。。
    qushiba
        38
    qushiba  
       2014-10-23 23:03:00 +08:00
    @cool4zbl 我的毕设就是我给自己挖的坑,当时jQuery这些我还不熟,现学,花了3个月做下来其实没那么的难,就是有时候一些小问题比较抓狂(新人嘛。。。),反正不管是什么方面的,先抓一堆例子,比较下找找灵感,理清思路就好了
    cool4zbl
        39
    cool4zbl  
    OP
       2014-10-23 23:13:58 +08:00
    @qushiba 谢谢。我要学的也还有很多。感觉以后可以多交流。:)
    qushiba
        40
    qushiba  
       2014-10-23 23:18:02 +08:00
    @cool4zbl no problem XD
    jucelin
        41
    jucelin  
       2014-10-24 00:29:57 +08:00 via Android
    我也在写此类系统,但我的是企业内部系统,内部个性化比较明显。目前在线考试部分OK,在线教学还在规划。
    cool4zbl
        42
    cool4zbl  
    OP
       2014-10-24 10:47:06 +08:00
    @jucelin 用的PHP+MYSQL ?
    willwen
        43
    willwen  
       2014-10-24 10:55:05 +08:00 via iPhone
    用你最熟悉的技術,就是最好的。Node.js+Postgres,這兩個都可以問我。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2991 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:38 · PVG 08:38 · LAX 17:38 · JFK 20:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.