第二次结对编程做业

连接

张雨同窗博客连接

宋娟同窗博客连接

GitHub仓库连接1

GitHub仓库连接2

具体分工

刚开始咱们很是迷茫,因此咱们没有很是具体的分工,你们一块儿讨论,作难受了就对换看看……
说实话这样效率不高,可是有人在旁边一块儿的感受和一我的学习是不同的html

PSP表格


PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 80
Estimate 估计这个任务须要多少时间 5 5
Development 开发 1000 1100
Analysis 需求分析 (包括学习新技术) 500 550
Design Spec 生成设计文档 20 30
Design Review 设计复审 15 15
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 15
Design 具体设计 300 350
Coding 具体编码 600 800
Code Review 代码复审 120 180
Test 测试(自我测试,修改代码,提交修改) 180 120
Reporting 报告 30 30
Test Repor 测试报告 100 30
Size Measurement 计算工做量 5 5
Postmortem & Process Improvement Plan 过后总结, 并提出过程改进计划 60 30
合计 2950 3255

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

网络接口的使用

主要是参考python中requests库的post请求

例如调用登陆的接口:前端

conn = http.client.HTTPSConnection("api.shisanshui.rtxux.xyz")
payload = json1_idmm
headers = {'content-type': "application/json"}
conn.request("POST", "/auth/login", payload, headers)
res = conn.getresponse()
data = res.read()

代码组织与内部实现设计

算法的关键与关键实现部分流程图

关键代码解释

##登陆
class logindialog(QDialog):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setWindowTitle('登陆界面')
        self.resize(200, 150)
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint)

        ###### 设置界面控件
        self.frame = QFrame(self)
        self.verticalLayout = QVBoxLayout(self.frame)

        self.lineEdit_account = QLineEdit()
        self.lineEdit_account.setPlaceholderText("请输入帐号")
        self.verticalLayout.addWidget(self.lineEdit_account)

        self.lineEdit_password = QLineEdit()
        self.lineEdit_password.setPlaceholderText("请输入密码")
        self.verticalLayout.addWidget(self.lineEdit_password)

        self.pushButton_enter = QPushButton()
        self.pushButton_enter.setText("肯定")
        self.verticalLayout.addWidget(self.pushButton_enter)

        self.pushButton_quit = QPushButton()
        self.pushButton_quit.setText("取消")
        self.verticalLayout.addWidget(self.pushButton_quit)

        ###### 绑定按钮事件
        self.pushButton_enter.clicked.connect(self.on_pushButton_enter_clicked)
        self.pushButton_quit.clicked.connect(self.accept)


    def on_pushButton_enter_clicked(self):
        yhid = self.lineEdit_account.text()
        yhmm = self.lineEdit_password.text()
        print('123456')
        if yhid and yhmm:
            data1 = {'username': yhid, 'password': yhmm}
            json1_idmm = json.dumps(data1)
            conn = http.client.HTTPSConnection("api.shisanshui.rtxux.xyz")
            payload = json1_idmm
            headers = {'content-type': "application/json"}
            conn.request("POST", "/auth/login", payload, headers)
            res = conn.getresponse()
            data = res.read()
            global text
            text = json.loads(data.decode("utf-8"))
            print(text)
            print(text['status'])
            if text["status"]==0:
                self.accept()
                myksjm.show()
            elif text["status"]==1001:
                print('!用户名已被使用!')
            elif text["status"] == 1002:
                print('!学号已绑定!')
            elif text["status"]==1003:
                print('!教务处认证失败!')
            else:
                print('!w没法登陆!')
                return 0

        else:  # id密码没有输入完整没法登陆!
            print('!没法登陆!')
            self.accept()
            return 0

性能分析与改进

单元测试

Github的代码签入记录

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

  • 问题描述

    一、对前端开发几乎是一无所知,我一开始用pygame后用了pyqt5
    二、不知道如何调用技术助教给的接口,后来看到如何完成python中requests库的post请求的教程,再加上大佬的指导一步一步完成
  • 作过的尝试

    请教大佬,而后听大佬说PyQt5比较好作ui,就经过看b站上面的PyQt5实战速成视频,来完成一些,而后实操中遇到问题就看CSDN上的大佬解答的
  • 是否解决

    基本解决
  • 有何收获

    软工实践真的是一门十分考验学习能力的科目,遇到困难的时候疯狂百度,疯狂问大佬,疯狂看教程,基本学会了PyQt5的使用,以及对接口的请求和调用也多了一层理解

评价个人队友

  • 值得学习的地方:她真的是个人小太阳,每次我一丧,看见她精神满满,还和我说加油的样子,马上满血复活。并且很是认真,我不会的东西几乎都是她在帮我问!
  • 须要改进的地方:两我的都有拖延症,并且好像都定位比较模糊?

学习进度条

第N周 新增代码(行) 累积代码(行) 本周学习耗时(小时) 累积学习耗时(小时) 重要成长
1 0 0 10 10 第一次认识了Axure RP,并学习使用
2 200+ 200+ 8 18 讨论并分工,开始思考算法思路和实现方法
3 200+ 400+ 20 38 学习了Pygame,PyQt5的使用,对UI的设计和实现有了更深的了解
4 100+ 500+ 40 78 继续学习了PyQt5,并对代码进行改进

学习进度条

GIF
python

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息