福大软工1816 · 团队现场编程实战(抽奖系统)

团队项目:抽奖系统开发纪实
本摘要介绍了一个团队项目,目标是开发一个抽奖系统,涵盖了从需求分析到算法设计,再到界面实现的全过程。项目采用C#进行开发,实现了完整的GUI界面,包括设置抽奖事件、规则、关键词等功能,并设计了抽奖算法确保随机性和不可预测性。

使用超时提交版本

备注:须在当前文件夹提供抽奖.txt

  • 组员职责分工(5分)

    GUI编写 淇、跃安

    后台编写 淇、佳炜

    算法探索 泓、松、杰

    专业辅助(打杂) 裕翔、杰

  • github 的提交日志截图(鼓励小粒度提交)(3分)

1478130-20181118220829683-993586170.png

  • 程序运行截图(5分)

1478130-20181118220622917-1900439809.jpg
1478130-20181118220641163-1667447827.jpg
1478130-20181118220702822-2096235666.jpg
1478130-20181118220721638-1392192004.jpg
1478130-20181118220755859-1660067027.jpg

  • 程序运行环境(方便助教进行测试。如果是web服务最好了,如果是桌面程序,建议使用GitHub的"Releases"发布程序包,参考这里,不要出现“在我这里能正常运行啊”的情况。如果助教不能运行,仅靠程序运行截图,以下得分再减50%)

    Windows10(C#)

  • GUI界面(10分)

    1478130-20181118222236124-555113403.jpg

  • 基础功能实现(35分)

    实现完整GUI界面

    设置抽奖事件、文案、规则

    设置参与抽奖关键词,所有发某个关键词的用户可参与

    抽奖活动文案

    抽奖发言时段

    抽奖过滤规则

    抽奖结果公布倒计时

    抽奖人数

    奖品列表

    获奖名单

    导出抽奖结果(抽奖话题、中奖人员、对应奖项)

    抽奖算法 :

    抽奖当时获取系统时间取秒数,以及获取随机数,加入到计算中,通过随机分支至多种不同数学公式进行混淆从而使结果随机性与不可预测性增大,最后取余保证结果位于正确范围内。

    举例如下: Random rd = new Random();
    int d=rd.Next(0,g+1);

            `(d+n*n+sec)%g`
  • 附加功能实现(20分)

    实时倒计时应该挺好看……的吧

  • 鼓励有想法且有用的功能(10分)

    想法很美好,现实很骨感。想实现通知获奖人的功能,但时间有限。

  • 遇到的困难及解决方法(10分)

    杰:

    不会coding只能干着急,幸好队友给力,最开始我们计划后台使用cpp,前台使用c#,最后在合并过程中出现了问题,趁着大家都有空的时间以C#重写了后台,做出一个勉强能用的版本。

    泓:

    遇到的困难及解决方法:简单的算法实现比较简单,但是困难的比较难实现。

    解决方法:上网百度,有了一些想法,可以增强算法复杂度。

    松:

    困难:不同种语言写的代码合并
    解决方法:没解决。

    跃安:

    代码的合并困难,使用c#开发界面是很容易但是对一些组件还是不熟悉,花了不少时间。

  • 马后炮

    如果再来一次重来的机会,那么我一定不会选计算机。

    如果再来一次重来的机会,那么我要多学点东西装会逼。

    如果还有一次重来的机会,那么我一定好好学习代码。

    如果还有一次重来的机会,那么我一定好好退掉这门课。

    如果还有一次重来的机会,那么我一定慎重选课。

    没有如果,没有那么。

    裕翔无。

  • 评估每位组员的贡献比例(如果没有评估,全组平均后,组长得分减 50%)

    淇 25%

    跃安 15%

    杰 12.5%

    佳炜 12.5%

    松 10%

    泓 10%

    裕翔 5%

  • 以下部分计入个人得分:

    • PSP表格(个人独立发布)(1分)
    PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
    Planning计划6060
    · Estimate· 估计这个任务需要多少时间6060
    Development开发200300
    · Analysis· 需求分析 (包括学习新技术)2020
    · Design Spec· 生成设计文档1010
    · Design Review· 设计复审 (和同事审核设计文档)55
    · Coding Standard· 代码规范 (为目前的开发制定合适的规范)1010
    · Design· 具体设计2020
    · Coding· 具体编码75175
    · Code Review· 代码复审6060
    · Test· 测试(自我测试,修改代码,提交修改)2015
    Reporting报告120120
    · Test Report· 测试报告90100
    · Size Measurement· 计算工作量1010
    · Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划2010
    合计380480
    • 学习进度表(个人独立发布)(1分)
    第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
    112012025251熟悉了c++有关vector,map用法 2学习了正则表达式 3学习了状态转换图和有穷自动机
    2101301035看了有关软件的使用,原型模型以及构建之法
    310023027621. 初级爬虫徽章(1/1)2. 通宵徽章(1/100)3. Python入门徽章(1/1)
    420043030921. 绘制各种UML图 2. Prototype制作3. python及cpp进一步复习使用
    5140570241161. 制作视频动画 2. Java预习
    6200770301461. 学习c#,python

转载于:https://www.cnblogs.com/mukyocheung/p/9979902.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值