• 第二次结队编程作业


    一、链接及地址

    江列湫博客链接
    彭佳伟博客链接
    github链接

    二、具体分工

    基本都是我在报我队友大腿,我负责小修小改和写博客。

    三、PSP表格

    PSP2.1 Personal Software Process stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 45 60
    Estimate 估计这个任务需要多少时间 45 60
    Developments 开发 850 1150
    Analysis 需求分析(包括学习新技术) 200 250
    Design Review 设计复审 30 45
    Coding Standard 代码规范(为目前的开发制定或选择合适的规范) 0 0
    Design 具体设计 200 250
    Coding 具体编码 0 0
    Code Review 代码审查 0 0
    Test 测试(自我测试、修改代码、提交修改) 20 20
    Reporting 报告 100 80
    Test Report 测试报告 100 80
    Size Mesurement 计算工作量 30 30
    Postmortem&Process Improvement Plan 时候总结、并提出改进计划 20 40
    合计 1000 1200

    四、解题思路描述与设计实现说明

    使用py 的requests库实现接口使用和tkinter 库实现图形化。

    1、网络接口使用

    (1)注册

    def regiseter(username, password, student_number, student_password):
        url = 'http://www.revth.com:12300/auth/register2'
        form_data = {
            "username": username,
            "password": password,
            "student_number": student_number,
            "student_password": student_password
        }
        headers = {'Content-Type': "application/json"}
        res = requests.post(url=url, headers=headers, data=json.dumps(form_data), verify=False)
        print(res.text)
        data = res.json()
        statu = data['status']
        return statu
    
    

    (2)登录

    def sign_in(username, password):
        global user_token
        global user_id
        url = 'http://api.revth.com/auth/login'
        form_data = {
            "username": username,
            "password": password
        }
        headers = {'Content-Type': "application/json"}
        response = requests.post(url=url, headers=headers, data=json.dumps(form_data), verify=False)
        resp = response.json()
        if resp['status'] == 0:
            data = resp['data']
            user_id = data['user_id']
            user_token = data['token']
        return resp['status']
    

    (3)注销

    def login_out():
        global user_token
        url = 'http://api.revth.com/auth/logout'
        headers = {"X-Auth-Token": user_token}
        r = requests.post(url=url, headers=headers)
        print(r.text)
    

    (4)排行榜

    def history_list(player_id, page):
        global user_token
        url = 'http://api.revth.com/history'
        data = {
            "player_id": player_id,
            "limit": 20,
            "page": page
        }
        headers = {"X-Auth-Token": user_token}
        r = requests.get(url=url, data=data, headers=headers)
        resp = r.json()
        if resp['status'] == 0:
            res = r.json()
            d = res['data']
            return d
        return 1
    

    (5)历史战绩

    def history_detail(battleid):
        global user_token
        url = 'http://api.revth.com/history/'
        url = url+battleid
        headers = {"X-Auth-Token": user_token}
        r = requests.get(url=url, headers=headers)
        thisdetail = r.json()
        if thisdetail['status'] == 0:
            data = thisdetail['data']
            return data
        return 1
    

    2、类图

    3、流程图

    五、关键代码解释

    def regiseter(username, password, student_number, student_password):
        url = 'http://www.revth.com:12300/auth/register2'
        form_data = {
            "username": username,
            "password": password,
            "student_number": student_number,
            "student_password": student_password
        }
        headers = {'Content-Type': "application/json"}
        res = requests.post(url=url, headers=headers, data=json.dumps(form_data), verify=False)
        print(res.text)
        data = res.json()
        statu = data['status']
        return statu
    

    通过python的requests模块中的get和post请求从服务器接口获得和传输数据

    六、性能分析与改进

    (1)性能分析图

    (2)改进思路

    能力所限暂时没有想到,后续会继续改进。

    七、单元测试

    1、单元测试

    (1)receive origin card: #6 $K $8 *8 #Q #A &10 &8 *2 #5 *6 &J $Q
    number of game: 13338
    --------------------------------
    *2 #5 $Q
    $K #Q #A &10 &J
    #6 $8 *8 &8 *6
    (2)receive origin card: *8 *Q *J #3 #Q $A &10 $3 #10 *9 #A *7 $5
    number of game: 13456
    --------------------------------
    &10 #10 $5
    #3 #Q $A $3 #A
    *8 *Q *J *9 *7
    

    2、构造思路

    尽量想了一些特殊的情况

    八、代码签入

    九、遇到的代码模块异常或结对困难及解决方法

    1、遇到的问题

    (1)开始两人都不会前端,以为只要搞好后端就行,前端很好学,但后来发现不知道怎么通过api使用服务器接口。

    2、解决办法

    (1)花了很长时间去网上了解,学习了xtml+css+js但还不是很理解,后来发现py相对简单易学,于是花几天学习py,了解到了py 的requests库实现接口使用和tkinter 库实现图形化。
    (2)询问同学。

    3、是否解决

    4、有何收获

    知道了自主学习的重要性,初步学习了python,css,js等。

    十、评价你的队友

    1、值得学习的地方

    自学能力很强,大部分工作都是由他完成。

    2、需要改进的地方

    我们两个没有进行很好的沟通。

    十一、学习进度条

    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 0 0 5 5 学会了axure的基本操作。
    2 0 0 7 12 了解学习py
    3 450 450 6 18 开始编写ui
    4 600 1050 5 23 基本完成
  • 相关阅读:
    HTTP Header 详解
    面试题----网页/应用访问慢突然变慢,如何定位问题
    PHP实现斐波那契数列
    常见的HTTP返回状态值
    通过实例理解单列索引、多列索引以及最左前缀原则
    Btree索引和Hash索引
    遍历和删除文件夹
    面试题之----禁掉cookie的session使用方案
    面试题之----写个函数来解决多线程同时读写一个文件的问题
    heredoc
  • 原文地址:https://www.cnblogs.com/jiang1436/p/11768331.html
Copyright © 2020-2023  润新知